aboutsummaryrefslogtreecommitdiffstats
path: root/build/plugins/lib/nots/package_manager/base/package_json.py
diff options
context:
space:
mode:
authorkhoden <khoden@yandex-team.com>2024-12-11 20:01:09 +0300
committerVitaly Isaev <vitalyisaev@ydb.tech>2024-12-12 10:12:07 +0000
commit94e999485e5ffeb7e6bd95a6ee0c9e796c735ca5 (patch)
tree41a8d518cf3b463ccd0e9e689cdd6723071e5a28 /build/plugins/lib/nots/package_manager/base/package_json.py
parent6f7aec7116e07787d02f8fd5d96b8e98dfa607ca (diff)
downloadydb-94e999485e5ffeb7e6bd95a6ee0c9e796c735ca5.tar.gz
nots/*: Поддержка пиров из pnpm.overrides (Experiment)
Конфигурирование, сборка, последующая работа показывает, что все работает, как задумано (в этом конкретном кейсе точно). ``` ~/arcadia/devtools/dummy_arcadia/typescript/pnpm_overrides -nots-support-pnpm-overrides took 3s at 15:29:04 f ❯ notsl build -- -n Building devtools/dummy_arcadia/typescript/pnpm_overrides… Warn[-WUserWarn]: in $S/devtools/frontend_build_platform/nots/builder/ya.make: Using branch nots/builder Ok ~/arcadia/devtools/dummy_arcadia/typescript/pnpm_overrides -nots-support-pnpm-overrides took 6s at 15:30:05 f ❯ notsl start > @yandex-int/pnpm-overrides-demo@ start /Users/khoden/arcadia/devtools/dummy_arcadia/typescript/pnpm_overrides > ya tool nots node build/index.js from fake_lodash Previous line should be 'from fake_lodash' ``` commit_hash:650c69f1fe38483cda5922ecd8cd813fffdf5bcd
Diffstat (limited to 'build/plugins/lib/nots/package_manager/base/package_json.py')
-rw-r--r--build/plugins/lib/nots/package_manager/base/package_json.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/build/plugins/lib/nots/package_manager/base/package_json.py b/build/plugins/lib/nots/package_manager/base/package_json.py
index 4fcb22e3ca..3840657992 100644
--- a/build/plugins/lib/nots/package_manager/base/package_json.py
+++ b/build/plugins/lib/nots/package_manager/base/package_json.py
@@ -1,9 +1,9 @@
import json
+import logging
import os
from six import iteritems
-import logging
from .utils import build_pj_path
@@ -19,7 +19,8 @@ class PackageJson(object):
DEV_DEP_KEY = "devDependencies"
PEER_DEP_KEY = "peerDependencies"
OPT_DEP_KEY = "optionalDependencies"
- DEP_KEYS = (DEP_KEY, DEV_DEP_KEY, PEER_DEP_KEY, OPT_DEP_KEY)
+ PNPM_OVERRIDES_KEY = "pnpm.overrides"
+ DEP_KEYS = (DEP_KEY, DEV_DEP_KEY, PEER_DEP_KEY, OPT_DEP_KEY, PNPM_OVERRIDES_KEY)
WORKSPACE_SCHEMA = "workspace:"
@@ -93,12 +94,16 @@ class PackageJson(object):
def dependencies_iter(self):
for key in self.DEP_KEYS:
- deps = self.data.get(key)
+ if key == self.PNPM_OVERRIDES_KEY:
+ deps = self.data.get("pnpm", {}).get("overrides", {})
+ else:
+ deps = self.data.get(key)
+
if not deps:
continue
for name, spec in iteritems(deps):
- yield (name, spec)
+ yield name, spec
def has_dependencies(self):
first_dep = next(self.dependencies_iter(), None)