mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-05-13 06:34:25 -04:00

Some checks are pending
Build Debian package / build (push) Waiting to run
Build Docker image / buildx (push) Waiting to run
Build Homebrew package / build (push) Waiting to run
Run linters / lint (push) Waiting to run
Build Pip package / build (push) Waiting to run
Run tests / python_tests (ubuntu-22.04, 3.11) (push) Waiting to run
Run tests / docker_tests (push) Waiting to run
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
__package__ = 'plugins_pkg.npm'
|
|
|
|
|
|
from typing import List
|
|
|
|
from pydantic import InstanceOf
|
|
|
|
from pydantic_pkgr import BinProvider, BinName, BinaryOverrides
|
|
|
|
|
|
from abx.archivebox.base_binary import BaseBinary, env, apt, brew
|
|
|
|
|
|
class NodeBinary(BaseBinary):
|
|
name: BinName = 'node'
|
|
binproviders_supported: List[InstanceOf[BinProvider]] = [apt, brew, env]
|
|
|
|
overrides: BinaryOverrides = {
|
|
apt.name: {'packages': ['nodejs']},
|
|
}
|
|
|
|
|
|
NODE_BINARY = NodeBinary()
|
|
|
|
|
|
class NpmBinary(BaseBinary):
|
|
name: BinName = 'npm'
|
|
binproviders_supported: List[InstanceOf[BinProvider]] = [apt, brew, env]
|
|
|
|
overrides: BinaryOverrides = {
|
|
apt.name: {'packages': ['npm']}, # already installed when nodejs is installed
|
|
brew.name: {'install': lambda: None}, # already installed when nodejs is installed
|
|
}
|
|
|
|
NPM_BINARY = NpmBinary()
|
|
|
|
|
|
class NpxBinary(BaseBinary):
|
|
name: BinName = 'npx'
|
|
binproviders_supported: List[InstanceOf[BinProvider]] = [apt, brew, env]
|
|
|
|
overrides: BinaryOverrides = {
|
|
apt.name: {'install': lambda: None}, # already installed when nodejs is installed
|
|
brew.name: {'install': lambda: None}, # already installed when nodejs is installed
|
|
}
|
|
|
|
NPX_BINARY = NpxBinary()
|
|
|