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