@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,96 @@
|
|
|
1
|
+
import type { IsWorkspacePackagePredicate, WorkspaceDepHoistPolicy } from '../../models';
|
|
2
|
+
/**
|
|
3
|
+
* Resolved workspace-dep pre-pass entry.
|
|
4
|
+
*/
|
|
5
|
+
export interface ResolvedWorkspaceDepEntry {
|
|
6
|
+
/** Workspace package name, e.g. `@hyperfrontend/logging`. */
|
|
7
|
+
packageName: string;
|
|
8
|
+
/** Sub-path under the package; `''` when the entry is the package root. */
|
|
9
|
+
subPath: string;
|
|
10
|
+
/** Public import specifier this entry resolves: `<packageName>` or `<packageName>/<subPath>`. */
|
|
11
|
+
specifier: string;
|
|
12
|
+
/** Absolute path to the source file (from tsconfig path-mapping). */
|
|
13
|
+
inputPath: string;
|
|
14
|
+
/** Absolute path to the dep's own tsconfig used by `@rollup/plugin-typescript` during pre-pass. */
|
|
15
|
+
tsConfigPath: string;
|
|
16
|
+
/** Hoist policy applied to this entry's package; carried through so callers need not re-derive it. */
|
|
17
|
+
policy: WorkspaceDepHoistPolicy;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Inputs to {@link resolveWorkspaceBundledDeps}.
|
|
21
|
+
*/
|
|
22
|
+
export interface ResolveWorkspaceBundledDepsOptions {
|
|
23
|
+
/** Predicate identifying workspace-internal packages. */
|
|
24
|
+
isWorkspacePackage: IsWorkspacePackagePredicate;
|
|
25
|
+
/** Force-include packages even if absent from `package.json#dependencies`. */
|
|
26
|
+
include?: string[];
|
|
27
|
+
/** Skip these packages even if otherwise selected. */
|
|
28
|
+
exclude?: string[];
|
|
29
|
+
/**
|
|
30
|
+
* Per-package hoist-policy override, keyed by package name. Packages absent
|
|
31
|
+
* from the map default to `'sub-path'` (granular, zero-config). Set a package
|
|
32
|
+
* to `'whole-surface'` to opt into collapsing its sub-paths onto the root
|
|
33
|
+
* chunk. No built-in entries; callers supply their own opinions.
|
|
34
|
+
*/
|
|
35
|
+
policy?: Record<string, WorkspaceDepHoistPolicy>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Loads tsconfig path-mappings from a workspace, preferring `tsconfig.base.json`
|
|
39
|
+
* at the workspace root and falling back to a `tsconfig.json` extends chain when
|
|
40
|
+
* the base form is absent.
|
|
41
|
+
*
|
|
42
|
+
* @param workspaceRoot - Absolute workspace root.
|
|
43
|
+
* @returns Map keyed by tsconfig `paths` key (e.g. `@hyperfrontend/logging`),
|
|
44
|
+
* with values pointing at absolute source files.
|
|
45
|
+
*
|
|
46
|
+
* @example Loading the workspace's path-mapping table
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const paths = loadWorkspacePathMappings('/abs/repo')
|
|
49
|
+
* paths.get('@hyperfrontend/logging') // => ['/abs/repo/libs/logging/src/index.ts']
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare const loadWorkspacePathMappings: (workspaceRoot: string) => Map<string, string[]>;
|
|
53
|
+
/**
|
|
54
|
+
* Resolves the list of workspace `@hyperfrontend/*` deps that should be hoisted
|
|
55
|
+
* into `_dependencies/<name>(/<sub>)?/index.<ext>.js`.
|
|
56
|
+
*
|
|
57
|
+
* Algorithm:
|
|
58
|
+
* 1. Read the project's `package.json#dependencies`, retain entries matching
|
|
59
|
+
* `isWorkspacePackage`, and apply caller `include` / `exclude` overrides.
|
|
60
|
+
* Peer deps and excluded packages are skipped; `include` cannot resurrect a
|
|
61
|
+
* peer dep.
|
|
62
|
+
* 2. Load workspace path-mappings (tsconfig `paths`).
|
|
63
|
+
* 3. For each eligible workspace dep, apply the per-dep hoist policy
|
|
64
|
+
* (`options.policy`, defaulting to `'sub-path'`):
|
|
65
|
+
* - `'sub-path'` (the zero-config default) emits one entry per resolvable
|
|
66
|
+
* tsconfig specifier (root + every sub-path with a real source file),
|
|
67
|
+
* preserving sub-module granularity and supporting subpath-only packages
|
|
68
|
+
* that expose no root export.
|
|
69
|
+
* - `'whole-surface'` is an explicit opt-in collapse: it emits a single entry
|
|
70
|
+
* for the package root, so it requires the dep to expose a root export.
|
|
71
|
+
* 4. The returned list is sorted by `specifier` for stable downstream ordering.
|
|
72
|
+
*
|
|
73
|
+
* Because the caller requested `bundleAllDeps`, an eligible dep that cannot be
|
|
74
|
+
* fully resolved is a contract violation, not a soft skip. The function throws
|
|
75
|
+
* (rather than silently externalising) when an eligible dep has no resolvable
|
|
76
|
+
* tsconfig mapping, when a mapped source has no owning tsconfig, or when a dep
|
|
77
|
+
* is explicitly opted into `'whole-surface'` yet exposes no root export — each
|
|
78
|
+
* with a message naming the dep and the remedy.
|
|
79
|
+
*
|
|
80
|
+
* @param packageJsonPath - Absolute path to the project's `package.json`.
|
|
81
|
+
* @param workspaceRoot - Absolute workspace root used to load `tsconfig.base.json` paths.
|
|
82
|
+
* @param options - Caller overrides + workspace-package predicate + per-package policy map.
|
|
83
|
+
* @returns Resolved workspace-dep pre-pass entries sorted by specifier.
|
|
84
|
+
* @throws {Error} When an eligible workspace dep cannot be bundled (no mapping, no root export under `'whole-surface'`, or no owning tsconfig).
|
|
85
|
+
*
|
|
86
|
+
* @example Resolving workspace pre-pass entries for builder
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const entries = resolveWorkspaceBundledDeps(
|
|
89
|
+
* '/abs/libs/builder/package.json',
|
|
90
|
+
* '/abs/repo',
|
|
91
|
+
* { isWorkspacePackage: (n) => n.startsWith('@hyperfrontend/') }
|
|
92
|
+
* )
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare const resolveWorkspaceBundledDeps: (packageJsonPath: string, workspaceRoot: string, options: ResolveWorkspaceBundledDepsOptions) => ResolvedWorkspaceDepEntry[];
|
|
96
|
+
//# sourceMappingURL=resolve-workspace-bundled-deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-workspace-bundled-deps.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/builder/src/bundle/dependencies/resolve-workspace-bundled-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAe,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAUrG;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAA;IACf,iGAAiG;IACjG,SAAS,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAA;IACjB,mGAAmG;IACnG,YAAY,EAAE,MAAM,CAAA;IACpB,sGAAsG;IACtG,MAAM,EAAE,uBAAuB,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,yDAAyD;IACzD,kBAAkB,EAAE,2BAA2B,CAAA;IAC/C,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;CACjD;AAsED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,GAAI,eAAe,MAAM,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAQrF,CAAA;AAoGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,2BAA2B,GACtC,iBAAiB,MAAM,EACvB,eAAe,MAAM,EACrB,SAAS,kCAAkC,KAC1C,yBAAyB,EA4D3B,CAAA"}
|
|
@@ -0,0 +1,524 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const node_fs = require('node:fs');
|
|
4
|
+
const node_module = require('node:module');
|
|
5
|
+
const node_path = require('node:path');
|
|
6
|
+
const commonjs = require('../../../_dependencies/@rollup/plugin-commonjs/index.cjs.js');
|
|
7
|
+
const json = require('../../../_dependencies/@rollup/plugin-json/index.cjs.js');
|
|
8
|
+
const nodeResolve = require('../../../_dependencies/@rollup/plugin-node-resolve/index.cjs.js');
|
|
9
|
+
const typescript = require('../../../_dependencies/@rollup/plugin-typescript/index.cjs.js');
|
|
10
|
+
const index_cjs_js = require('../../../_dependencies/rollup/index.cjs.js');
|
|
11
|
+
const { normalizeToForwardSlashes, join } = require('../../../_shared/bundle/fs/posix-path/index.cjs.js');
|
|
12
|
+
const { createExternalizeBundledDepsPlugin } = require('../../../_shared/bundle/dependencies/externalize-plugin/index.cjs.js');
|
|
13
|
+
|
|
14
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
15
|
+
|
|
16
|
+
const commonjs__default = /*#__PURE__*/_interopDefaultCompat(commonjs);
|
|
17
|
+
const json__default = /*#__PURE__*/_interopDefaultCompat(json);
|
|
18
|
+
const nodeResolve__default = /*#__PURE__*/_interopDefaultCompat(nodeResolve);
|
|
19
|
+
const typescript__default = /*#__PURE__*/_interopDefaultCompat(typescript);
|
|
20
|
+
|
|
21
|
+
const stripTrailingIndexDts = (filePath) => {
|
|
22
|
+
const normalized = normalizeToForwardSlashes(filePath);
|
|
23
|
+
const trimmed = normalized.replace(/\/index\.d\.ts$/, '');
|
|
24
|
+
return trimmed === normalized ? normalized.replace(/\.d\.ts$/, '') : trimmed;
|
|
25
|
+
};
|
|
26
|
+
const stripTrailingSlash = (value) => (value.endsWith('/') ? value.slice(0, -1) : value);
|
|
27
|
+
const dirnameOf = (filePath) => {
|
|
28
|
+
const normalized = normalizeToForwardSlashes(filePath);
|
|
29
|
+
const idx = normalized.lastIndexOf('/');
|
|
30
|
+
return idx <= 0 ? normalized : normalized.slice(0, idx);
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Computes the directory (without trailing slash) that owns a sibling's
|
|
34
|
+
* `index.d.ts`. Used to test whether an absolute resolved id falls inside the
|
|
35
|
+
* sibling's directory tree.
|
|
36
|
+
*
|
|
37
|
+
* @param sibling - Sibling-entry record.
|
|
38
|
+
* @returns Sibling's directory with no trailing slash.
|
|
39
|
+
*/
|
|
40
|
+
const siblingDir = (sibling) => stripTrailingSlash(dirnameOf(sibling.indexDtsPath));
|
|
41
|
+
const startsWithDir = (resolved, dir) => {
|
|
42
|
+
const normalizedResolved = normalizeToForwardSlashes(resolved);
|
|
43
|
+
if (normalizedResolved === dir)
|
|
44
|
+
return true;
|
|
45
|
+
return normalizedResolved.startsWith(`${dir}/`);
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Returns the sibling entry whose directory contains `absolutePath`, or `undefined`
|
|
49
|
+
* when no sibling owns the path.
|
|
50
|
+
*
|
|
51
|
+
* @param absolutePath - Resolved absolute path of an import.
|
|
52
|
+
* @param siblings - Sibling-entry records.
|
|
53
|
+
* @returns Owning sibling entry, or `undefined`.
|
|
54
|
+
*
|
|
55
|
+
* @example Identifying a sibling for a resolved type import
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const owner = findOwningSibling('/abs/dist/libs/foo/models/index.d.ts', siblings)
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
const findOwningSibling = (absolutePath, siblings) => {
|
|
61
|
+
const normalized = normalizeToForwardSlashes(absolutePath);
|
|
62
|
+
let best;
|
|
63
|
+
let bestDirLength = -1;
|
|
64
|
+
for (const sibling of siblings) {
|
|
65
|
+
const dir = siblingDir(sibling);
|
|
66
|
+
if (!startsWithDir(normalized, dir))
|
|
67
|
+
continue;
|
|
68
|
+
if (dir.length > bestDirLength) {
|
|
69
|
+
best = sibling;
|
|
70
|
+
bestDirLength = dir.length;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return best;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Computes the bare-specifier form of a sibling import as emitted in the
|
|
77
|
+
* rewritten `.d.ts` (e.g., `../models`, `../../models`, `./bundle/declarations`).
|
|
78
|
+
*
|
|
79
|
+
* Always omits the trailing `index.d.ts` so both `moduleResolution: 'bundler'`
|
|
80
|
+
* and `node` accept it.
|
|
81
|
+
*
|
|
82
|
+
* @param selfDtsPath - Absolute path to the current entry's `index.d.ts`.
|
|
83
|
+
* @param sibling - The sibling entry being targeted.
|
|
84
|
+
* @returns POSIX-style relative specifier ready for `id` in a rollup external resolution.
|
|
85
|
+
*
|
|
86
|
+
* @example Computing a sibling import from `bundle/index.d.ts` to `models/`
|
|
87
|
+
* ```typescript
|
|
88
|
+
* computeSiblingSpecifier(
|
|
89
|
+
* '/abs/dist/libs/foo/bundle/index.d.ts',
|
|
90
|
+
* { srcPath: 'models', indexDtsPath: '/abs/dist/libs/foo/models/index.d.ts' }
|
|
91
|
+
* ) // => '../models'
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
const computeSiblingSpecifier = (selfDtsPath, sibling) => {
|
|
95
|
+
const fromDir = dirnameOf(selfDtsPath);
|
|
96
|
+
const toDir = siblingDir(sibling);
|
|
97
|
+
const fromSegments = fromDir.split('/').filter((s) => s.length > 0);
|
|
98
|
+
const toSegments = toDir.split('/').filter((s) => s.length > 0);
|
|
99
|
+
let common = 0;
|
|
100
|
+
while (common < fromSegments.length && common < toSegments.length && fromSegments[common] === toSegments[common]) {
|
|
101
|
+
common += 1;
|
|
102
|
+
}
|
|
103
|
+
const upSegments = fromSegments.length - common;
|
|
104
|
+
const downSegments = toSegments.slice(common);
|
|
105
|
+
if (upSegments === 0 && downSegments.length === 0)
|
|
106
|
+
return '.';
|
|
107
|
+
const ups = '../'.repeat(upSegments);
|
|
108
|
+
const downs = downSegments.join('/');
|
|
109
|
+
if (upSegments === 0)
|
|
110
|
+
return `./${downs}`;
|
|
111
|
+
return downs.length > 0 ? `${ups}${downs}` : ups.replace(/\/$/, '');
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Resolves a relative or absolute `source` against `importer` (or `selfDtsPath`
|
|
115
|
+
* when no importer is given) and returns the absolute filesystem candidate
|
|
116
|
+
* suitable for matching against sibling entries.
|
|
117
|
+
*
|
|
118
|
+
* Mirrors TypeScript's lookup rules at the level we need: when the candidate
|
|
119
|
+
* exists as `<candidate>/index.d.ts` we treat that as the resolved file,
|
|
120
|
+
* otherwise the candidate path itself.
|
|
121
|
+
*
|
|
122
|
+
* @param source - The import specifier as it appears in source.
|
|
123
|
+
* @param importer - Absolute path of the importing module, when known.
|
|
124
|
+
* @param selfDtsPath - Absolute path to the entry currently being rewritten (fallback importer).
|
|
125
|
+
* @returns Absolute candidate path for sibling matching.
|
|
126
|
+
*/
|
|
127
|
+
const resolveCandidate = (source, importer, selfDtsPath) => {
|
|
128
|
+
if (node_path.isAbsolute(source))
|
|
129
|
+
return normalizeToForwardSlashes(source);
|
|
130
|
+
if (source.startsWith('.')) {
|
|
131
|
+
const fromDir = dirnameOf(importer ?? selfDtsPath);
|
|
132
|
+
return normalizeToForwardSlashes(node_path.resolve(fromDir, source));
|
|
133
|
+
}
|
|
134
|
+
return source;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Returns a rollup plugin that externalizes any import resolving inside a
|
|
138
|
+
* sibling entry's directory tree, rewriting the emitted specifier to a POSIX
|
|
139
|
+
* relative path stripped of `/index` and `.d.ts` suffixes.
|
|
140
|
+
*
|
|
141
|
+
* The plugin's `resolveId` hook returns `null` for everything that does not
|
|
142
|
+
* resolve into a sibling — that lets the rest of the rollup-plugin-dts chain
|
|
143
|
+
* inline third-party type imports as before.
|
|
144
|
+
*
|
|
145
|
+
* Self-ownership is enforced by adding the current entry into the ownership
|
|
146
|
+
* pool: when the deepest-matching entry directory is the entry being rewritten
|
|
147
|
+
* (and not a sibling), the resolver returns `null` so rollup keeps the path
|
|
148
|
+
* internal. This matters for the package root entry whose directory prefix-
|
|
149
|
+
* matches every other entry's path — without including self, root would
|
|
150
|
+
* spuriously claim its own subtree's files.
|
|
151
|
+
*
|
|
152
|
+
* @param input - Self + sibling entry descriptors.
|
|
153
|
+
* @returns Rollup plugin.
|
|
154
|
+
*
|
|
155
|
+
* @example Plugin instance for the bundle entry pass
|
|
156
|
+
* ```typescript
|
|
157
|
+
* const plugin = createSiblingExternalizePlugin({
|
|
158
|
+
* selfSrcPath: 'bundle',
|
|
159
|
+
* selfDtsPath: '/abs/dist/libs/foo/bundle/index.d.ts',
|
|
160
|
+
* siblings: [{ srcPath: 'models', indexDtsPath: '/abs/dist/libs/foo/models/index.d.ts' }],
|
|
161
|
+
* })
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
const createSiblingExternalizePlugin = (input) => {
|
|
165
|
+
const { selfSrcPath, selfDtsPath, siblings } = input;
|
|
166
|
+
const selfEntry = { srcPath: selfSrcPath, indexDtsPath: selfDtsPath };
|
|
167
|
+
const ownershipPool = [selfEntry, ...siblings];
|
|
168
|
+
const selfDtsResolved = normalizeToForwardSlashes(selfDtsPath);
|
|
169
|
+
return {
|
|
170
|
+
name: 'externalize-sibling-subpaths',
|
|
171
|
+
resolveId(source, importer) {
|
|
172
|
+
if (siblings.length === 0)
|
|
173
|
+
return null;
|
|
174
|
+
const candidate = resolveCandidate(source, importer, selfDtsPath);
|
|
175
|
+
const indexCandidate = candidate.endsWith('.d.ts') ? candidate : `${stripTrailingIndexDts(candidate)}/index.d.ts`;
|
|
176
|
+
const owner = findOwningSibling(candidate, ownershipPool) ?? findOwningSibling(indexCandidate, ownershipPool);
|
|
177
|
+
if (!owner)
|
|
178
|
+
return null;
|
|
179
|
+
if (normalizeToForwardSlashes(owner.indexDtsPath) === selfDtsResolved)
|
|
180
|
+
return null;
|
|
181
|
+
return { id: computeSiblingSpecifier(selfDtsPath, owner), external: true };
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
const BYTES_PER_MB = 1024 * 1024;
|
|
187
|
+
const SUPPRESSED_WARNING_CODES = new Set([
|
|
188
|
+
'CIRCULAR_DEPENDENCY',
|
|
189
|
+
'UNRESOLVED_IMPORT',
|
|
190
|
+
'EMPTY_BUNDLE',
|
|
191
|
+
'UNUSED_EXTERNAL_IMPORT',
|
|
192
|
+
'MIXED_EXPORTS',
|
|
193
|
+
]);
|
|
194
|
+
/**
|
|
195
|
+
* Suppresses `MISSING_EXPORT` warnings caused by a package augmenting a
|
|
196
|
+
* DefinitelyTyped (`@types/*`) module to add members absent from the published
|
|
197
|
+
* stub. `rollup-plugin-dts` resolves e.g. `import * as estree from 'estree'` to
|
|
198
|
+
* `@types/estree` but cannot follow the `declare module 'estree'` augmentation
|
|
199
|
+
* (rollup's own `rollup.d.ts` adds `Decorator` this way) across the external
|
|
200
|
+
* boundary, so it reports the augmented members as not exported. The
|
|
201
|
+
* augmentation still resolves correctly in the emitted d.ts, so the warning is
|
|
202
|
+
* noise during the d.ts pre-pass.
|
|
203
|
+
*
|
|
204
|
+
* @param warning - The rollup log entry.
|
|
205
|
+
* @returns `true` when the warning is a `@types/*` augmentation false positive.
|
|
206
|
+
*/
|
|
207
|
+
const isTypesAugmentationMiss = (warning) => warning.code === 'MISSING_EXPORT' && typeof warning.exporter === 'string' && warning.exporter.includes('/@types/');
|
|
208
|
+
/**
|
|
209
|
+
* Shared rollup `onwarn` handler for every pre-pass job. Drops the known-benign
|
|
210
|
+
* warning classes that bundling third-party / workspace deps routinely emits
|
|
211
|
+
* (see {@link SUPPRESSED_WARNING_CODES} and {@link isTypesAugmentationMiss}) and
|
|
212
|
+
* forwards everything else to rollup's default handler.
|
|
213
|
+
*
|
|
214
|
+
* @param warning - The rollup log entry.
|
|
215
|
+
* @param defaultHandler - Rollup's default warning handler.
|
|
216
|
+
*
|
|
217
|
+
* @example Wiring the handler into a rollup config
|
|
218
|
+
* ```typescript
|
|
219
|
+
* const config: RollupOptions = { input, plugins, onwarn: onWarn }
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
const onWarn = (warning, defaultHandler) => {
|
|
223
|
+
if (warning.code && SUPPRESSED_WARNING_CODES.has(warning.code))
|
|
224
|
+
return;
|
|
225
|
+
if (isTypesAugmentationMiss(warning))
|
|
226
|
+
return;
|
|
227
|
+
defaultHandler(warning);
|
|
228
|
+
};
|
|
229
|
+
const matchesAnyDep = (id, deps) => {
|
|
230
|
+
for (const d of deps) {
|
|
231
|
+
if (id === d || id.startsWith(`${d}/`))
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
return false;
|
|
235
|
+
};
|
|
236
|
+
const matchesAnyExactSpecifier = (id, specifiers) => {
|
|
237
|
+
if (!specifiers || specifiers.length === 0)
|
|
238
|
+
return false;
|
|
239
|
+
for (const s of specifiers) {
|
|
240
|
+
if (id === s)
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
return false;
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* Packages whose JS implementation is intentionally NOT inlined during the JS pre-pass.
|
|
247
|
+
*
|
|
248
|
+
* Mirrors `ALWAYS_EXTERNAL_TYPE_DEPS` for the JS half. `typescript` is permanent
|
|
249
|
+
* consumer-supplied — both `@rollup/plugin-typescript` and `rollup-plugin-dts`
|
|
250
|
+
* follow `require('typescript')` into the compiler; without this gate, ~30 MB
|
|
251
|
+
* of typescript bytecode ends up inlined into `_dependencies/<plugin>/index.<fmt>.js`.
|
|
252
|
+
*/
|
|
253
|
+
const ALWAYS_EXTERNAL_JS_DEPS = new Set(['typescript']);
|
|
254
|
+
const isExternalJsDep = (id) => {
|
|
255
|
+
for (const name of ALWAYS_EXTERNAL_JS_DEPS) {
|
|
256
|
+
if (id === name || id.startsWith(`${name}/`))
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
return false;
|
|
260
|
+
};
|
|
261
|
+
/**
|
|
262
|
+
* Builds the canonical externalize plugin for a pre-pass job when the parent
|
|
263
|
+
* supplied npm deps or workspace routes. Mirrors the plugin install on the
|
|
264
|
+
* per-entry rollup side so chunk-internal cross-bundled-dep specifiers get
|
|
265
|
+
* rewritten to relative paths under `_dependencies/` instead of leaking as bare
|
|
266
|
+
* `require('@hyperfrontend/...')` calls into the published artifact.
|
|
267
|
+
*
|
|
268
|
+
* @param job - Pre-pass job spec; only `npmDeps`, `workspaceRoutes`, `depsRoot`, and `outputPath` are read here.
|
|
269
|
+
* @param format - Output format the plugin should rewrite specifiers for (`'esm'`, `'cjs'`, or `'dts'`).
|
|
270
|
+
* @returns The plugin when routing data is supplied, or `undefined` to opt out of rewriting.
|
|
271
|
+
*/
|
|
272
|
+
const maybeExternalizePlugin = (job, format) => {
|
|
273
|
+
const npmDeps = job.npmDeps ?? [];
|
|
274
|
+
const workspaceRoutes = job.workspaceRoutes ?? [];
|
|
275
|
+
if (npmDeps.length === 0 && workspaceRoutes.length === 0)
|
|
276
|
+
return undefined;
|
|
277
|
+
if (!job.depsRoot)
|
|
278
|
+
return undefined;
|
|
279
|
+
return createExternalizeBundledDepsPlugin({
|
|
280
|
+
deps: npmDeps,
|
|
281
|
+
entryOutDir: node_path.dirname(job.outputPath),
|
|
282
|
+
format,
|
|
283
|
+
depsRoot: job.depsRoot,
|
|
284
|
+
workspaceRoutes,
|
|
285
|
+
});
|
|
286
|
+
};
|
|
287
|
+
const buildJsConfig = (job) => {
|
|
288
|
+
const plugins = [];
|
|
289
|
+
const externalizePlugin = maybeExternalizePlugin(job, job.format);
|
|
290
|
+
const hasExternalize = externalizePlugin !== undefined;
|
|
291
|
+
if (externalizePlugin)
|
|
292
|
+
plugins.push(externalizePlugin);
|
|
293
|
+
plugins.push(json__default.default(), nodeResolve__default.default({ preferBuiltins: true, extensions: ['.mjs', '.js', '.cjs', '.json'] }), commonjs__default.default({ ignoreDynamicRequires: true }));
|
|
294
|
+
return {
|
|
295
|
+
input: job.inputPath,
|
|
296
|
+
// why: when the externalize plugin is active, it owns rewriting of bundled-dep specifiers to relative paths under depsRoot. The `external` callback must not short-circuit those — rollup consults `external` before plugin resolveId can run, so any matchesAnyDep hit there leaks bare specifiers into the chunk.
|
|
297
|
+
external: (id) => node_module.isBuiltin(id) || id.startsWith('node:') || (!hasExternalize && matchesAnyDep(id, job.otherDeps)) || isExternalJsDep(id),
|
|
298
|
+
onwarn: onWarn,
|
|
299
|
+
plugins,
|
|
300
|
+
};
|
|
301
|
+
};
|
|
302
|
+
const requireWorkspaceField = (job, field) => {
|
|
303
|
+
const value = job[field];
|
|
304
|
+
if (!value) {
|
|
305
|
+
throw new Error(`workspace pre-pass job for ${job.dep} (${job.kind}/${job.format}) missing ${field}`);
|
|
306
|
+
}
|
|
307
|
+
return value;
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* Builds a JS rollup config for a workspace-source pre-pass. The input is a
|
|
311
|
+
* `.ts` source file; `@rollup/plugin-typescript` transpiles it (and any
|
|
312
|
+
* transitive workspace files reached via tsconfig path-mapping) while sibling
|
|
313
|
+
* pre-passed specifiers stay external so each chunk is self-contained.
|
|
314
|
+
*
|
|
315
|
+
* The plugin is driven by the dep's own tsconfig (resolved by the parent and
|
|
316
|
+
* passed through `job.tsConfigPath`), keeping the workspace pre-pass agnostic
|
|
317
|
+
* of any workspace-root tsconfig.
|
|
318
|
+
*
|
|
319
|
+
* @param job - Pre-pass job spec with `tsConfigPath` and `workspaceRoot` populated.
|
|
320
|
+
* @returns Rollup options ready for the worker to invoke.
|
|
321
|
+
*/
|
|
322
|
+
const buildWorkspaceJsConfig = (job) => {
|
|
323
|
+
const tsConfigPath = requireWorkspaceField(job, 'tsConfigPath');
|
|
324
|
+
const workspaceRoot = requireWorkspaceField(job, 'workspaceRoot');
|
|
325
|
+
const tsPlugin = typescript__default.default({
|
|
326
|
+
tsconfig: tsConfigPath,
|
|
327
|
+
declaration: false,
|
|
328
|
+
declarationMap: false,
|
|
329
|
+
sourceMap: false,
|
|
330
|
+
compilerOptions: {
|
|
331
|
+
baseUrl: workspaceRoot,
|
|
332
|
+
outDir: node_path.dirname(job.outputPath),
|
|
333
|
+
noEmitOnError: false,
|
|
334
|
+
noEmit: false,
|
|
335
|
+
module: 'esnext',
|
|
336
|
+
},
|
|
337
|
+
});
|
|
338
|
+
const plugins = [];
|
|
339
|
+
const externalizePlugin = maybeExternalizePlugin(job, job.format);
|
|
340
|
+
const hasExternalize = externalizePlugin !== undefined;
|
|
341
|
+
if (externalizePlugin)
|
|
342
|
+
plugins.push(externalizePlugin);
|
|
343
|
+
plugins.push(json__default.default(), nodeResolve__default.default({ preferBuiltins: true, extensions: ['.ts', '.mjs', '.js', '.cjs', '.json'] }), commonjs__default.default({ ignoreDynamicRequires: true }), tsPlugin);
|
|
344
|
+
return {
|
|
345
|
+
input: job.inputPath,
|
|
346
|
+
external: (id) => node_module.isBuiltin(id) ||
|
|
347
|
+
id.startsWith('node:') ||
|
|
348
|
+
(!hasExternalize && matchesAnyDep(id, job.otherDeps)) ||
|
|
349
|
+
(!hasExternalize && matchesAnyExactSpecifier(id, job.otherWorkspaceSpecifiers)) ||
|
|
350
|
+
isExternalJsDep(id),
|
|
351
|
+
onwarn: onWarn,
|
|
352
|
+
plugins,
|
|
353
|
+
};
|
|
354
|
+
};
|
|
355
|
+
const buildJsOutput = (job) => ({
|
|
356
|
+
file: job.outputPath,
|
|
357
|
+
format: job.format === 'esm' ? 'esm' : 'cjs',
|
|
358
|
+
sourcemap: false,
|
|
359
|
+
inlineDynamicImports: true,
|
|
360
|
+
exports: 'auto',
|
|
361
|
+
generatedCode: { constBindings: true },
|
|
362
|
+
});
|
|
363
|
+
/**
|
|
364
|
+
* Packages whose `.d.ts` is intentionally NOT inlined during the d.ts pre-pass.
|
|
365
|
+
*
|
|
366
|
+
* `typescript` is a permanent consumer requirement — never bundled, never inlined,
|
|
367
|
+
* never copied into `_dependencies/`. The compiler is too large (~10 MB just for
|
|
368
|
+
* `lib/typescript.d.ts`), its namespace re-exports defeat `rollup-plugin-dts`,
|
|
369
|
+
* and every consumer of `@hyperfrontend/builder` is, by definition, already a
|
|
370
|
+
* TypeScript project. Emitted `.d.ts` keeps `import type ... from 'typescript'`
|
|
371
|
+
* intact so the consumer's own install satisfies the type imports.
|
|
372
|
+
*/
|
|
373
|
+
const ALWAYS_EXTERNAL_TYPE_DEPS = new Set(['typescript']);
|
|
374
|
+
const isExternalTypeDep = (id) => {
|
|
375
|
+
for (const name of ALWAYS_EXTERNAL_TYPE_DEPS) {
|
|
376
|
+
if (id === name || id.startsWith(`${name}/`))
|
|
377
|
+
return true;
|
|
378
|
+
}
|
|
379
|
+
return false;
|
|
380
|
+
};
|
|
381
|
+
const loadDtsFactory = async () => {
|
|
382
|
+
const dtsModule = await import('../../../_dependencies/rollup-plugin-dts/index.cjs.js');
|
|
383
|
+
/* istanbul ignore next -- @preserve fallback path for CJS-style rollup-plugin-dts module shapes */
|
|
384
|
+
return (dtsModule.default ?? dtsModule);
|
|
385
|
+
};
|
|
386
|
+
const maybeSiblingPlugin = (job) => {
|
|
387
|
+
if (!job.siblingEntries || job.siblingEntries.length === 0 || !job.selfDtsPath)
|
|
388
|
+
return undefined;
|
|
389
|
+
return createSiblingExternalizePlugin({
|
|
390
|
+
selfSrcPath: job.selfSrcPath ?? '',
|
|
391
|
+
selfDtsPath: job.selfDtsPath,
|
|
392
|
+
siblings: job.siblingEntries,
|
|
393
|
+
});
|
|
394
|
+
};
|
|
395
|
+
const buildDtsConfig = async (job) => {
|
|
396
|
+
const dtsFactory = await loadDtsFactory();
|
|
397
|
+
const plugins = [];
|
|
398
|
+
const siblingPlugin = maybeSiblingPlugin(job);
|
|
399
|
+
if (siblingPlugin)
|
|
400
|
+
plugins.push(siblingPlugin);
|
|
401
|
+
const externalizePlugin = maybeExternalizePlugin(job, 'dts');
|
|
402
|
+
const hasExternalize = externalizePlugin !== undefined;
|
|
403
|
+
if (externalizePlugin)
|
|
404
|
+
plugins.push(externalizePlugin);
|
|
405
|
+
plugins.push(dtsFactory({ respectExternal: true }));
|
|
406
|
+
return {
|
|
407
|
+
input: job.inputPath,
|
|
408
|
+
external: (id) => node_module.isBuiltin(id) || id.startsWith('node:') || (!hasExternalize && matchesAnyDep(id, job.otherDeps)) || isExternalTypeDep(id),
|
|
409
|
+
onwarn: onWarn,
|
|
410
|
+
plugins,
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
/**
|
|
414
|
+
* Builds a d.ts rollup config for a workspace-source pre-pass. The input is a
|
|
415
|
+
* `.ts` source file; `rollup-plugin-dts` drives TypeScript using the project's
|
|
416
|
+
* tsconfig so workspace path-mappings resolve and transitive type imports are
|
|
417
|
+
* properly inlined or externalized.
|
|
418
|
+
*
|
|
419
|
+
* @param job - Pre-pass job spec with `tsConfigPath` and `workspaceRoot` populated.
|
|
420
|
+
* @returns Rollup options ready for the worker to invoke.
|
|
421
|
+
*/
|
|
422
|
+
const buildWorkspaceDtsConfig = async (job) => {
|
|
423
|
+
const tsConfigPath = requireWorkspaceField(job, 'tsConfigPath');
|
|
424
|
+
const workspaceRoot = requireWorkspaceField(job, 'workspaceRoot');
|
|
425
|
+
const dtsFactory = await loadDtsFactory();
|
|
426
|
+
const plugins = [];
|
|
427
|
+
const externalizePlugin = maybeExternalizePlugin(job, 'dts');
|
|
428
|
+
const hasExternalize = externalizePlugin !== undefined;
|
|
429
|
+
if (externalizePlugin)
|
|
430
|
+
plugins.push(externalizePlugin);
|
|
431
|
+
plugins.push(dtsFactory({ respectExternal: true, tsconfig: tsConfigPath, compilerOptions: { baseUrl: workspaceRoot } }));
|
|
432
|
+
return {
|
|
433
|
+
input: job.inputPath,
|
|
434
|
+
external: (id) => node_module.isBuiltin(id) ||
|
|
435
|
+
id.startsWith('node:') ||
|
|
436
|
+
(!hasExternalize && matchesAnyDep(id, job.otherDeps)) ||
|
|
437
|
+
(!hasExternalize && matchesAnyExactSpecifier(id, job.otherWorkspaceSpecifiers)) ||
|
|
438
|
+
isExternalTypeDep(id),
|
|
439
|
+
onwarn: onWarn,
|
|
440
|
+
plugins,
|
|
441
|
+
};
|
|
442
|
+
};
|
|
443
|
+
const buildDtsOutput = (job) => ({
|
|
444
|
+
file: job.outputPath,
|
|
445
|
+
format: 'es',
|
|
446
|
+
sourcemap: false,
|
|
447
|
+
inlineDynamicImports: true,
|
|
448
|
+
});
|
|
449
|
+
const ensureParentDir = (filePath) => {
|
|
450
|
+
node_fs.mkdirSync(node_path.dirname(filePath), { recursive: true });
|
|
451
|
+
};
|
|
452
|
+
const buildConfigForJob = async (job) => {
|
|
453
|
+
switch (job.kind) {
|
|
454
|
+
case 'dts':
|
|
455
|
+
return buildDtsConfig(job);
|
|
456
|
+
case 'workspace-js':
|
|
457
|
+
return buildWorkspaceJsConfig(job);
|
|
458
|
+
case 'workspace-dts':
|
|
459
|
+
return buildWorkspaceDtsConfig(job);
|
|
460
|
+
default:
|
|
461
|
+
return buildJsConfig(job);
|
|
462
|
+
}
|
|
463
|
+
};
|
|
464
|
+
/**
|
|
465
|
+
* Runs a single pre-pass rollup invocation as described by `job` and writes the
|
|
466
|
+
* resulting report to `job.reportPath`.
|
|
467
|
+
*
|
|
468
|
+
* Public so callers (and tests) can drive the worker logic without spawning a
|
|
469
|
+
* new Node process.
|
|
470
|
+
*
|
|
471
|
+
* @param job - Job spec describing the rollup invocation.
|
|
472
|
+
* @returns The on-disk report data the worker would have persisted.
|
|
473
|
+
*
|
|
474
|
+
* @example Driving the worker logic in-process for a fixture
|
|
475
|
+
* ```typescript
|
|
476
|
+
* const report = await runPrePassWorkerJob({ kind: 'js', dep: 'rollup', ... })
|
|
477
|
+
* ```
|
|
478
|
+
*/
|
|
479
|
+
const runPrePassWorkerJob = async (job) => {
|
|
480
|
+
const startedAt = Date.now();
|
|
481
|
+
ensureParentDir(job.outputPath);
|
|
482
|
+
ensureParentDir(job.reportPath);
|
|
483
|
+
const config = await buildConfigForJob(job);
|
|
484
|
+
const output = job.kind === 'dts' || job.kind === 'workspace-dts' ? buildDtsOutput(job) : buildJsOutput(job);
|
|
485
|
+
const bundle = await index_cjs_js.rollup(config);
|
|
486
|
+
try {
|
|
487
|
+
await bundle.write(output);
|
|
488
|
+
}
|
|
489
|
+
finally {
|
|
490
|
+
await bundle.close();
|
|
491
|
+
}
|
|
492
|
+
const memory = process.memoryUsage();
|
|
493
|
+
const report = {
|
|
494
|
+
outputSize: node_fs.statSync(job.outputPath).size,
|
|
495
|
+
endHeapMB: memory.heapUsed / BYTES_PER_MB,
|
|
496
|
+
endRssMB: memory.rss / BYTES_PER_MB,
|
|
497
|
+
durationMs: Date.now() - startedAt,
|
|
498
|
+
};
|
|
499
|
+
node_fs.writeFileSync(job.reportPath, JSON.stringify(report));
|
|
500
|
+
return report;
|
|
501
|
+
};
|
|
502
|
+
|
|
503
|
+
const isMainModule = () => {
|
|
504
|
+
if (typeof require !== 'undefined' && typeof module !== 'undefined' && require.main === module) {
|
|
505
|
+
return true;
|
|
506
|
+
}
|
|
507
|
+
const argv1 = process.argv[1] ?? '';
|
|
508
|
+
return argv1.endsWith('index.cjs.js') || argv1.endsWith('index.esm.js') || argv1.endsWith('index.ts') || argv1.endsWith('index.js');
|
|
509
|
+
};
|
|
510
|
+
if (isMainModule()) {
|
|
511
|
+
const raw = process.argv[2];
|
|
512
|
+
if (!raw) {
|
|
513
|
+
process.stderr.write('pre-pass worker: missing job spec on argv\n');
|
|
514
|
+
process.exit(2);
|
|
515
|
+
}
|
|
516
|
+
const job = JSON.parse(raw);
|
|
517
|
+
runPrePassWorkerJob(job).then(() => process.exit(0), (error) => {
|
|
518
|
+
const message = error instanceof Error ? (error.stack ?? error.message) : String(error);
|
|
519
|
+
process.stderr.write(`pre-pass worker for ${job.dep}/${job.kind}/${job.format} failed: ${message}\n`);
|
|
520
|
+
process.exit(1);
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
exports.runPrePassWorkerJob = runPrePassWorkerJob;
|