@hyperfrontend/builder 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +63 -0
- package/FUNDING.md +141 -0
- package/LICENSE.md +21 -0
- package/README.md +162 -0
- package/SECURITY.md +82 -0
- package/THIRD_PARTY_LICENSES.md +13 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs.js +7 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.cjs.js +13 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.esm.js +8 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/date/index.cjs.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/date/index.esm.js +4 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/encoding/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/encoding/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/function/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/function/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.cjs.js +7 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.cjs.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/math/index.cjs.js +7 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/math/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/messaging/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/messaging/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/number/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/number/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs.js +13 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.esm.js +8 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/promise/index.cjs.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/promise/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/reflect/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/reflect/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/regexp/index.cjs.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/regexp/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/string/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/string/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/symbol/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/symbol/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/timers/index.cjs.js +13 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/timers/index.esm.js +10 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/typed-arrays/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/typed-arrays/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/url/index.cjs.js +6 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/url/index.esm.js +5 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/weak-map/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/weak-map/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/weak-set/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/weak-set/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/websocket/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/websocket/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/locked/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/locked/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/locked-prop-descriptors/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/locked-prop-descriptors/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/locked-props/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/immutable-api-utils/locked-props/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/logging/index.cjs.js +191 -0
- package/_dependencies/@hyperfrontend/logging/index.esm.js +186 -0
- package/_dependencies/@hyperfrontend/project-scope/cli/index.cjs.js +196 -0
- package/_dependencies/@hyperfrontend/project-scope/cli/index.esm.js +196 -0
- package/_dependencies/@hyperfrontend/project-scope/core/encoding/index.cjs.js +82 -0
- package/_dependencies/@hyperfrontend/project-scope/core/encoding/index.esm.js +82 -0
- package/_dependencies/@hyperfrontend/project-scope/core/fs/index.cjs.js +154 -0
- package/_dependencies/@hyperfrontend/project-scope/core/fs/index.esm.js +149 -0
- package/_dependencies/@hyperfrontend/project-scope/core/index.cjs.js +459 -0
- package/_dependencies/@hyperfrontend/project-scope/core/index.esm.js +440 -0
- package/_dependencies/@hyperfrontend/project-scope/core/logger/index.cjs.js +84 -0
- package/_dependencies/@hyperfrontend/project-scope/core/logger/index.esm.js +80 -0
- package/_dependencies/@hyperfrontend/project-scope/core/path/index.cjs.js +26 -0
- package/_dependencies/@hyperfrontend/project-scope/core/path/index.esm.js +22 -0
- package/_dependencies/@hyperfrontend/project-scope/core/platform/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/project-scope/core/platform/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/dependencies/index.cjs.js +90 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/dependencies/index.esm.js +90 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/entry-points/index.cjs.js +174 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/entry-points/index.esm.js +174 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/framework/index.cjs.js +174 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/framework/index.esm.js +172 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/index.cjs.js +184 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/index.esm.js +184 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/project-type/index.cjs.js +172 -0
- package/_dependencies/@hyperfrontend/project-scope/heuristics/project-type/index.esm.js +172 -0
- package/_dependencies/@hyperfrontend/project-scope/index.cjs.js +222 -0
- package/_dependencies/@hyperfrontend/project-scope/index.esm.js +219 -0
- package/_dependencies/@hyperfrontend/project-scope/models/index.cjs.js +2 -0
- package/_dependencies/@hyperfrontend/project-scope/models/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/project-scope/nx/index.cjs.js +94 -0
- package/_dependencies/@hyperfrontend/project-scope/nx/index.esm.js +94 -0
- package/_dependencies/@hyperfrontend/project-scope/project/config/index.cjs.js +172 -0
- package/_dependencies/@hyperfrontend/project-scope/project/config/index.esm.js +172 -0
- package/_dependencies/@hyperfrontend/project-scope/project/index.cjs.js +176 -0
- package/_dependencies/@hyperfrontend/project-scope/project/index.esm.js +176 -0
- package/_dependencies/@hyperfrontend/project-scope/project/package/index.cjs.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/project/package/index.esm.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/project/root/index.cjs.js +154 -0
- package/_dependencies/@hyperfrontend/project-scope/project/root/index.esm.js +153 -0
- package/_dependencies/@hyperfrontend/project-scope/project/traversal/index.cjs.js +91 -0
- package/_dependencies/@hyperfrontend/project-scope/project/traversal/index.esm.js +89 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/backend/index.cjs.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/backend/index.esm.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/build/index.cjs.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/build/index.esm.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/frontend/index.cjs.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/frontend/index.esm.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/index.cjs.js +171 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/index.esm.js +169 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/legacy/index.cjs.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/legacy/index.esm.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/linting/index.cjs.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/linting/index.esm.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/monorepo/index.cjs.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/monorepo/index.esm.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/testing/index.cjs.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/testing/index.esm.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/types/index.cjs.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/tech/types/index.esm.js +88 -0
- package/_dependencies/@hyperfrontend/project-scope/vfs/index.cjs.js +102 -0
- package/_dependencies/@hyperfrontend/project-scope/vfs/index.esm.js +102 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/compare/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/compare/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/models/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/models/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/operations/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/operations/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/parse/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/parse/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/serialize/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/changelog/serialize/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/commits/author/index.cjs.js +2403 -0
- package/_dependencies/@hyperfrontend/versioning/commits/author/index.esm.js +2381 -0
- package/_dependencies/@hyperfrontend/versioning/commits/classify/index.cjs.js +38 -0
- package/_dependencies/@hyperfrontend/versioning/commits/classify/index.esm.js +30 -0
- package/_dependencies/@hyperfrontend/versioning/commits/format/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/commits/format/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/commits/index.cjs.js +2457 -0
- package/_dependencies/@hyperfrontend/versioning/commits/index.esm.js +2407 -0
- package/_dependencies/@hyperfrontend/versioning/commits/models/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/commits/models/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/commits/parse/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/commits/parse/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/commits/validate/index.cjs.js +27 -0
- package/_dependencies/@hyperfrontend/versioning/commits/validate/index.esm.js +25 -0
- package/_dependencies/@hyperfrontend/versioning/flow/executor/index.cjs.js +36 -0
- package/_dependencies/@hyperfrontend/versioning/flow/executor/index.esm.js +36 -0
- package/_dependencies/@hyperfrontend/versioning/flow/index.cjs.js +51 -0
- package/_dependencies/@hyperfrontend/versioning/flow/index.esm.js +51 -0
- package/_dependencies/@hyperfrontend/versioning/flow/models/index.cjs.js +30 -0
- package/_dependencies/@hyperfrontend/versioning/flow/models/index.esm.js +28 -0
- package/_dependencies/@hyperfrontend/versioning/flow/presets/index.cjs.js +47 -0
- package/_dependencies/@hyperfrontend/versioning/flow/presets/index.esm.js +45 -0
- package/_dependencies/@hyperfrontend/versioning/flow/steps/index.cjs.js +47 -0
- package/_dependencies/@hyperfrontend/versioning/flow/steps/index.esm.js +45 -0
- package/_dependencies/@hyperfrontend/versioning/git/index.cjs.js +8 -0
- package/_dependencies/@hyperfrontend/versioning/git/index.esm.js +9 -0
- package/_dependencies/@hyperfrontend/versioning/git/models/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/git/models/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/git/operations/index.cjs.js +3 -0
- package/_dependencies/@hyperfrontend/versioning/git/operations/index.esm.js +3 -0
- package/_dependencies/@hyperfrontend/versioning/index.cjs.js +2481 -0
- package/_dependencies/@hyperfrontend/versioning/index.esm.js +2423 -0
- package/_dependencies/@hyperfrontend/versioning/registry/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/registry/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/registry/models/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/registry/models/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/registry/npm/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/registry/npm/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/repository/index.cjs.js +18 -0
- package/_dependencies/@hyperfrontend/versioning/repository/index.esm.js +17 -0
- package/_dependencies/@hyperfrontend/versioning/repository/models/index.cjs.js +11 -0
- package/_dependencies/@hyperfrontend/versioning/repository/models/index.esm.js +10 -0
- package/_dependencies/@hyperfrontend/versioning/repository/parse/index.cjs.js +184 -0
- package/_dependencies/@hyperfrontend/versioning/repository/parse/index.esm.js +185 -0
- package/_dependencies/@hyperfrontend/versioning/repository/url/index.cjs.js +10 -0
- package/_dependencies/@hyperfrontend/versioning/repository/url/index.esm.js +8 -0
- package/_dependencies/@hyperfrontend/versioning/semver/compare/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/compare/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/format/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/format/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/increment/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/increment/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/models/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/models/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/parse/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/semver/parse/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/workspace/discovery/index.cjs.js +29 -0
- package/_dependencies/@hyperfrontend/versioning/workspace/discovery/index.esm.js +29 -0
- package/_dependencies/@hyperfrontend/versioning/workspace/index.cjs.js +29 -0
- package/_dependencies/@hyperfrontend/versioning/workspace/index.esm.js +29 -0
- package/_dependencies/@hyperfrontend/versioning/workspace/models/index.cjs.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/workspace/models/index.esm.js +1 -0
- package/_dependencies/@hyperfrontend/versioning/workspace/operations/index.cjs.js +2 -0
- package/_dependencies/@hyperfrontend/versioning/workspace/operations/index.esm.js +2 -0
- package/_dependencies/@rollup/plugin-commonjs/index.cjs.js +6629 -0
- package/_dependencies/@rollup/plugin-commonjs/index.esm.js +6608 -0
- package/_dependencies/@rollup/plugin-json/index.cjs.js +2324 -0
- package/_dependencies/@rollup/plugin-json/index.esm.js +2322 -0
- package/_dependencies/@rollup/plugin-node-resolve/index.cjs.js +5430 -0
- package/_dependencies/@rollup/plugin-node-resolve/index.esm.js +5424 -0
- package/_dependencies/@rollup/plugin-terser/index.cjs.js +33220 -0
- package/_dependencies/@rollup/plugin-terser/index.esm.js +33217 -0
- package/_dependencies/@rollup/plugin-typescript/index.cjs.js +4840 -0
- package/_dependencies/@rollup/plugin-typescript/index.esm.js +4819 -0
- package/_dependencies/postject/index.cjs.js +5140 -0
- package/_dependencies/postject/index.esm.js +5131 -0
- package/_dependencies/rollup/index.cjs.js +24668 -0
- package/_dependencies/rollup/index.d.ts +1921 -0
- package/_dependencies/rollup/index.esm.js +24652 -0
- package/_dependencies/rollup-plugin-dts/index.cjs.js +6547 -0
- package/_dependencies/rollup-plugin-dts/index.esm.js +6537 -0
- package/_shared/bin/format/index.cjs.js +7 -0
- package/_shared/bin/format/index.esm.js +5 -0
- package/_shared/bin/native/codesign/index.cjs.js +30 -0
- package/_shared/bin/native/codesign/index.esm.js +26 -0
- package/_shared/bin/native/host-binary/index.cjs.js +13 -0
- package/_shared/bin/native/host-binary/index.esm.js +11 -0
- package/_shared/bin/native/inject/index.cjs.js +25 -0
- package/_shared/bin/native/inject/index.esm.js +18 -0
- package/_shared/bin/native/platform-check/index.cjs.js +13 -0
- package/_shared/bin/native/platform-check/index.esm.js +10 -0
- package/_shared/bin/native/sea-blob/index.cjs.js +21 -0
- package/_shared/bin/native/sea-blob/index.esm.js +19 -0
- package/_shared/bin/native/sea-config/index.cjs.js +9 -0
- package/_shared/bin/native/sea-config/index.esm.js +7 -0
- package/_shared/bin/script/bootstrap-footer/index.cjs.js +22 -0
- package/_shared/bin/script/bootstrap-footer/index.esm.js +19 -0
- package/_shared/bundle/declarations/flatten-paths/index.cjs.js +34 -0
- package/_shared/bundle/declarations/flatten-paths/index.esm.js +29 -0
- package/_shared/bundle/dependencies/collect-workspace-deps/index.cjs.js +24 -0
- package/_shared/bundle/dependencies/collect-workspace-deps/index.esm.js +21 -0
- package/_shared/bundle/dependencies/externalize-plugin/index.cjs.js +93 -0
- package/_shared/bundle/dependencies/externalize-plugin/index.esm.js +86 -0
- package/_shared/bundle/dependencies/prune/ast-utils/index.esm.js +31 -0
- package/_shared/bundle/dependencies/prune/namespace-usage/index.esm.js +208 -0
- package/_shared/bundle/dependencies/prune/specifiers/index.cjs.js +62 -0
- package/_shared/bundle/dependencies/prune/specifiers/index.esm.js +53 -0
- package/_shared/bundle/entries/discover-entries/index.cjs.js +87 -0
- package/_shared/bundle/entries/discover-entries/index.esm.js +80 -0
- package/_shared/bundle/entries/resolve-entries/index.cjs.js +38 -0
- package/_shared/bundle/entries/resolve-entries/index.esm.js +34 -0
- package/_shared/bundle/externals/validate-globals/index.cjs.js +14 -0
- package/_shared/bundle/externals/validate-globals/index.esm.js +12 -0
- package/_shared/bundle/fs/deps-root/index.cjs.js +7 -0
- package/_shared/bundle/fs/deps-root/index.esm.js +5 -0
- package/_shared/bundle/fs/empty-dirs/index.cjs.js +23 -0
- package/_shared/bundle/fs/empty-dirs/index.esm.js +21 -0
- package/_shared/bundle/fs/entry-dir/index.cjs.js +7 -0
- package/_shared/bundle/fs/entry-dir/index.esm.js +5 -0
- package/_shared/bundle/fs/posix-path/index.cjs.js +9 -0
- package/_shared/bundle/fs/posix-path/index.esm.js +4 -0
- package/_shared/bundle/fs/under-dir/index.cjs.js +5 -0
- package/_shared/bundle/fs/under-dir/index.esm.js +3 -0
- package/_shared/memory/recover/index.cjs.js +15 -0
- package/_shared/memory/recover/index.esm.js +14 -0
- package/_shared/package/finalize-files/index.cjs.js +16 -0
- package/_shared/package/finalize-files/index.esm.js +15 -0
- package/_shared/package/json/cdn-paths/index.cjs.js +13 -0
- package/_shared/package/json/cdn-paths/index.esm.js +11 -0
- package/_shared/package/json/filter-deps/index.cjs.js +37 -0
- package/_shared/package/json/filter-deps/index.esm.js +34 -0
- package/_shared/package/json/generate-exports/index.cjs.js +56 -0
- package/_shared/package/json/generate-exports/index.esm.js +52 -0
- package/_shared/package/json/inherit-fields/index.cjs.js +19 -0
- package/_shared/package/json/inherit-fields/index.esm.js +17 -0
- package/_shared/package/json/read-package-json/index.cjs.js +7 -0
- package/_shared/package/json/read-package-json/index.esm.js +6 -0
- package/_shared/package/json/reflect-files-allowlist/index.cjs.js +39 -0
- package/_shared/package/json/reflect-files-allowlist/index.esm.js +33 -0
- package/_shared/package/json/synthesize/index.cjs.js +72 -0
- package/_shared/package/json/synthesize/index.esm.js +68 -0
- package/_shared/package/json/write/index.cjs.js +9 -0
- package/_shared/package/json/write/index.esm.js +8 -0
- package/_shared/package/licenses/generate-content/index.cjs.js +17 -0
- package/_shared/package/licenses/generate-content/index.esm.js +17 -0
- package/_shared/package/licenses/license-url/index.esm.js +29 -0
- package/_shared/package/licenses/write/index.cjs.js +9 -0
- package/_shared/package/licenses/write/index.esm.js +8 -0
- package/_shared/presets/by-names/index.cjs.js +10 -0
- package/_shared/presets/by-names/index.esm.js +8 -0
- package/_shared/presets/by-prefix/index.cjs.js +7 -0
- package/_shared/presets/by-prefix/index.esm.js +5 -0
- package/bin/format.d.ts +18 -0
- package/bin/format.d.ts.map +1 -0
- package/bin/hf-build.d.ts +81 -0
- package/bin/hf-build.d.ts.map +1 -0
- package/bin/hf-build.js +208533 -0
- package/bin/hf-build.linux-x64 +0 -0
- package/bin/index.cjs.js +548 -0
- package/bin/index.d.ts +26 -0
- package/bin/index.d.ts.map +1 -0
- package/bin/index.esm.js +546 -0
- package/bin/native/build-native.d.ts +44 -0
- package/bin/native/build-native.d.ts.map +1 -0
- package/bin/native/codesign.d.ts +65 -0
- package/bin/native/codesign.d.ts.map +1 -0
- package/bin/native/dispatch.d.ts +75 -0
- package/bin/native/dispatch.d.ts.map +1 -0
- package/bin/native/host-binary.d.ts +36 -0
- package/bin/native/host-binary.d.ts.map +1 -0
- package/bin/native/index.cjs.js +264 -0
- package/bin/native/index.d.ts +407 -0
- package/bin/native/index.d.ts.map +1 -0
- package/bin/native/index.esm.js +249 -0
- package/bin/native/inject.d.ts +61 -0
- package/bin/native/inject.d.ts.map +1 -0
- package/bin/native/platform-check.d.ts +39 -0
- package/bin/native/platform-check.d.ts.map +1 -0
- package/bin/native/sea-blob.d.ts +40 -0
- package/bin/native/sea-blob.d.ts.map +1 -0
- package/bin/native/sea-config.d.ts +45 -0
- package/bin/native/sea-config.d.ts.map +1 -0
- package/bin/native/worker/index.cjs.js +88 -0
- package/bin/native/worker/index.d.ts +68 -0
- package/bin/native/worker/index.d.ts.map +1 -0
- package/bin/native/worker/index.esm.js +86 -0
- package/bin/native/worker/job-runner.d.ts +29 -0
- package/bin/native/worker/job-runner.d.ts.map +1 -0
- package/bin/native/worker/types.d.ts +38 -0
- package/bin/native/worker/types.d.ts.map +1 -0
- package/bin/run-bin-phase.d.ts +24 -0
- package/bin/run-bin-phase.d.ts.map +1 -0
- package/bin/script/bootstrap-footer.d.ts +41 -0
- package/bin/script/bootstrap-footer.d.ts.map +1 -0
- package/bin/script/build-bin.d.ts +36 -0
- package/bin/script/build-bin.d.ts.map +1 -0
- package/bin/script/index.cjs.js +265 -0
- package/bin/script/index.d.ts +79 -0
- package/bin/script/index.d.ts.map +1 -0
- package/bin/script/index.esm.js +262 -0
- package/build.d.ts +56 -0
- package/build.d.ts.map +1 -0
- package/bundle/declarations/dts-per-entry.d.ts +27 -0
- package/bundle/declarations/dts-per-entry.d.ts.map +1 -0
- package/bundle/declarations/dts-pre-pass.d.ts +18 -0
- package/bundle/declarations/dts-pre-pass.d.ts.map +1 -0
- package/bundle/declarations/flatten-paths.d.ts +28 -0
- package/bundle/declarations/flatten-paths.d.ts.map +1 -0
- package/bundle/declarations/generate-declarations.d.ts +33 -0
- package/bundle/declarations/generate-declarations.d.ts.map +1 -0
- package/bundle/declarations/index.cjs.js +868 -0
- package/bundle/declarations/index.d.ts +262 -0
- package/bundle/declarations/index.d.ts.map +1 -0
- package/bundle/declarations/index.esm.js +857 -0
- package/bundle/declarations/prune-orphan-dts.d.ts +33 -0
- package/bundle/declarations/prune-orphan-dts.d.ts.map +1 -0
- package/bundle/declarations/sibling-resolver.d.ts +125 -0
- package/bundle/declarations/sibling-resolver.d.ts.map +1 -0
- package/bundle/dedupe/attribute-modules.d.ts +178 -0
- package/bundle/dedupe/attribute-modules.d.ts.map +1 -0
- package/bundle/dedupe/extract-chunk.d.ts +103 -0
- package/bundle/dedupe/extract-chunk.d.ts.map +1 -0
- package/bundle/dedupe/hoist-shared.d.ts +37 -0
- package/bundle/dedupe/hoist-shared.d.ts.map +1 -0
- package/bundle/dedupe/index.cjs.js +818 -0
- package/bundle/dedupe/index.d.ts +400 -0
- package/bundle/dedupe/index.d.ts.map +1 -0
- package/bundle/dedupe/index.esm.js +766 -0
- package/bundle/dedupe/plan-hoists.d.ts +46 -0
- package/bundle/dedupe/plan-hoists.d.ts.map +1 -0
- package/bundle/dedupe/rewrite-entry.d.ts +39 -0
- package/bundle/dedupe/rewrite-entry.d.ts.map +1 -0
- package/bundle/dependencies/collect-workspace-deps.d.ts +34 -0
- package/bundle/dependencies/collect-workspace-deps.d.ts.map +1 -0
- package/bundle/dependencies/externalize-plugin.d.ts +100 -0
- package/bundle/dependencies/externalize-plugin.d.ts.map +1 -0
- package/bundle/dependencies/index.cjs.js +964 -0
- package/bundle/dependencies/index.d.ts +388 -0
- package/bundle/dependencies/index.d.ts.map +1 -0
- package/bundle/dependencies/index.esm.js +947 -0
- package/bundle/dependencies/pre-pass.d.ts +154 -0
- package/bundle/dependencies/pre-pass.d.ts.map +1 -0
- package/bundle/dependencies/prune/ast-utils.d.ts +121 -0
- package/bundle/dependencies/prune/ast-utils.d.ts.map +1 -0
- package/bundle/dependencies/prune/chunk-graph.d.ts +175 -0
- package/bundle/dependencies/prune/chunk-graph.d.ts.map +1 -0
- package/bundle/dependencies/prune/dead-export-pass.d.ts +32 -0
- package/bundle/dependencies/prune/dead-export-pass.d.ts.map +1 -0
- package/bundle/dependencies/prune/dead-exports.d.ts +36 -0
- package/bundle/dependencies/prune/dead-exports.d.ts.map +1 -0
- package/bundle/dependencies/prune/destructure-requires-pass.d.ts +31 -0
- package/bundle/dependencies/prune/destructure-requires-pass.d.ts.map +1 -0
- package/bundle/dependencies/prune/destructure-requires.d.ts +42 -0
- package/bundle/dependencies/prune/destructure-requires.d.ts.map +1 -0
- package/bundle/dependencies/prune/edits.d.ts +30 -0
- package/bundle/dependencies/prune/edits.d.ts.map +1 -0
- package/bundle/dependencies/prune/namespace-usage.d.ts +104 -0
- package/bundle/dependencies/prune/namespace-usage.d.ts.map +1 -0
- package/bundle/dependencies/prune/orphan-chunks.d.ts +69 -0
- package/bundle/dependencies/prune/orphan-chunks.d.ts.map +1 -0
- package/bundle/dependencies/prune/property-strip-pass.d.ts +38 -0
- package/bundle/dependencies/prune/property-strip-pass.d.ts.map +1 -0
- package/bundle/dependencies/prune/property-strip.d.ts +69 -0
- package/bundle/dependencies/prune/property-strip.d.ts.map +1 -0
- package/bundle/dependencies/prune/prune-dependencies.d.ts +52 -0
- package/bundle/dependencies/prune/prune-dependencies.d.ts.map +1 -0
- package/bundle/dependencies/prune/reachability.d.ts +36 -0
- package/bundle/dependencies/prune/reachability.d.ts.map +1 -0
- package/bundle/dependencies/prune/specifiers.d.ts +39 -0
- package/bundle/dependencies/prune/specifiers.d.ts.map +1 -0
- package/bundle/dependencies/prune/strip-comments.d.ts +47 -0
- package/bundle/dependencies/prune/strip-comments.d.ts.map +1 -0
- package/bundle/dependencies/prune/used-exports.d.ts +32 -0
- package/bundle/dependencies/prune/used-exports.d.ts.map +1 -0
- package/bundle/dependencies/resolve-bundled-deps.d.ts +37 -0
- package/bundle/dependencies/resolve-bundled-deps.d.ts.map +1 -0
- package/bundle/dependencies/resolve-dep-entry.d.ts +38 -0
- package/bundle/dependencies/resolve-dep-entry.d.ts.map +1 -0
- package/bundle/dependencies/resolve-workspace-bundled-deps.d.ts +96 -0
- package/bundle/dependencies/resolve-workspace-bundled-deps.d.ts.map +1 -0
- package/bundle/dependencies/worker/index.cjs.js +524 -0
- package/bundle/dependencies/worker/index.d.ts +102 -0
- package/bundle/dependencies/worker/index.d.ts.map +1 -0
- package/bundle/dependencies/worker/index.esm.js +515 -0
- package/bundle/dependencies/worker/job-runner.d.ts +115 -0
- package/bundle/dependencies/worker/job-runner.d.ts.map +1 -0
- package/bundle/entries/by-platform.d.ts +27 -0
- package/bundle/entries/by-platform.d.ts.map +1 -0
- package/bundle/entries/discover-entries.d.ts +24 -0
- package/bundle/entries/discover-entries.d.ts.map +1 -0
- package/bundle/entries/index.cjs.js +38 -0
- package/bundle/entries/index.d.ts +70 -0
- package/bundle/entries/index.d.ts.map +1 -0
- package/bundle/entries/index.esm.js +33 -0
- package/bundle/entries/resolve-entries.d.ts +19 -0
- package/bundle/entries/resolve-entries.d.ts.map +1 -0
- package/bundle/externals/index.cjs.js +54 -0
- package/bundle/externals/index.d.ts +74 -0
- package/bundle/externals/index.d.ts.map +1 -0
- package/bundle/externals/index.esm.js +51 -0
- package/bundle/externals/resolve-externals.d.ts +52 -0
- package/bundle/externals/resolve-externals.d.ts.map +1 -0
- package/bundle/externals/validate-globals.d.ts +19 -0
- package/bundle/externals/validate-globals.d.ts.map +1 -0
- package/bundle/fs/deps-root.d.ts +17 -0
- package/bundle/fs/deps-root.d.ts.map +1 -0
- package/bundle/fs/empty-dirs.d.ts +18 -0
- package/bundle/fs/empty-dirs.d.ts.map +1 -0
- package/bundle/fs/entry-dir.d.ts +21 -0
- package/bundle/fs/entry-dir.d.ts.map +1 -0
- package/bundle/fs/posix-path.d.ts +30 -0
- package/bundle/fs/posix-path.d.ts.map +1 -0
- package/bundle/fs/under-dir.d.ts +19 -0
- package/bundle/fs/under-dir.d.ts.map +1 -0
- package/bundle/index.cjs.js +4046 -0
- package/bundle/index.d.ts +25 -0
- package/bundle/index.d.ts.map +1 -0
- package/bundle/index.esm.js +3689 -0
- package/bundle/rollup/descriptor.d.ts +99 -0
- package/bundle/rollup/descriptor.d.ts.map +1 -0
- package/bundle/rollup/dispatch.d.ts +72 -0
- package/bundle/rollup/dispatch.d.ts.map +1 -0
- package/bundle/rollup/index.cjs.js +715 -0
- package/bundle/rollup/index.d.ts +174 -0
- package/bundle/rollup/index.d.ts.map +1 -0
- package/bundle/rollup/index.esm.js +698 -0
- package/bundle/rollup/worker/index.cjs.js +290 -0
- package/bundle/rollup/worker/index.d.ts +131 -0
- package/bundle/rollup/worker/index.d.ts.map +1 -0
- package/bundle/rollup/worker/index.esm.js +280 -0
- package/bundle/rollup/worker/job-runner.d.ts +18 -0
- package/bundle/rollup/worker/job-runner.d.ts.map +1 -0
- package/bundle/rollup/worker/types.d.ts +111 -0
- package/bundle/rollup/worker/types.d.ts.map +1 -0
- package/bundle/run-bundle-phase.d.ts +23 -0
- package/bundle/run-bundle-phase.d.ts.map +1 -0
- package/clean-output.d.ts +26 -0
- package/clean-output.d.ts.map +1 -0
- package/index.cjs.js +5317 -0
- package/index.d.ts +64 -0
- package/index.d.ts.map +1 -0
- package/index.esm.js +4910 -0
- package/memory/index.cjs.js +101 -0
- package/memory/index.d.ts +81 -0
- package/memory/index.d.ts.map +1 -0
- package/memory/index.esm.js +98 -0
- package/memory/monitor.d.ts +59 -0
- package/memory/monitor.d.ts.map +1 -0
- package/memory/recover.d.ts +19 -0
- package/memory/recover.d.ts.map +1 -0
- package/models/build-config.d.ts +266 -0
- package/models/build-config.d.ts.map +1 -0
- package/models/build-context.d.ts +68 -0
- package/models/build-context.d.ts.map +1 -0
- package/models/build-result.d.ts +43 -0
- package/models/build-result.d.ts.map +1 -0
- package/models/entry-point.d.ts +45 -0
- package/models/entry-point.d.ts.map +1 -0
- package/models/format-output.d.ts +34 -0
- package/models/format-output.d.ts.map +1 -0
- package/models/index.cjs.js +2 -0
- package/models/index.d.ts +581 -0
- package/models/index.d.ts.map +1 -0
- package/models/index.esm.js +1 -0
- package/models/package-json.d.ts +130 -0
- package/models/package-json.d.ts.map +1 -0
- package/package/assets/copy-assets.d.ts +31 -0
- package/package/assets/copy-assets.d.ts.map +1 -0
- package/package/assets/index.cjs.js +84 -0
- package/package/assets/index.d.ts +33 -0
- package/package/assets/index.d.ts.map +1 -0
- package/package/assets/index.esm.js +82 -0
- package/package/finalize-files.d.ts +25 -0
- package/package/finalize-files.d.ts.map +1 -0
- package/package/index.cjs.js +276 -0
- package/package/index.d.ts +56 -0
- package/package/index.d.ts.map +1 -0
- package/package/index.esm.js +231 -0
- package/package/json/cdn-paths.d.ts +41 -0
- package/package/json/cdn-paths.d.ts.map +1 -0
- package/package/json/filter-deps.d.ts +39 -0
- package/package/json/filter-deps.d.ts.map +1 -0
- package/package/json/generate-exports.d.ts +29 -0
- package/package/json/generate-exports.d.ts.map +1 -0
- package/package/json/index.cjs.js +24 -0
- package/package/json/index.d.ts +252 -0
- package/package/json/index.d.ts.map +1 -0
- package/package/json/index.esm.js +14 -0
- package/package/json/inherit-fields.d.ts +25 -0
- package/package/json/inherit-fields.d.ts.map +1 -0
- package/package/json/read-package-json.d.ts +18 -0
- package/package/json/read-package-json.d.ts.map +1 -0
- package/package/json/reflect-files-allowlist.d.ts +32 -0
- package/package/json/reflect-files-allowlist.d.ts.map +1 -0
- package/package/json/synthesize.d.ts +53 -0
- package/package/json/synthesize.d.ts.map +1 -0
- package/package/json/write.d.ts +18 -0
- package/package/json/write.d.ts.map +1 -0
- package/package/licenses/collect.d.ts +25 -0
- package/package/licenses/collect.d.ts.map +1 -0
- package/package/licenses/generate-content.d.ts +20 -0
- package/package/licenses/generate-content.d.ts.map +1 -0
- package/package/licenses/index.cjs.js +135 -0
- package/package/licenses/index.d.ts +73 -0
- package/package/licenses/index.d.ts.map +1 -0
- package/package/licenses/index.esm.js +89 -0
- package/package/licenses/license-url.d.ts +20 -0
- package/package/licenses/license-url.d.ts.map +1 -0
- package/package/licenses/types.d.ts +12 -0
- package/package/licenses/types.d.ts.map +1 -0
- package/package/licenses/write.d.ts +16 -0
- package/package/licenses/write.d.ts.map +1 -0
- package/package/run-package-phase.d.ts +30 -0
- package/package/run-package-phase.d.ts.map +1 -0
- package/package.json +347 -0
- package/presets/by-names.d.ts +20 -0
- package/presets/by-names.d.ts.map +1 -0
- package/presets/by-prefix.d.ts +22 -0
- package/presets/by-prefix.d.ts.map +1 -0
- package/presets/index.cjs.js +8 -0
- package/presets/index.d.ts +43 -0
- package/presets/index.d.ts.map +1 -0
- package/presets/index.esm.js +5 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { resolveRelativeTarget, classifyRequireBinding, getRequireSpecifier, parseChunk } from '../ast-utils/index.esm.js';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { createMap } from '../../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.esm.js';
|
|
4
|
+
import { createSet } from '../../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js';
|
|
5
|
+
|
|
6
|
+
const mergeDemand = (demand, name, contribution) => {
|
|
7
|
+
const current = demand.get(name);
|
|
8
|
+
if (current === 'all')
|
|
9
|
+
return;
|
|
10
|
+
if (contribution === 'all') {
|
|
11
|
+
demand.set(name, 'all');
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (current)
|
|
15
|
+
for (const prop of contribution)
|
|
16
|
+
current.add(prop);
|
|
17
|
+
else
|
|
18
|
+
demand.set(name, createSet([...contribution]));
|
|
19
|
+
};
|
|
20
|
+
const classifyNamespaceUse = (node) => {
|
|
21
|
+
const parent = node.parent;
|
|
22
|
+
if (ts.isPropertyAccessExpression(parent)) {
|
|
23
|
+
// why: `obj.NS` — the value sits as the member name, not a use of the binding's value.
|
|
24
|
+
if (parent.name === node)
|
|
25
|
+
return { kind: 'ignore' };
|
|
26
|
+
return { kind: 'read', prop: parent.name.text };
|
|
27
|
+
}
|
|
28
|
+
if (ts.isElementAccessExpression(parent) && parent.expression === node) {
|
|
29
|
+
// why: a literal `NS["freeze"]` is a known slot; a computed `NS[k]` could read any slot, so keep them all.
|
|
30
|
+
return ts.isStringLiteralLike(parent.argumentExpression) ? { kind: 'read', prop: parent.argumentExpression.text } : { kind: 'bail' };
|
|
31
|
+
}
|
|
32
|
+
// why: `{ NS: … }` key and `{ NS: x } = …` binding key never reference the binding's value.
|
|
33
|
+
if (ts.isPropertyAssignment(parent) && parent.name === node)
|
|
34
|
+
return { kind: 'ignore' };
|
|
35
|
+
if (ts.isBindingElement(parent) && parent.propertyName === node)
|
|
36
|
+
return { kind: 'ignore' };
|
|
37
|
+
return { kind: 'bail' };
|
|
38
|
+
};
|
|
39
|
+
const recordMemberUse = (memberNode, exportName, usage) => {
|
|
40
|
+
const classification = classifyNamespaceUse(memberNode);
|
|
41
|
+
if (classification.kind === 'read')
|
|
42
|
+
mergeDemand(usage.perName, exportName, createSet([classification.prop]));
|
|
43
|
+
else
|
|
44
|
+
mergeDemand(usage.perName, exportName, 'all');
|
|
45
|
+
};
|
|
46
|
+
const ensureUsage = (edges, target) => {
|
|
47
|
+
const current = edges.get(target);
|
|
48
|
+
if (current)
|
|
49
|
+
return current;
|
|
50
|
+
const created = { bailAll: false, perName: createMap() };
|
|
51
|
+
edges.set(target, created);
|
|
52
|
+
return created;
|
|
53
|
+
};
|
|
54
|
+
const collectImports = (sourceFile, importerDir, edges, locals, bindingNodes) => {
|
|
55
|
+
for (const statement of sourceFile.statements) {
|
|
56
|
+
if (ts.isImportDeclaration(statement)) {
|
|
57
|
+
const target = resolveRelativeTarget(importerDir, statement.moduleSpecifier.text);
|
|
58
|
+
// why: a side-effect-only import has no clause and binds nothing to track.
|
|
59
|
+
if (target === null || !statement.importClause)
|
|
60
|
+
continue;
|
|
61
|
+
const clause = statement.importClause;
|
|
62
|
+
// why: a default import binds the whole module object — we cannot tell which export it aliases, so keep every namespace of the target.
|
|
63
|
+
if (clause.name)
|
|
64
|
+
ensureUsage(edges, target).bailAll = true;
|
|
65
|
+
const bindings = clause.namedBindings;
|
|
66
|
+
if (!bindings)
|
|
67
|
+
continue;
|
|
68
|
+
if (ts.isNamespaceImport(bindings)) {
|
|
69
|
+
ensureUsage(edges, target).bailAll = true;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
for (const element of bindings.elements) {
|
|
73
|
+
locals.set(element.name.text, { target, exportName: (element.propertyName ?? element.name).text });
|
|
74
|
+
bindingNodes.add(element.name);
|
|
75
|
+
ensureUsage(edges, target);
|
|
76
|
+
}
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (ts.isExportDeclaration(statement) && statement.moduleSpecifier) {
|
|
80
|
+
const target = resolveRelativeTarget(importerDir, statement.moduleSpecifier.text);
|
|
81
|
+
if (target === null)
|
|
82
|
+
continue;
|
|
83
|
+
const usage = ensureUsage(edges, target);
|
|
84
|
+
// why: `export * from 'F'` re-exports every name wholesale — keep the whole surface.
|
|
85
|
+
if (!statement.exportClause || !ts.isNamedExports(statement.exportClause)) {
|
|
86
|
+
usage.bailAll = true;
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
// why: a re-export hands the namespace to another chunk's importers we cannot see — keep it whole (one-hop safety).
|
|
90
|
+
for (const element of statement.exportClause.elements)
|
|
91
|
+
mergeDemand(usage.perName, (element.propertyName ?? element.name).text, 'all');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const scanUse = (id, locals, edges, bindingNodes) => {
|
|
96
|
+
const tracked = locals.get(id.text);
|
|
97
|
+
if (!tracked || bindingNodes.has(id))
|
|
98
|
+
return;
|
|
99
|
+
const usage = edges.get(tracked.target);
|
|
100
|
+
// why: a target already marked wholesale needs no finer demand.
|
|
101
|
+
if (!usage || usage.bailAll)
|
|
102
|
+
return;
|
|
103
|
+
const classification = classifyNamespaceUse(id);
|
|
104
|
+
if (classification.kind === 'read')
|
|
105
|
+
mergeDemand(usage.perName, tracked.exportName, createSet([classification.prop]));
|
|
106
|
+
else if (classification.kind === 'bail')
|
|
107
|
+
mergeDemand(usage.perName, tracked.exportName, 'all');
|
|
108
|
+
};
|
|
109
|
+
const bindRequire = (call, target, edges, locals, namespaceBindings, bindingNodes) => {
|
|
110
|
+
const usage = ensureUsage(edges, target);
|
|
111
|
+
const shape = classifyRequireBinding(call);
|
|
112
|
+
switch (shape.kind) {
|
|
113
|
+
// why: `require('F').Export` / `require('F')['Export']` — inline member access selecting one export; classify the member's own use.
|
|
114
|
+
case 'prop':
|
|
115
|
+
case 'elem-static':
|
|
116
|
+
recordMemberUse(shape.member, shape.name, usage);
|
|
117
|
+
return;
|
|
118
|
+
// why: `require('F')[k]` could select any export — keep the whole target.
|
|
119
|
+
case 'elem-dynamic':
|
|
120
|
+
usage.bailAll = true;
|
|
121
|
+
return;
|
|
122
|
+
// why: a bare `require('./x')` statement binds nothing and reads no property — a side-effect-only import (mirrored from ESM, which skips clause-less imports) that forbids no slot.
|
|
123
|
+
case 'side-effect':
|
|
124
|
+
return;
|
|
125
|
+
case 'ns-binding':
|
|
126
|
+
namespaceBindings.set(shape.name.text, target);
|
|
127
|
+
bindingNodes.add(shape.name);
|
|
128
|
+
return;
|
|
129
|
+
case 'destructure':
|
|
130
|
+
for (const element of shape.pattern.elements) {
|
|
131
|
+
const key = element.propertyName ?? element.name;
|
|
132
|
+
// why: a rest element or a nested/computed binding captures more than one named export — keep the whole target.
|
|
133
|
+
if (element.dotDotDotToken || !ts.isIdentifier(element.name) || !(ts.isIdentifier(key) || ts.isStringLiteralLike(key))) {
|
|
134
|
+
usage.bailAll = true;
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
locals.set(element.name.text, { target, exportName: key.text });
|
|
138
|
+
bindingNodes.add(element.name);
|
|
139
|
+
}
|
|
140
|
+
return;
|
|
141
|
+
// why: a `require` not bound to a variable (call argument, spread, …) escapes member tracking — keep the whole target.
|
|
142
|
+
case 'escape':
|
|
143
|
+
usage.bailAll = true;
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
const collectRequires = (sourceFile, importerDir, edges, locals, namespaceBindings, bindingNodes) => {
|
|
148
|
+
const visit = (node) => {
|
|
149
|
+
const specifier = getRequireSpecifier(node);
|
|
150
|
+
if (specifier !== null) {
|
|
151
|
+
const target = resolveRelativeTarget(importerDir, specifier);
|
|
152
|
+
if (target !== null)
|
|
153
|
+
bindRequire(node, target, edges, locals, namespaceBindings, bindingNodes);
|
|
154
|
+
}
|
|
155
|
+
ts.forEachChild(node, visit);
|
|
156
|
+
};
|
|
157
|
+
visit(sourceFile);
|
|
158
|
+
};
|
|
159
|
+
const scanNamespaceBindingUse = (id, namespaceBindings, edges, bindingNodes) => {
|
|
160
|
+
const target = namespaceBindings.get(id.text);
|
|
161
|
+
if (target === undefined || bindingNodes.has(id))
|
|
162
|
+
return;
|
|
163
|
+
const usage = edges.get(target);
|
|
164
|
+
if (!usage || usage.bailAll)
|
|
165
|
+
return;
|
|
166
|
+
const parent = id.parent;
|
|
167
|
+
// why: `dep.Export …` — the member selects one export; classify how that member is used for the property read.
|
|
168
|
+
if (ts.isPropertyAccessExpression(parent) && parent.expression === id) {
|
|
169
|
+
recordMemberUse(parent, parent.name.text, usage);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (ts.isElementAccessExpression(parent) && parent.expression === id) {
|
|
173
|
+
// why: `dep["Export"]` selects a known export; `dep[k]` could select any, so keep every export of the target.
|
|
174
|
+
if (ts.isStringLiteralLike(parent.argumentExpression))
|
|
175
|
+
recordMemberUse(parent, parent.argumentExpression.text, usage);
|
|
176
|
+
else
|
|
177
|
+
usage.bailAll = true;
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
// why: `obj.dep` — the binding sits as a member name, unrelated. Every other position consumes the module wholesale.
|
|
181
|
+
if (!(ts.isPropertyAccessExpression(parent) && parent.name === id))
|
|
182
|
+
usage.bailAll = true;
|
|
183
|
+
};
|
|
184
|
+
const collectNamespaceUsage = (source, importerDir, format) => {
|
|
185
|
+
const edges = createMap();
|
|
186
|
+
const sourceFile = parseChunk(source);
|
|
187
|
+
const locals = createMap();
|
|
188
|
+
const namespaceBindings = createMap();
|
|
189
|
+
const bindingNodes = createSet([]);
|
|
190
|
+
if (format === 'esm')
|
|
191
|
+
collectImports(sourceFile, importerDir, edges, locals, bindingNodes);
|
|
192
|
+
else
|
|
193
|
+
collectRequires(sourceFile, importerDir, edges, locals, namespaceBindings, bindingNodes);
|
|
194
|
+
if (locals.size === 0 && namespaceBindings.size === 0)
|
|
195
|
+
return edges;
|
|
196
|
+
const visit = (node) => {
|
|
197
|
+
if (ts.isIdentifier(node)) {
|
|
198
|
+
scanUse(node, locals, edges, bindingNodes);
|
|
199
|
+
if (namespaceBindings.size > 0)
|
|
200
|
+
scanNamespaceBindingUse(node, namespaceBindings, edges, bindingNodes);
|
|
201
|
+
}
|
|
202
|
+
ts.forEachChild(node, visit);
|
|
203
|
+
};
|
|
204
|
+
visit(sourceFile);
|
|
205
|
+
return edges;
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
export { mergeDemand, classifyNamespaceUse, recordMemberUse, ensureUsage, collectImports, scanUse, bindRequire, collectRequires, scanNamespaceBindingUse, collectNamespaceUsage };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index_cjs_js$9 = require('../../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs.js');
|
|
4
|
+
const index_cjs_js$2 = require('../../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs.js');
|
|
5
|
+
|
|
6
|
+
const STATIC_FROM_RE = /from\s*['"]([^'"]+)['"]/g;
|
|
7
|
+
const REQUIRE_LITERAL_RE = /require\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
8
|
+
const IMPORT_LITERAL_RE = /import\s*\(\s*['"]([^'"]+)['"]/g;
|
|
9
|
+
const collectInto = (source, re, specifiers) => {
|
|
10
|
+
for (const match of source.matchAll(re)) {
|
|
11
|
+
const spec = match[1];
|
|
12
|
+
if (spec.startsWith('.'))
|
|
13
|
+
specifiers.add(spec);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const collectChunkSpecifiers = (source) => {
|
|
17
|
+
const specifiers = index_cjs_js$9.createSet([]);
|
|
18
|
+
collectInto(source, STATIC_FROM_RE, specifiers);
|
|
19
|
+
collectInto(source, REQUIRE_LITERAL_RE, specifiers);
|
|
20
|
+
collectInto(source, IMPORT_LITERAL_RE, specifiers);
|
|
21
|
+
return index_cjs_js$2.from(specifiers);
|
|
22
|
+
};
|
|
23
|
+
const WHITESPACE_RE = /\s/;
|
|
24
|
+
const isDynamicArg = (source, start) => {
|
|
25
|
+
const quote = source.charAt(start);
|
|
26
|
+
if (quote !== '"' && quote !== "'")
|
|
27
|
+
return true;
|
|
28
|
+
let i = start + 1;
|
|
29
|
+
while (i < source.length) {
|
|
30
|
+
const ch = source.charAt(i);
|
|
31
|
+
if (ch === '\\') {
|
|
32
|
+
i += 2;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (ch === quote)
|
|
36
|
+
break;
|
|
37
|
+
i += 1;
|
|
38
|
+
}
|
|
39
|
+
if (i >= source.length)
|
|
40
|
+
return true;
|
|
41
|
+
let j = i + 1;
|
|
42
|
+
while (j < source.length && WHITESPACE_RE.test(source.charAt(j)))
|
|
43
|
+
j += 1;
|
|
44
|
+
return source.charAt(j) !== ')';
|
|
45
|
+
};
|
|
46
|
+
const hasDynamicSpecifier = (source) => {
|
|
47
|
+
const re = /\b(?:import|require)\s*\(\s*/g;
|
|
48
|
+
while (re.exec(source) !== null) {
|
|
49
|
+
if (isDynamicArg(source, re.lastIndex))
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
exports.STATIC_FROM_RE = STATIC_FROM_RE;
|
|
56
|
+
exports.REQUIRE_LITERAL_RE = REQUIRE_LITERAL_RE;
|
|
57
|
+
exports.IMPORT_LITERAL_RE = IMPORT_LITERAL_RE;
|
|
58
|
+
exports.collectInto = collectInto;
|
|
59
|
+
exports.collectChunkSpecifiers = collectChunkSpecifiers;
|
|
60
|
+
exports.WHITESPACE_RE = WHITESPACE_RE;
|
|
61
|
+
exports.isDynamicArg = isDynamicArg;
|
|
62
|
+
exports.hasDynamicSpecifier = hasDynamicSpecifier;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { from } from '../../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.esm.js';
|
|
2
|
+
import { createSet } from '../../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js';
|
|
3
|
+
|
|
4
|
+
const STATIC_FROM_RE = /from\s*['"]([^'"]+)['"]/g;
|
|
5
|
+
const REQUIRE_LITERAL_RE = /require\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
6
|
+
const IMPORT_LITERAL_RE = /import\s*\(\s*['"]([^'"]+)['"]/g;
|
|
7
|
+
const collectInto = (source, re, specifiers) => {
|
|
8
|
+
for (const match of source.matchAll(re)) {
|
|
9
|
+
const spec = match[1];
|
|
10
|
+
if (spec.startsWith('.'))
|
|
11
|
+
specifiers.add(spec);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const collectChunkSpecifiers = (source) => {
|
|
15
|
+
const specifiers = createSet([]);
|
|
16
|
+
collectInto(source, STATIC_FROM_RE, specifiers);
|
|
17
|
+
collectInto(source, REQUIRE_LITERAL_RE, specifiers);
|
|
18
|
+
collectInto(source, IMPORT_LITERAL_RE, specifiers);
|
|
19
|
+
return from(specifiers);
|
|
20
|
+
};
|
|
21
|
+
const WHITESPACE_RE = /\s/;
|
|
22
|
+
const isDynamicArg = (source, start) => {
|
|
23
|
+
const quote = source.charAt(start);
|
|
24
|
+
if (quote !== '"' && quote !== "'")
|
|
25
|
+
return true;
|
|
26
|
+
let i = start + 1;
|
|
27
|
+
while (i < source.length) {
|
|
28
|
+
const ch = source.charAt(i);
|
|
29
|
+
if (ch === '\\') {
|
|
30
|
+
i += 2;
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (ch === quote)
|
|
34
|
+
break;
|
|
35
|
+
i += 1;
|
|
36
|
+
}
|
|
37
|
+
if (i >= source.length)
|
|
38
|
+
return true;
|
|
39
|
+
let j = i + 1;
|
|
40
|
+
while (j < source.length && WHITESPACE_RE.test(source.charAt(j)))
|
|
41
|
+
j += 1;
|
|
42
|
+
return source.charAt(j) !== ')';
|
|
43
|
+
};
|
|
44
|
+
const hasDynamicSpecifier = (source) => {
|
|
45
|
+
const re = /\b(?:import|require)\s*\(\s*/g;
|
|
46
|
+
while (re.exec(source) !== null) {
|
|
47
|
+
if (isDynamicArg(source, re.lastIndex))
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export { STATIC_FROM_RE, REQUIRE_LITERAL_RE, IMPORT_LITERAL_RE, collectInto, collectChunkSpecifiers, WHITESPACE_RE, isDynamicArg, hasDynamicSpecifier };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index_cjs_js$8 = require('../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs.js');
|
|
4
|
+
const index_cjs_js$4 = require('../../../../_dependencies/@hyperfrontend/project-scope/core/index.cjs.js');
|
|
5
|
+
|
|
6
|
+
const PLATFORM_DIRS = index_cjs_js$8.freeze(['browser', 'node']);
|
|
7
|
+
const isPlatformDir = (name) => PLATFORM_DIRS.includes(name);
|
|
8
|
+
const hasIndexFile = (dirPath) => index_cjs_js$4.exists(index_cjs_js$4.join(dirPath, 'index.ts'));
|
|
9
|
+
const getSubdirectories = (dirPath) => {
|
|
10
|
+
if (!index_cjs_js$4.exists(dirPath) || !index_cjs_js$4.isDirectory(dirPath))
|
|
11
|
+
return [];
|
|
12
|
+
return index_cjs_js$4.readDirectory(dirPath)
|
|
13
|
+
.filter((entry) => entry.isDirectory && !entry.name.startsWith('.'))
|
|
14
|
+
.map((entry) => entry.name);
|
|
15
|
+
};
|
|
16
|
+
const recurseEntries = (basePath, relativePath, maxDepth) => {
|
|
17
|
+
if (maxDepth <= 0)
|
|
18
|
+
return [];
|
|
19
|
+
const currentPath = relativePath ? index_cjs_js$4.join(basePath, relativePath) : basePath;
|
|
20
|
+
if (!index_cjs_js$4.exists(currentPath))
|
|
21
|
+
return [];
|
|
22
|
+
const entries = [];
|
|
23
|
+
for (const subdir of getSubdirectories(currentPath)) {
|
|
24
|
+
const subdirPath = index_cjs_js$4.join(currentPath, subdir);
|
|
25
|
+
const subdirRelative = relativePath ? `${relativePath}/${subdir}` : subdir;
|
|
26
|
+
if (hasIndexFile(subdirPath)) {
|
|
27
|
+
const firstSegment = subdirRelative.split('/')[0];
|
|
28
|
+
const platform = isPlatformDir(subdir) ? subdir : isPlatformDir(firstSegment) ? firstSegment : undefined;
|
|
29
|
+
entries.push({
|
|
30
|
+
exportPath: `./${subdirRelative}`,
|
|
31
|
+
srcPath: subdirRelative,
|
|
32
|
+
inputFile: index_cjs_js$4.join(subdirPath, 'index.ts'),
|
|
33
|
+
isRoot: false,
|
|
34
|
+
platform,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
entries.push(...recurseEntries(basePath, subdirRelative, maxDepth - 1));
|
|
38
|
+
}
|
|
39
|
+
return entries;
|
|
40
|
+
};
|
|
41
|
+
const categorize = (hasRootEntry, platformEntries, featureEntries) => {
|
|
42
|
+
const hasPlatform = platformEntries.length > 0;
|
|
43
|
+
const hasFeature = featureEntries.length > 0;
|
|
44
|
+
const hasNestedPlatform = platformEntries.some((e) => e.srcPath.includes('/'));
|
|
45
|
+
if (hasRootEntry && !hasPlatform && !hasFeature)
|
|
46
|
+
return 'root';
|
|
47
|
+
if (!hasRootEntry && hasPlatform && !hasFeature && !hasNestedPlatform)
|
|
48
|
+
return 'platform';
|
|
49
|
+
if (!hasRootEntry && !hasPlatform && hasFeature)
|
|
50
|
+
return 'feature';
|
|
51
|
+
if (hasNestedPlatform)
|
|
52
|
+
return 'complex';
|
|
53
|
+
return 'hybrid';
|
|
54
|
+
};
|
|
55
|
+
const discoverEntries = (projectRoot) => {
|
|
56
|
+
const srcPath = index_cjs_js$4.join(projectRoot, 'src');
|
|
57
|
+
const entryPoints = [];
|
|
58
|
+
const rootIndexPath = index_cjs_js$4.join(srcPath, 'index.ts');
|
|
59
|
+
const hasRootEntry = index_cjs_js$4.exists(rootIndexPath);
|
|
60
|
+
if (hasRootEntry) {
|
|
61
|
+
entryPoints.push({
|
|
62
|
+
exportPath: '.',
|
|
63
|
+
srcPath: '',
|
|
64
|
+
inputFile: rootIndexPath,
|
|
65
|
+
isRoot: true,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
entryPoints.push(...recurseEntries(srcPath, '', 3));
|
|
69
|
+
const firstSegmentOf = (entry) => entry.srcPath.split('/')[0];
|
|
70
|
+
const platformEntries = entryPoints.filter((e) => !e.isRoot && isPlatformDir(firstSegmentOf(e)));
|
|
71
|
+
const featureEntries = entryPoints.filter((e) => !e.isRoot && !isPlatformDir(firstSegmentOf(e)));
|
|
72
|
+
return {
|
|
73
|
+
category: categorize(hasRootEntry, platformEntries, featureEntries),
|
|
74
|
+
entryPoints,
|
|
75
|
+
hasRootEntry,
|
|
76
|
+
platformEntries,
|
|
77
|
+
featureEntries,
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
exports.PLATFORM_DIRS = PLATFORM_DIRS;
|
|
82
|
+
exports.isPlatformDir = isPlatformDir;
|
|
83
|
+
exports.hasIndexFile = hasIndexFile;
|
|
84
|
+
exports.getSubdirectories = getSubdirectories;
|
|
85
|
+
exports.recurseEntries = recurseEntries;
|
|
86
|
+
exports.categorize = categorize;
|
|
87
|
+
exports.discoverEntries = discoverEntries;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { join as join$1 } from '../../fs/posix-path/index.esm.js';
|
|
2
|
+
import { freeze, entries } from '../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.esm.js';
|
|
3
|
+
import { exists, isDirectory, readDirectory, relativePath } from '../../../../_dependencies/@hyperfrontend/project-scope/core/index.esm.js';
|
|
4
|
+
|
|
5
|
+
const PLATFORM_DIRS = freeze(['browser', 'node']);
|
|
6
|
+
const isPlatformDir = (name) => PLATFORM_DIRS.includes(name);
|
|
7
|
+
const hasIndexFile = (dirPath) => exists(join$1(dirPath, 'index.ts'));
|
|
8
|
+
const getSubdirectories = (dirPath) => {
|
|
9
|
+
if (!exists(dirPath) || !isDirectory(dirPath))
|
|
10
|
+
return [];
|
|
11
|
+
return readDirectory(dirPath)
|
|
12
|
+
.filter((entry) => entry.isDirectory && !entry.name.startsWith('.'))
|
|
13
|
+
.map((entry) => entry.name);
|
|
14
|
+
};
|
|
15
|
+
const recurseEntries = (basePath, relativePath, maxDepth) => {
|
|
16
|
+
if (maxDepth <= 0)
|
|
17
|
+
return [];
|
|
18
|
+
const currentPath = relativePath ? join$1(basePath, relativePath) : basePath;
|
|
19
|
+
if (!exists(currentPath))
|
|
20
|
+
return [];
|
|
21
|
+
const entries = [];
|
|
22
|
+
for (const subdir of getSubdirectories(currentPath)) {
|
|
23
|
+
const subdirPath = join$1(currentPath, subdir);
|
|
24
|
+
const subdirRelative = relativePath ? `${relativePath}/${subdir}` : subdir;
|
|
25
|
+
if (hasIndexFile(subdirPath)) {
|
|
26
|
+
const firstSegment = subdirRelative.split('/')[0];
|
|
27
|
+
const platform = isPlatformDir(subdir) ? subdir : isPlatformDir(firstSegment) ? firstSegment : undefined;
|
|
28
|
+
entries.push({
|
|
29
|
+
exportPath: `./${subdirRelative}`,
|
|
30
|
+
srcPath: subdirRelative,
|
|
31
|
+
inputFile: join$1(subdirPath, 'index.ts'),
|
|
32
|
+
isRoot: false,
|
|
33
|
+
platform,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
entries.push(...recurseEntries(basePath, subdirRelative, maxDepth - 1));
|
|
37
|
+
}
|
|
38
|
+
return entries;
|
|
39
|
+
};
|
|
40
|
+
const categorize = (hasRootEntry, platformEntries, featureEntries) => {
|
|
41
|
+
const hasPlatform = platformEntries.length > 0;
|
|
42
|
+
const hasFeature = featureEntries.length > 0;
|
|
43
|
+
const hasNestedPlatform = platformEntries.some((e) => e.srcPath.includes('/'));
|
|
44
|
+
if (hasRootEntry && !hasPlatform && !hasFeature)
|
|
45
|
+
return 'root';
|
|
46
|
+
if (!hasRootEntry && hasPlatform && !hasFeature && !hasNestedPlatform)
|
|
47
|
+
return 'platform';
|
|
48
|
+
if (!hasRootEntry && !hasPlatform && hasFeature)
|
|
49
|
+
return 'feature';
|
|
50
|
+
if (hasNestedPlatform)
|
|
51
|
+
return 'complex';
|
|
52
|
+
return 'hybrid';
|
|
53
|
+
};
|
|
54
|
+
const discoverEntries = (projectRoot) => {
|
|
55
|
+
const srcPath = join$1(projectRoot, 'src');
|
|
56
|
+
const entryPoints = [];
|
|
57
|
+
const rootIndexPath = join$1(srcPath, 'index.ts');
|
|
58
|
+
const hasRootEntry = exists(rootIndexPath);
|
|
59
|
+
if (hasRootEntry) {
|
|
60
|
+
entryPoints.push({
|
|
61
|
+
exportPath: '.',
|
|
62
|
+
srcPath: '',
|
|
63
|
+
inputFile: rootIndexPath,
|
|
64
|
+
isRoot: true,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
entryPoints.push(...recurseEntries(srcPath, '', 3));
|
|
68
|
+
const firstSegmentOf = (entry) => entry.srcPath.split('/')[0];
|
|
69
|
+
const platformEntries = entryPoints.filter((e) => !e.isRoot && isPlatformDir(firstSegmentOf(e)));
|
|
70
|
+
const featureEntries = entryPoints.filter((e) => !e.isRoot && !isPlatformDir(firstSegmentOf(e)));
|
|
71
|
+
return {
|
|
72
|
+
category: categorize(hasRootEntry, platformEntries, featureEntries),
|
|
73
|
+
entryPoints,
|
|
74
|
+
hasRootEntry,
|
|
75
|
+
platformEntries,
|
|
76
|
+
featureEntries,
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export { PLATFORM_DIRS, isPlatformDir, hasIndexFile, getSubdirectories, recurseEntries, categorize, discoverEntries };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index_cjs_js$4 = require('../../../../_dependencies/@hyperfrontend/project-scope/core/index.cjs.js');
|
|
4
|
+
const index_cjs_js$2 = require('../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs.js');
|
|
5
|
+
|
|
6
|
+
const normalizePattern = (pattern) => {
|
|
7
|
+
if (pattern === '.')
|
|
8
|
+
return pattern;
|
|
9
|
+
if (pattern.startsWith('./'))
|
|
10
|
+
return pattern;
|
|
11
|
+
return `./${pattern}`;
|
|
12
|
+
};
|
|
13
|
+
const matchesPattern = (entry, pattern) => {
|
|
14
|
+
const normalized = normalizePattern(pattern);
|
|
15
|
+
if (normalized === entry.exportPath)
|
|
16
|
+
return true;
|
|
17
|
+
if (normalized.includes('*'))
|
|
18
|
+
return index_cjs_js$4.matchGlobPattern(entry.exportPath, normalized);
|
|
19
|
+
return false;
|
|
20
|
+
};
|
|
21
|
+
const toPatternList = (patterns) => (index_cjs_js$2.isArray(patterns) ? patterns : [patterns]);
|
|
22
|
+
const resolveEntries = (config, discoveredEntries) => {
|
|
23
|
+
let entries = discoveredEntries;
|
|
24
|
+
if (config.entry !== undefined) {
|
|
25
|
+
const patterns = toPatternList(config.entry);
|
|
26
|
+
entries = entries.filter((entry) => patterns.some((pattern) => matchesPattern(entry, pattern)));
|
|
27
|
+
}
|
|
28
|
+
if (config.exclude !== undefined) {
|
|
29
|
+
const patterns = toPatternList(config.exclude);
|
|
30
|
+
entries = entries.filter((entry) => !patterns.some((pattern) => matchesPattern(entry, pattern)));
|
|
31
|
+
}
|
|
32
|
+
return entries;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports.normalizePattern = normalizePattern;
|
|
36
|
+
exports.matchesPattern = matchesPattern;
|
|
37
|
+
exports.toPatternList = toPatternList;
|
|
38
|
+
exports.resolveEntries = resolveEntries;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { isArray } from '../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.esm.js';
|
|
2
|
+
import { entries } from '../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.esm.js';
|
|
3
|
+
import { matchGlobPattern } from '../../../../_dependencies/@hyperfrontend/project-scope/core/index.esm.js';
|
|
4
|
+
|
|
5
|
+
const normalizePattern = (pattern) => {
|
|
6
|
+
if (pattern === '.')
|
|
7
|
+
return pattern;
|
|
8
|
+
if (pattern.startsWith('./'))
|
|
9
|
+
return pattern;
|
|
10
|
+
return `./${pattern}`;
|
|
11
|
+
};
|
|
12
|
+
const matchesPattern = (entry, pattern) => {
|
|
13
|
+
const normalized = normalizePattern(pattern);
|
|
14
|
+
if (normalized === entry.exportPath)
|
|
15
|
+
return true;
|
|
16
|
+
if (normalized.includes('*'))
|
|
17
|
+
return matchGlobPattern(entry.exportPath, normalized);
|
|
18
|
+
return false;
|
|
19
|
+
};
|
|
20
|
+
const toPatternList = (patterns) => (isArray(patterns) ? patterns : [patterns]);
|
|
21
|
+
const resolveEntries = (config, discoveredEntries) => {
|
|
22
|
+
let entries = discoveredEntries;
|
|
23
|
+
if (config.entry !== undefined) {
|
|
24
|
+
const patterns = toPatternList(config.entry);
|
|
25
|
+
entries = entries.filter((entry) => patterns.some((pattern) => matchesPattern(entry, pattern)));
|
|
26
|
+
}
|
|
27
|
+
if (config.exclude !== undefined) {
|
|
28
|
+
const patterns = toPatternList(config.exclude);
|
|
29
|
+
entries = entries.filter((entry) => !patterns.some((pattern) => matchesPattern(entry, pattern)));
|
|
30
|
+
}
|
|
31
|
+
return entries;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { normalizePattern, matchesPattern, toPatternList, resolveEntries };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index_cjs_js$6 = require('../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs.js');
|
|
4
|
+
|
|
5
|
+
const validateExternalsConfig = (external, globals) => {
|
|
6
|
+
if (!external || external.length === 0)
|
|
7
|
+
return;
|
|
8
|
+
const missing = external.filter((dep) => !globals?.[dep]);
|
|
9
|
+
if (missing.length === 0)
|
|
10
|
+
return;
|
|
11
|
+
throw index_cjs_js$6.createError(`Missing globals mapping for external dependencies:\n${missing.map((d) => ` - ${d}`).join('\n')}\nAdd a globals entry or remove the package from the external list to inline it.`);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.validateExternalsConfig = validateExternalsConfig;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createError } from '../../../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.esm.js';
|
|
2
|
+
|
|
3
|
+
const validateExternalsConfig = (external, globals) => {
|
|
4
|
+
if (!external || external.length === 0)
|
|
5
|
+
return;
|
|
6
|
+
const missing = external.filter((dep) => !globals?.[dep]);
|
|
7
|
+
if (missing.length === 0)
|
|
8
|
+
return;
|
|
9
|
+
throw createError(`Missing globals mapping for external dependencies:\n${missing.map((d) => ` - ${d}`).join('\n')}\nAdd a globals entry or remove the package from the external list to inline it.`);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { validateExternalsConfig };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index_cjs_js$4 = require('../../../../_dependencies/@hyperfrontend/project-scope/core/index.cjs.js');
|
|
4
|
+
const node_fs = require('node:fs');
|
|
5
|
+
|
|
6
|
+
const removeEmptyDirs = (root) => {
|
|
7
|
+
let removed = 0;
|
|
8
|
+
const visit = (dir) => {
|
|
9
|
+
for (const entry of index_cjs_js$4.readDirectory(dir))
|
|
10
|
+
if (entry.isDirectory)
|
|
11
|
+
visit(entry.path);
|
|
12
|
+
if (index_cjs_js$4.readDirectory(dir).length === 0) {
|
|
13
|
+
node_fs.rmdirSync(dir);
|
|
14
|
+
removed += 1;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
for (const entry of index_cjs_js$4.readDirectory(root))
|
|
18
|
+
if (entry.isDirectory)
|
|
19
|
+
visit(entry.path);
|
|
20
|
+
return removed;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.removeEmptyDirs = removeEmptyDirs;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { readDirectory } from '../../../../_dependencies/@hyperfrontend/project-scope/core/index.esm.js';
|
|
2
|
+
import { rmdirSync } from 'node:fs';
|
|
3
|
+
|
|
4
|
+
const removeEmptyDirs = (root) => {
|
|
5
|
+
let removed = 0;
|
|
6
|
+
const visit = (dir) => {
|
|
7
|
+
for (const entry of readDirectory(dir))
|
|
8
|
+
if (entry.isDirectory)
|
|
9
|
+
visit(entry.path);
|
|
10
|
+
if (readDirectory(dir).length === 0) {
|
|
11
|
+
rmdirSync(dir);
|
|
12
|
+
removed += 1;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
for (const entry of readDirectory(root))
|
|
16
|
+
if (entry.isDirectory)
|
|
17
|
+
visit(entry.path);
|
|
18
|
+
return removed;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { removeEmptyDirs };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index_cjs_js$4 = require('../../../../_dependencies/@hyperfrontend/project-scope/core/index.cjs.js');
|
|
4
|
+
|
|
5
|
+
const entryDirOf = (entry, context) => entry.isRoot ? context.outputPath : index_cjs_js$4.join(context.outputPath, entry.srcPath);
|
|
6
|
+
|
|
7
|
+
exports.entryDirOf = entryDirOf;
|