@powerlines/core 0.48.27 → 0.48.28
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/dist/_virtual/_rolldown/runtime.cjs +14 -0
- package/dist/_virtual/_rolldown/runtime.mjs +26 -0
- package/dist/constants/api.test.cjs +42 -0
- package/dist/constants/api.test.d.cts +1 -0
- package/dist/constants/api.test.d.mts +2 -0
- package/dist/constants/api.test.mjs +44 -0
- package/dist/constants/api.test.mjs.map +1 -0
- package/dist/constants/commands.test.cjs +29 -0
- package/dist/constants/commands.test.d.cts +1 -0
- package/dist/constants/commands.test.d.mts +2 -0
- package/dist/constants/commands.test.mjs +31 -0
- package/dist/constants/commands.test.mjs.map +1 -0
- package/dist/constants/devtools.test.cjs +46 -0
- package/dist/constants/devtools.test.d.cts +1 -0
- package/dist/constants/devtools.test.d.mts +2 -0
- package/dist/constants/devtools.test.mjs +48 -0
- package/dist/constants/devtools.test.mjs.map +1 -0
- package/dist/constants/environments.test.cjs +34 -0
- package/dist/constants/environments.test.d.cts +1 -0
- package/dist/constants/environments.test.d.mts +2 -0
- package/dist/constants/environments.test.mjs +36 -0
- package/dist/constants/environments.test.mjs.map +1 -0
- package/dist/constants/extensions.test.cjs +35 -0
- package/dist/constants/extensions.test.d.cts +1 -0
- package/dist/constants/extensions.test.d.mts +2 -0
- package/dist/constants/extensions.test.mjs +37 -0
- package/dist/constants/extensions.test.mjs.map +1 -0
- package/dist/constants/fs.test.cjs +34 -0
- package/dist/constants/fs.test.d.cts +1 -0
- package/dist/constants/fs.test.d.mts +2 -0
- package/dist/constants/fs.test.mjs +36 -0
- package/dist/constants/fs.test.mjs.map +1 -0
- package/dist/constants/hooks.test.cjs +29 -0
- package/dist/constants/hooks.test.d.cts +1 -0
- package/dist/constants/hooks.test.d.mts +2 -0
- package/dist/constants/hooks.test.mjs +31 -0
- package/dist/constants/hooks.test.mjs.map +1 -0
- package/dist/constants/log-level.test.cjs +76 -0
- package/dist/constants/log-level.test.d.cts +1 -0
- package/dist/constants/log-level.test.d.mts +2 -0
- package/dist/constants/log-level.test.mjs +78 -0
- package/dist/constants/log-level.test.mjs.map +1 -0
- package/dist/constants/meta.test.cjs +33 -0
- package/dist/constants/meta.test.d.cts +1 -0
- package/dist/constants/meta.test.d.mts +2 -0
- package/dist/constants/meta.test.mjs +35 -0
- package/dist/constants/meta.test.mjs.map +1 -0
- package/dist/constants/plugin.test.cjs +59 -0
- package/dist/constants/plugin.test.d.cts +1 -0
- package/dist/constants/plugin.test.d.mts +2 -0
- package/dist/constants/plugin.test.mjs +61 -0
- package/dist/constants/plugin.test.mjs.map +1 -0
- package/dist/context/base-context.cjs +8 -1
- package/dist/context/base-context.d.cts.map +1 -1
- package/dist/context/base-context.d.mts.map +1 -1
- package/dist/context/base-context.mjs +3 -1
- package/dist/context/base-context.mjs.map +1 -1
- package/dist/context/base-context.test.cjs +23 -0
- package/dist/context/base-context.test.d.cts +1 -0
- package/dist/context/base-context.test.d.mts +2 -0
- package/dist/context/base-context.test.mjs +25 -0
- package/dist/context/base-context.test.mjs.map +1 -0
- package/dist/context/context.cjs +8 -1
- package/dist/context/context.d.cts.map +1 -1
- package/dist/context/context.d.mts.map +1 -1
- package/dist/context/context.mjs +3 -1
- package/dist/context/context.mjs.map +1 -1
- package/dist/context/context.test.cjs +23 -0
- package/dist/context/context.test.d.cts +1 -0
- package/dist/context/context.test.d.mts +2 -0
- package/dist/context/context.test.mjs +25 -0
- package/dist/context/context.test.mjs.map +1 -0
- package/dist/context/environment-context.cjs +9 -1
- package/dist/context/environment-context.d.cts.map +1 -1
- package/dist/context/environment-context.d.mts.map +1 -1
- package/dist/context/environment-context.mjs +3 -1
- package/dist/context/environment-context.mjs.map +1 -1
- package/dist/context/environment-context.test.cjs +23 -0
- package/dist/context/environment-context.test.d.cts +1 -0
- package/dist/context/environment-context.test.d.mts +2 -0
- package/dist/context/environment-context.test.mjs +25 -0
- package/dist/context/environment-context.test.mjs.map +1 -0
- package/dist/context/execution-context.cjs +8 -1
- package/dist/context/execution-context.d.cts.map +1 -1
- package/dist/context/execution-context.d.mts.map +1 -1
- package/dist/context/execution-context.mjs +3 -1
- package/dist/context/execution-context.mjs.map +1 -1
- package/dist/context/execution-context.test.cjs +23 -0
- package/dist/context/execution-context.test.d.cts +1 -0
- package/dist/context/execution-context.test.d.mts +2 -0
- package/dist/context/execution-context.test.mjs +25 -0
- package/dist/context/execution-context.test.mjs.map +1 -0
- package/dist/context/plugin-context.cjs +9 -1
- package/dist/context/plugin-context.d.cts.map +1 -1
- package/dist/context/plugin-context.d.mts.map +1 -1
- package/dist/context/plugin-context.mjs +3 -1
- package/dist/context/plugin-context.mjs.map +1 -1
- package/dist/context/plugin-context.test.cjs +23 -0
- package/dist/context/plugin-context.test.d.cts +1 -0
- package/dist/context/plugin-context.test.d.mts +2 -0
- package/dist/context/plugin-context.test.mjs +25 -0
- package/dist/context/plugin-context.test.mjs.map +1 -0
- package/dist/lib/config.cjs +18 -0
- package/dist/lib/config.mjs +14 -1
- package/dist/lib/config.mjs.map +1 -1
- package/dist/lib/config.test.cjs +23 -0
- package/dist/lib/config.test.d.cts +1 -0
- package/dist/lib/config.test.d.mts +2 -0
- package/dist/lib/config.test.mjs +25 -0
- package/dist/lib/config.test.mjs.map +1 -0
- package/dist/lib/context-helpers.cjs +11 -0
- package/dist/lib/context-helpers.d.cts.map +1 -1
- package/dist/lib/context-helpers.d.mts.map +1 -1
- package/dist/lib/context-helpers.mjs +6 -1
- package/dist/lib/context-helpers.mjs.map +1 -1
- package/dist/lib/context-helpers.test.cjs +23 -0
- package/dist/lib/context-helpers.test.d.cts +1 -0
- package/dist/lib/context-helpers.test.d.mts +2 -0
- package/dist/lib/context-helpers.test.mjs +25 -0
- package/dist/lib/context-helpers.test.mjs.map +1 -0
- package/dist/lib/entry.cjs +16 -0
- package/dist/lib/entry.d.cts.map +1 -1
- package/dist/lib/entry.d.mts.map +1 -1
- package/dist/lib/entry.mjs +11 -1
- package/dist/lib/entry.mjs.map +1 -1
- package/dist/lib/entry.test.cjs +23 -0
- package/dist/lib/entry.test.d.cts +1 -0
- package/dist/lib/entry.test.d.mts +2 -0
- package/dist/lib/entry.test.mjs +25 -0
- package/dist/lib/entry.test.mjs.map +1 -0
- package/dist/lib/environment.cjs +12 -0
- package/dist/lib/environment.d.cts.map +1 -1
- package/dist/lib/environment.d.mts.map +1 -1
- package/dist/lib/environment.mjs +8 -1
- package/dist/lib/environment.mjs.map +1 -1
- package/dist/lib/environment.test.cjs +23 -0
- package/dist/lib/environment.test.d.cts +1 -0
- package/dist/lib/environment.test.d.mts +2 -0
- package/dist/lib/environment.test.mjs +25 -0
- package/dist/lib/environment.test.mjs.map +1 -0
- package/dist/lib/events.cjs +9 -1
- package/dist/lib/events.d.cts.map +1 -1
- package/dist/lib/events.d.mts.map +1 -1
- package/dist/lib/events.mjs +4 -1
- package/dist/lib/events.mjs.map +1 -1
- package/dist/lib/events.test.cjs +23 -0
- package/dist/lib/events.test.d.cts +1 -0
- package/dist/lib/events.test.d.mts +2 -0
- package/dist/lib/events.test.mjs +25 -0
- package/dist/lib/events.test.mjs.map +1 -0
- package/dist/lib/generate-types.cjs +12 -0
- package/dist/lib/generate-types.d.cts.map +1 -1
- package/dist/lib/generate-types.d.mts.map +1 -1
- package/dist/lib/generate-types.mjs +7 -1
- package/dist/lib/generate-types.mjs.map +1 -1
- package/dist/lib/generate-types.test.cjs +23 -0
- package/dist/lib/generate-types.test.d.cts +1 -0
- package/dist/lib/generate-types.test.d.mts +2 -0
- package/dist/lib/generate-types.test.mjs +25 -0
- package/dist/lib/generate-types.test.mjs.map +1 -0
- package/dist/lib/hooks.cjs +12 -0
- package/dist/lib/hooks.d.cts.map +1 -1
- package/dist/lib/hooks.d.mts.map +1 -1
- package/dist/lib/hooks.mjs +8 -1
- package/dist/lib/hooks.mjs.map +1 -1
- package/dist/lib/hooks.test.cjs +23 -0
- package/dist/lib/hooks.test.d.cts +1 -0
- package/dist/lib/hooks.test.d.mts +2 -0
- package/dist/lib/hooks.test.mjs +25 -0
- package/dist/lib/hooks.test.mjs.map +1 -0
- package/dist/lib/install-dependencies.cjs +9 -1
- package/dist/lib/install-dependencies.d.cts.map +1 -1
- package/dist/lib/install-dependencies.d.mts.map +1 -1
- package/dist/lib/install-dependencies.mjs +3 -1
- package/dist/lib/install-dependencies.mjs.map +1 -1
- package/dist/lib/install-dependencies.test.cjs +23 -0
- package/dist/lib/install-dependencies.test.d.cts +1 -0
- package/dist/lib/install-dependencies.test.d.mts +2 -0
- package/dist/lib/install-dependencies.test.mjs +25 -0
- package/dist/lib/install-dependencies.test.mjs.map +1 -0
- package/dist/lib/meta.test.cjs +35 -0
- package/dist/lib/meta.test.d.cts +1 -0
- package/dist/lib/meta.test.d.mts +2 -0
- package/dist/lib/meta.test.mjs +37 -0
- package/dist/lib/meta.test.mjs.map +1 -0
- package/dist/lib/plugins.cjs +11 -0
- package/dist/lib/plugins.d.cts.map +1 -1
- package/dist/lib/plugins.d.mts.map +1 -1
- package/dist/lib/plugins.mjs +7 -1
- package/dist/lib/plugins.mjs.map +1 -1
- package/dist/lib/plugins.test.cjs +23 -0
- package/dist/lib/plugins.test.d.cts +1 -0
- package/dist/lib/plugins.test.d.mts +2 -0
- package/dist/lib/plugins.test.mjs +25 -0
- package/dist/lib/plugins.test.mjs.map +1 -0
- package/dist/lib/resolver.cjs +8 -1
- package/dist/lib/resolver.mjs +3 -1
- package/dist/lib/resolver.mjs.map +1 -1
- package/dist/lib/resolver.test.cjs +23 -0
- package/dist/lib/resolver.test.d.cts +1 -0
- package/dist/lib/resolver.test.d.mts +2 -0
- package/dist/lib/resolver.test.mjs +25 -0
- package/dist/lib/resolver.test.mjs.map +1 -0
- package/dist/lib/streaming-channel.cjs +12 -1
- package/dist/lib/streaming-channel.d.cts.map +1 -1
- package/dist/lib/streaming-channel.d.mts.map +1 -1
- package/dist/lib/streaming-channel.mjs +6 -1
- package/dist/lib/streaming-channel.mjs.map +1 -1
- package/dist/lib/streaming-channel.test.cjs +23 -0
- package/dist/lib/streaming-channel.test.d.cts +1 -0
- package/dist/lib/streaming-channel.test.d.mts +2 -0
- package/dist/lib/streaming-channel.test.mjs +25 -0
- package/dist/lib/streaming-channel.test.mjs.map +1 -0
- package/dist/lib/typescript/ts-morph.cjs +11 -1
- package/dist/lib/typescript/ts-morph.d.cts.map +1 -1
- package/dist/lib/typescript/ts-morph.d.mts.map +1 -1
- package/dist/lib/typescript/ts-morph.mjs +6 -1
- package/dist/lib/typescript/ts-morph.mjs.map +1 -1
- package/dist/lib/typescript/ts-morph.test.cjs +23 -0
- package/dist/lib/typescript/ts-morph.test.d.cts +1 -0
- package/dist/lib/typescript/ts-morph.test.d.mts +2 -0
- package/dist/lib/typescript/ts-morph.test.mjs +25 -0
- package/dist/lib/typescript/ts-morph.test.mjs.map +1 -0
- package/dist/lib/typescript/tsconfig.cjs +19 -1
- package/dist/lib/typescript/tsconfig.d.cts.map +1 -1
- package/dist/lib/typescript/tsconfig.d.mts.map +1 -1
- package/dist/lib/typescript/tsconfig.mjs +14 -1
- package/dist/lib/typescript/tsconfig.mjs.map +1 -1
- package/dist/lib/typescript/tsconfig.test.cjs +23 -0
- package/dist/lib/typescript/tsconfig.test.d.cts +1 -0
- package/dist/lib/typescript/tsconfig.test.d.mts +2 -0
- package/dist/lib/typescript/tsconfig.test.mjs +25 -0
- package/dist/lib/typescript/tsconfig.test.mjs.map +1 -0
- package/dist/lib/unplugin/helpers.cjs +11 -0
- package/dist/lib/unplugin/helpers.d.cts.map +1 -1
- package/dist/lib/unplugin/helpers.d.mts.map +1 -1
- package/dist/lib/unplugin/helpers.mjs +6 -1
- package/dist/lib/unplugin/helpers.mjs.map +1 -1
- package/dist/lib/unplugin/helpers.test.cjs +23 -0
- package/dist/lib/unplugin/helpers.test.d.cts +1 -0
- package/dist/lib/unplugin/helpers.test.d.mts +2 -0
- package/dist/lib/unplugin/helpers.test.mjs +25 -0
- package/dist/lib/unplugin/helpers.test.mjs.map +1 -0
- package/dist/lib/unplugin/module-resolution.cjs +8 -1
- package/dist/lib/unplugin/module-resolution.d.cts.map +1 -1
- package/dist/lib/unplugin/module-resolution.d.mts.map +1 -1
- package/dist/lib/unplugin/module-resolution.mjs +3 -1
- package/dist/lib/unplugin/module-resolution.mjs.map +1 -1
- package/dist/lib/unplugin/module-resolution.test.cjs +23 -0
- package/dist/lib/unplugin/module-resolution.test.d.cts +1 -0
- package/dist/lib/unplugin/module-resolution.test.d.mts +2 -0
- package/dist/lib/unplugin/module-resolution.test.mjs +25 -0
- package/dist/lib/unplugin/module-resolution.test.mjs.map +1 -0
- package/dist/lib/unplugin/plugin.cjs +12 -1
- package/dist/lib/unplugin/plugin.d.cts.map +1 -1
- package/dist/lib/unplugin/plugin.d.mts.map +1 -1
- package/dist/lib/unplugin/plugin.mjs +6 -1
- package/dist/lib/unplugin/plugin.mjs.map +1 -1
- package/dist/lib/unplugin/plugin.test.cjs +23 -0
- package/dist/lib/unplugin/plugin.test.d.cts +1 -0
- package/dist/lib/unplugin/plugin.test.d.mts +2 -0
- package/dist/lib/unplugin/plugin.test.mjs +25 -0
- package/dist/lib/unplugin/plugin.test.mjs.map +1 -0
- package/dist/lib/utilities/file-header.cjs +13 -0
- package/dist/lib/utilities/file-header.mjs +8 -1
- package/dist/lib/utilities/file-header.mjs.map +1 -1
- package/dist/lib/utilities/file-header.test.cjs +23 -0
- package/dist/lib/utilities/file-header.test.d.cts +1 -0
- package/dist/lib/utilities/file-header.test.d.mts +2 -0
- package/dist/lib/utilities/file-header.test.mjs +25 -0
- package/dist/lib/utilities/file-header.test.mjs.map +1 -0
- package/dist/lib/utilities/format.cjs +11 -1
- package/dist/lib/utilities/format.mjs +6 -1
- package/dist/lib/utilities/format.mjs.map +1 -1
- package/dist/lib/utilities/format.test.cjs +23 -0
- package/dist/lib/utilities/format.test.d.cts +1 -0
- package/dist/lib/utilities/format.test.d.mts +2 -0
- package/dist/lib/utilities/format.test.mjs +25 -0
- package/dist/lib/utilities/format.test.mjs.map +1 -0
- package/dist/lib/utilities/source-file.cjs +12 -1
- package/dist/lib/utilities/source-file.mjs +7 -1
- package/dist/lib/utilities/source-file.mjs.map +1 -1
- package/dist/lib/utilities/source-file.test.cjs +23 -0
- package/dist/lib/utilities/source-file.test.d.cts +1 -0
- package/dist/lib/utilities/source-file.test.d.mts +2 -0
- package/dist/lib/utilities/source-file.test.mjs +25 -0
- package/dist/lib/utilities/source-file.test.mjs.map +1 -0
- package/dist/lib/utilities/source-map.cjs +8 -1
- package/dist/lib/utilities/source-map.mjs +3 -1
- package/dist/lib/utilities/source-map.mjs.map +1 -1
- package/dist/lib/utilities/source-map.test.cjs +23 -0
- package/dist/lib/utilities/source-map.test.d.cts +1 -0
- package/dist/lib/utilities/source-map.test.d.mts +2 -0
- package/dist/lib/utilities/source-map.test.mjs +25 -0
- package/dist/lib/utilities/source-map.test.mjs.map +1 -0
- package/dist/lib/utilities/write-file.cjs +9 -1
- package/dist/lib/utilities/write-file.mjs +3 -1
- package/dist/lib/utilities/write-file.mjs.map +1 -1
- package/dist/lib/utilities/write-file.test.cjs +23 -0
- package/dist/lib/utilities/write-file.test.d.cts +1 -0
- package/dist/lib/utilities/write-file.test.d.mts +2 -0
- package/dist/lib/utilities/write-file.test.mjs +25 -0
- package/dist/lib/utilities/write-file.test.mjs.map +1 -0
- package/dist/lib/vfs.cjs +8 -1
- package/dist/lib/vfs.d.cts.map +1 -1
- package/dist/lib/vfs.d.mts.map +1 -1
- package/dist/lib/vfs.mjs +3 -1
- package/dist/lib/vfs.mjs.map +1 -1
- package/dist/lib/vfs.test.cjs +23 -0
- package/dist/lib/vfs.test.d.cts +1 -0
- package/dist/lib/vfs.test.d.mts +2 -0
- package/dist/lib/vfs.test.mjs +25 -0
- package/dist/lib/vfs.test.mjs.map +1 -0
- package/dist/plugin-base.cjs +12 -1
- package/dist/plugin-base.mjs +6 -1
- package/dist/plugin-base.mjs.map +1 -1
- package/dist/plugin-base.test.cjs +23 -0
- package/dist/plugin-base.test.d.cts +1 -0
- package/dist/plugin-base.test.d.mts +2 -0
- package/dist/plugin-base.test.mjs +25 -0
- package/dist/plugin-base.test.mjs.map +1 -0
- package/dist/plugin-utils/build-helpers.cjs +8 -0
- package/dist/plugin-utils/build-helpers.d.cts.map +1 -1
- package/dist/plugin-utils/build-helpers.d.mts.map +1 -1
- package/dist/plugin-utils/build-helpers.mjs +3 -1
- package/dist/plugin-utils/build-helpers.mjs.map +1 -1
- package/dist/plugin-utils/build-helpers.test.cjs +23 -0
- package/dist/plugin-utils/build-helpers.test.d.cts +1 -0
- package/dist/plugin-utils/build-helpers.test.d.mts +2 -0
- package/dist/plugin-utils/build-helpers.test.mjs +25 -0
- package/dist/plugin-utils/build-helpers.test.mjs.map +1 -0
- package/dist/plugin-utils/combine-plugins.cjs +12 -1
- package/dist/plugin-utils/combine-plugins.mjs +6 -1
- package/dist/plugin-utils/combine-plugins.mjs.map +1 -1
- package/dist/plugin-utils/combine-plugins.test.cjs +23 -0
- package/dist/plugin-utils/combine-plugins.test.d.cts +1 -0
- package/dist/plugin-utils/combine-plugins.test.d.mts +2 -0
- package/dist/plugin-utils/combine-plugins.test.mjs +25 -0
- package/dist/plugin-utils/combine-plugins.test.mjs.map +1 -0
- package/dist/plugin-utils/context-helpers.cjs +13 -0
- package/dist/plugin-utils/context-helpers.mjs +8 -1
- package/dist/plugin-utils/context-helpers.mjs.map +1 -1
- package/dist/plugin-utils/context-helpers.test.cjs +23 -0
- package/dist/plugin-utils/context-helpers.test.d.cts +1 -0
- package/dist/plugin-utils/context-helpers.test.d.mts +2 -0
- package/dist/plugin-utils/context-helpers.test.mjs +25 -0
- package/dist/plugin-utils/context-helpers.test.mjs.map +1 -0
- package/dist/plugin-utils/docs-helper.cjs +8 -0
- package/dist/plugin-utils/docs-helper.mjs +3 -1
- package/dist/plugin-utils/docs-helper.mjs.map +1 -1
- package/dist/plugin-utils/docs-helper.test.cjs +23 -0
- package/dist/plugin-utils/docs-helper.test.d.cts +1 -0
- package/dist/plugin-utils/docs-helper.test.d.mts +2 -0
- package/dist/plugin-utils/docs-helper.test.mjs +25 -0
- package/dist/plugin-utils/docs-helper.test.mjs.map +1 -0
- package/dist/plugin-utils/enable-plugin.cjs +9 -1
- package/dist/plugin-utils/enable-plugin.d.cts.map +1 -1
- package/dist/plugin-utils/enable-plugin.d.mts.map +1 -1
- package/dist/plugin-utils/enable-plugin.mjs +3 -1
- package/dist/plugin-utils/enable-plugin.mjs.map +1 -1
- package/dist/plugin-utils/enable-plugin.test.cjs +23 -0
- package/dist/plugin-utils/enable-plugin.test.d.cts +1 -0
- package/dist/plugin-utils/enable-plugin.test.d.mts +2 -0
- package/dist/plugin-utils/enable-plugin.test.mjs +25 -0
- package/dist/plugin-utils/enable-plugin.test.mjs.map +1 -0
- package/dist/plugin-utils/extend.cjs +9 -1
- package/dist/plugin-utils/extend.d.cts.map +1 -1
- package/dist/plugin-utils/extend.d.mts.map +1 -1
- package/dist/plugin-utils/extend.mjs +3 -1
- package/dist/plugin-utils/extend.mjs.map +1 -1
- package/dist/plugin-utils/extend.test.cjs +23 -0
- package/dist/plugin-utils/extend.test.d.cts +1 -0
- package/dist/plugin-utils/extend.test.d.mts +2 -0
- package/dist/plugin-utils/extend.test.mjs +25 -0
- package/dist/plugin-utils/extend.test.mjs.map +1 -0
- package/dist/plugin-utils/filter.cjs +17 -0
- package/dist/plugin-utils/filter.mjs +13 -1
- package/dist/plugin-utils/filter.mjs.map +1 -1
- package/dist/plugin-utils/filter.test.cjs +23 -0
- package/dist/plugin-utils/filter.test.d.cts +1 -0
- package/dist/plugin-utils/filter.test.d.mts +2 -0
- package/dist/plugin-utils/filter.test.mjs +25 -0
- package/dist/plugin-utils/filter.test.mjs.map +1 -0
- package/dist/plugin-utils/format-package-json.cjs +9 -1
- package/dist/plugin-utils/format-package-json.mjs +3 -1
- package/dist/plugin-utils/format-package-json.mjs.map +1 -1
- package/dist/plugin-utils/format-package-json.test.cjs +23 -0
- package/dist/plugin-utils/format-package-json.test.d.cts +1 -0
- package/dist/plugin-utils/format-package-json.test.d.mts +2 -0
- package/dist/plugin-utils/format-package-json.test.mjs +25 -0
- package/dist/plugin-utils/format-package-json.test.mjs.map +1 -0
- package/dist/plugin-utils/format.cjs +9 -1
- package/dist/plugin-utils/format.mjs +3 -1
- package/dist/plugin-utils/format.mjs.map +1 -1
- package/dist/plugin-utils/format.test.cjs +23 -0
- package/dist/plugin-utils/format.test.d.cts +1 -0
- package/dist/plugin-utils/format.test.d.mts +2 -0
- package/dist/plugin-utils/format.test.mjs +25 -0
- package/dist/plugin-utils/format.test.mjs.map +1 -0
- package/dist/plugin-utils/get-config-path.cjs +9 -1
- package/dist/plugin-utils/get-config-path.mjs +3 -1
- package/dist/plugin-utils/get-config-path.mjs.map +1 -1
- package/dist/plugin-utils/get-config-path.test.cjs +23 -0
- package/dist/plugin-utils/get-config-path.test.d.cts +1 -0
- package/dist/plugin-utils/get-config-path.test.d.mts +2 -0
- package/dist/plugin-utils/get-config-path.test.mjs +25 -0
- package/dist/plugin-utils/get-config-path.test.mjs.map +1 -0
- package/dist/plugin-utils/helpers.cjs +25 -0
- package/dist/plugin-utils/helpers.d.cts.map +1 -1
- package/dist/plugin-utils/helpers.d.mts.map +1 -1
- package/dist/plugin-utils/helpers.mjs +20 -1
- package/dist/plugin-utils/helpers.mjs.map +1 -1
- package/dist/plugin-utils/helpers.test.cjs +23 -0
- package/dist/plugin-utils/helpers.test.d.cts +1 -0
- package/dist/plugin-utils/helpers.test.d.mts +2 -0
- package/dist/plugin-utils/helpers.test.mjs +25 -0
- package/dist/plugin-utils/helpers.test.mjs.map +1 -0
- package/dist/plugin-utils/install.cjs +12 -1
- package/dist/plugin-utils/install.mjs +6 -1
- package/dist/plugin-utils/install.mjs.map +1 -1
- package/dist/plugin-utils/install.test.cjs +23 -0
- package/dist/plugin-utils/install.test.d.cts +1 -0
- package/dist/plugin-utils/install.test.d.mts +2 -0
- package/dist/plugin-utils/install.test.mjs +25 -0
- package/dist/plugin-utils/install.test.mjs.map +1 -0
- package/dist/plugin-utils/logging.cjs +24 -0
- package/dist/plugin-utils/logging.mjs +20 -1
- package/dist/plugin-utils/logging.mjs.map +1 -1
- package/dist/plugin-utils/logging.test.cjs +23 -0
- package/dist/plugin-utils/logging.test.d.cts +1 -0
- package/dist/plugin-utils/logging.test.d.mts +2 -0
- package/dist/plugin-utils/logging.test.mjs +25 -0
- package/dist/plugin-utils/logging.test.mjs.map +1 -0
- package/dist/plugin-utils/merge.cjs +11 -1
- package/dist/plugin-utils/merge.d.cts.map +1 -1
- package/dist/plugin-utils/merge.d.mts.map +1 -1
- package/dist/plugin-utils/merge.mjs +6 -1
- package/dist/plugin-utils/merge.mjs.map +1 -1
- package/dist/plugin-utils/merge.test.cjs +23 -0
- package/dist/plugin-utils/merge.test.d.cts +1 -0
- package/dist/plugin-utils/merge.test.d.mts +2 -0
- package/dist/plugin-utils/merge.test.mjs +25 -0
- package/dist/plugin-utils/merge.test.mjs.map +1 -0
- package/dist/plugin-utils/modules.cjs +9 -1
- package/dist/plugin-utils/modules.mjs +4 -1
- package/dist/plugin-utils/modules.mjs.map +1 -1
- package/dist/plugin-utils/modules.test.cjs +23 -0
- package/dist/plugin-utils/modules.test.d.cts +1 -0
- package/dist/plugin-utils/modules.test.d.mts +2 -0
- package/dist/plugin-utils/modules.test.mjs +25 -0
- package/dist/plugin-utils/modules.test.mjs.map +1 -0
- package/dist/plugin-utils/paths.cjs +8 -0
- package/dist/plugin-utils/paths.mjs +3 -1
- package/dist/plugin-utils/paths.mjs.map +1 -1
- package/dist/plugin-utils/paths.test.cjs +23 -0
- package/dist/plugin-utils/paths.test.d.cts +1 -0
- package/dist/plugin-utils/paths.test.d.mts +2 -0
- package/dist/plugin-utils/paths.test.mjs +25 -0
- package/dist/plugin-utils/paths.test.mjs.map +1 -0
- package/dist/plugin-utils/virtual.cjs +17 -1
- package/dist/plugin-utils/virtual.mjs +12 -1
- package/dist/plugin-utils/virtual.mjs.map +1 -1
- package/dist/plugin-utils/virtual.test.cjs +23 -0
- package/dist/plugin-utils/virtual.test.d.cts +1 -0
- package/dist/plugin-utils/virtual.test.d.mts +2 -0
- package/dist/plugin-utils/virtual.test.mjs +25 -0
- package/dist/plugin-utils/virtual.test.mjs.map +1 -0
- package/dist/schemas/fs.d.cts.map +1 -1
- package/dist/schemas/fs.d.mts.map +1 -1
- package/dist/storage/base.cjs +9 -1
- package/dist/storage/base.d.cts.map +1 -1
- package/dist/storage/base.d.mts.map +1 -1
- package/dist/storage/base.mjs +3 -1
- package/dist/storage/base.mjs.map +1 -1
- package/dist/storage/base.test.cjs +23 -0
- package/dist/storage/base.test.d.cts +1 -0
- package/dist/storage/base.test.d.mts +2 -0
- package/dist/storage/base.test.mjs +25 -0
- package/dist/storage/base.test.mjs.map +1 -0
- package/dist/storage/file-system.cjs +9 -1
- package/dist/storage/file-system.mjs +3 -1
- package/dist/storage/file-system.mjs.map +1 -1
- package/dist/storage/file-system.test.cjs +23 -0
- package/dist/storage/file-system.test.d.cts +1 -0
- package/dist/storage/file-system.test.d.mts +2 -0
- package/dist/storage/file-system.test.mjs +25 -0
- package/dist/storage/file-system.test.mjs.map +1 -0
- package/dist/storage/helpers.cjs +12 -0
- package/dist/storage/helpers.mjs +7 -1
- package/dist/storage/helpers.mjs.map +1 -1
- package/dist/storage/helpers.test.cjs +23 -0
- package/dist/storage/helpers.test.d.cts +1 -0
- package/dist/storage/helpers.test.d.mts +2 -0
- package/dist/storage/helpers.test.mjs +25 -0
- package/dist/storage/helpers.test.mjs.map +1 -0
- package/dist/storage/virtual.cjs +9 -1
- package/dist/storage/virtual.d.cts.map +1 -1
- package/dist/storage/virtual.d.mts.map +1 -1
- package/dist/storage/virtual.mjs +3 -1
- package/dist/storage/virtual.mjs.map +1 -1
- package/dist/storage/virtual.test.cjs +23 -0
- package/dist/storage/virtual.test.d.cts +1 -0
- package/dist/storage/virtual.test.d.mts +2 -0
- package/dist/storage/virtual.test.mjs +25 -0
- package/dist/storage/virtual.test.mjs.map +1 -0
- package/package.json +257 -17
package/dist/lib/environment.mjs
CHANGED
|
@@ -6,6 +6,7 @@ import __tsdown_shims_url from 'node:url'
|
|
|
6
6
|
const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
|
|
7
7
|
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
8
|
|
|
9
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
|
|
9
10
|
import { DEFAULT_ENVIRONMENT } from "../constants/environments.mjs";
|
|
10
11
|
import { callHook } from "./hooks.mjs";
|
|
11
12
|
import "../constants/index.mjs";
|
|
@@ -15,6 +16,12 @@ import { uuid } from "@stryke/unique-id/uuid";
|
|
|
15
16
|
import { isSet } from "@stryke/type-checks/is-set";
|
|
16
17
|
|
|
17
18
|
//#region src/lib/environment.ts
|
|
19
|
+
var environment_exports = /* @__PURE__ */ __exportAll({
|
|
20
|
+
createDefaultEnvironment: () => createDefaultEnvironment,
|
|
21
|
+
createEnvironment: () => createEnvironment,
|
|
22
|
+
executeEnvironments: () => executeEnvironments,
|
|
23
|
+
getEnvironments: () => getEnvironments
|
|
24
|
+
});
|
|
18
25
|
function createEnvironment(name, config) {
|
|
19
26
|
return defu(config.environments?.[name] ?? {}, {
|
|
20
27
|
id: uuid(),
|
|
@@ -71,5 +78,5 @@ async function executeEnvironments(context, handle) {
|
|
|
71
78
|
}
|
|
72
79
|
|
|
73
80
|
//#endregion
|
|
74
|
-
export { createDefaultEnvironment, createEnvironment, executeEnvironments, getEnvironments };
|
|
81
|
+
export { createDefaultEnvironment, createEnvironment, environment_exports, executeEnvironments, getEnvironments };
|
|
75
82
|
//# sourceMappingURL=environment.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.mjs","names":[],"sources":["../../src/lib/environment.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isSet } from \"@stryke/type-checks/is-set\";\nimport { MaybePromise } from \"@stryke/types/base\";\nimport { uuid } from \"@stryke/unique-id/uuid\";\nimport defu from \"defu\";\nimport { DEFAULT_ENVIRONMENT } from \"../constants\";\nimport type {\n EnvironmentContext,\n EnvironmentResolvedConfig,\n ExecutionContext,\n ResolvedConfig\n} from \"../types\";\nimport { callHook } from \"./hooks\";\n\nexport function createEnvironment<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>(name: string, config: TResolvedConfig) {\n return defu(config.environments?.[name] ?? {}, {\n id: uuid(),\n name,\n title: config.title ?? titleCase(config.name),\n ssr: false,\n resolve: {\n mainFields:\n config.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"]\n },\n consumer: config.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n config.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n }) as unknown as EnvironmentResolvedConfig<TResolvedConfig>[\"environment\"];\n}\n\nexport function createDefaultEnvironment<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>(config: TResolvedConfig) {\n return createEnvironment<TResolvedConfig>(DEFAULT_ENVIRONMENT, config);\n}\n\nexport async function getEnvironments<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig,\n TSystemContext = unknown\n>(\n context: ExecutionContext<TResolvedConfig, TSystemContext>\n): Promise<EnvironmentContext<TResolvedConfig, TSystemContext>[]> {\n if (\n !context.config.environments ||\n Object.keys(context.config.environments).length <= 1\n ) {\n context.debug({\n meta: {\n category: \"config\"\n },\n message:\n \"No environments are configured for this Powerlines project. Using the default environment.\"\n });\n\n return [await context.getEnvironment()];\n }\n\n context.debug({\n meta: {\n category: \"config\"\n },\n message: `Found ${\n Object.keys(context.config.environments).length\n } configured environment(s) for this Powerlines project.`\n });\n\n return (\n await Promise.all(\n Object.entries(context.config.environments).map(\n async ([name, config]) => {\n const environment = await context.getEnvironmentSafe(name);\n if (!environment) {\n const resolvedEnvironment = await callHook(\n context,\n \"configEnvironment\",\n {\n environment: name\n },\n name,\n config\n );\n\n if (resolvedEnvironment) {\n context.environments[name] = await context.createEnvironment(\n resolvedEnvironment as EnvironmentResolvedConfig<TResolvedConfig>[\"environment\"]\n );\n }\n }\n\n return context.environments[name];\n }\n )\n )\n ).filter(env => isSet(env));\n}\n\nexport async function executeEnvironments<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig,\n TSystemContext = unknown\n>(\n context: ExecutionContext<TResolvedConfig, TSystemContext>,\n handle: (\n env: EnvironmentContext<TResolvedConfig, TSystemContext>\n ) => MaybePromise<void>\n) {\n await Promise.all(\n (await getEnvironments(context)).map(async env =>\n Promise.resolve(handle(env))\n )\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"environment.mjs","names":[],"sources":["../../src/lib/environment.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isSet } from \"@stryke/type-checks/is-set\";\nimport { MaybePromise } from \"@stryke/types/base\";\nimport { uuid } from \"@stryke/unique-id/uuid\";\nimport defu from \"defu\";\nimport { DEFAULT_ENVIRONMENT } from \"../constants\";\nimport type {\n EnvironmentContext,\n EnvironmentResolvedConfig,\n ExecutionContext,\n ResolvedConfig\n} from \"../types\";\nimport { callHook } from \"./hooks\";\n\nexport function createEnvironment<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>(name: string, config: TResolvedConfig) {\n return defu(config.environments?.[name] ?? {}, {\n id: uuid(),\n name,\n title: config.title ?? titleCase(config.name),\n ssr: false,\n resolve: {\n mainFields:\n config.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"]\n },\n consumer: config.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n config.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n }) as unknown as EnvironmentResolvedConfig<TResolvedConfig>[\"environment\"];\n}\n\nexport function createDefaultEnvironment<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>(config: TResolvedConfig) {\n return createEnvironment<TResolvedConfig>(DEFAULT_ENVIRONMENT, config);\n}\n\nexport async function getEnvironments<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig,\n TSystemContext = unknown\n>(\n context: ExecutionContext<TResolvedConfig, TSystemContext>\n): Promise<EnvironmentContext<TResolvedConfig, TSystemContext>[]> {\n if (\n !context.config.environments ||\n Object.keys(context.config.environments).length <= 1\n ) {\n context.debug({\n meta: {\n category: \"config\"\n },\n message:\n \"No environments are configured for this Powerlines project. Using the default environment.\"\n });\n\n return [await context.getEnvironment()];\n }\n\n context.debug({\n meta: {\n category: \"config\"\n },\n message: `Found ${\n Object.keys(context.config.environments).length\n } configured environment(s) for this Powerlines project.`\n });\n\n return (\n await Promise.all(\n Object.entries(context.config.environments).map(\n async ([name, config]) => {\n const environment = await context.getEnvironmentSafe(name);\n if (!environment) {\n const resolvedEnvironment = await callHook(\n context,\n \"configEnvironment\",\n {\n environment: name\n },\n name,\n config\n );\n\n if (resolvedEnvironment) {\n context.environments[name] = await context.createEnvironment(\n resolvedEnvironment as EnvironmentResolvedConfig<TResolvedConfig>[\"environment\"]\n );\n }\n }\n\n return context.environments[name];\n }\n )\n )\n ).filter(env => isSet(env));\n}\n\nexport async function executeEnvironments<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig,\n TSystemContext = unknown\n>(\n context: ExecutionContext<TResolvedConfig, TSystemContext>,\n handle: (\n env: EnvironmentContext<TResolvedConfig, TSystemContext>\n ) => MaybePromise<void>\n) {\n await Promise.all(\n (await getEnvironments(context)).map(async env =>\n Promise.resolve(handle(env))\n )\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAgB,kBAEd,MAAc,QAAyB;CACvC,OAAO,KAAK,OAAO,eAAe,SAAS,CAAC,GAAG;EAC7C,IAAI,KAAK;EACT;EACA,OAAO,OAAO,SAAS,UAAU,OAAO,IAAI;EAC5C,KAAK;EACL,SAAS,EACP,YACE,OAAO,aAAa,YAChB;GAAC;GAAW;GAAU;GAAe;EAAQ,IAC7C;GAAC;GAAU;GAAe;EAAQ,EAC1C;EACA,UAAU,OAAO,aAAa,YAAY,WAAW;EACrD,SACE,OAAO,aAAa,YAChB;GACE,MAAM;GACN,MAAM;GACN,YAAY;GAEZ,MAAM;GACN,cAAc,CAAC,GAAG;GAClB,MAAM;GACN,SAAS,CAAC;EACZ,IACA;CACR,CAAC;AACH;AAEA,SAAgB,yBAEd,QAAyB;CACzB,OAAO,kBAAmC,qBAAqB,MAAM;AACvE;AAEA,eAAsB,gBAIpB,SACgE;CAChE,IACE,CAAC,QAAQ,OAAO,gBAChB,OAAO,KAAK,QAAQ,OAAO,YAAY,EAAE,UAAU,GACnD;EACA,QAAQ,MAAM;GACZ,MAAM,EACJ,UAAU,SACZ;GACA,SACE;EACJ,CAAC;EAED,OAAO,CAAC,MAAM,QAAQ,eAAe,CAAC;CACxC;CAEA,QAAQ,MAAM;EACZ,MAAM,EACJ,UAAU,SACZ;EACA,SAAS,SACP,OAAO,KAAK,QAAQ,OAAO,YAAY,EAAE,OAC1C;CACH,CAAC;CAED,QACE,MAAM,QAAQ,IACZ,OAAO,QAAQ,QAAQ,OAAO,YAAY,EAAE,IAC1C,OAAO,CAAC,MAAM,YAAY;EAExB,IAAI,CAAC,MADqB,QAAQ,mBAAmB,IAAI,GACvC;GAChB,MAAM,sBAAsB,MAAM,SAChC,SACA,qBACA,EACE,aAAa,KACf,GACA,MACA,MACF;GAEA,IAAI,qBACF,QAAQ,aAAa,QAAQ,MAAM,QAAQ,kBACzC,mBACF;EAEJ;EAEA,OAAO,QAAQ,aAAa;CAC9B,CACF,CACF,GACA,QAAO,QAAO,MAAM,GAAG,CAAC;AAC5B;AAEA,eAAsB,oBAIpB,SACA,QAGA;CACA,MAAM,QAAQ,KACX,MAAM,gBAAgB,OAAO,GAAG,IAAI,OAAM,QACzC,QAAQ,QAAQ,OAAO,GAAG,CAAC,CAC7B,CACF;AACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import __tsdown_shims_path from 'node:path'
|
|
4
|
+
import __tsdown_shims_url from 'node:url'
|
|
5
|
+
|
|
6
|
+
const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
|
|
7
|
+
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
|
+
|
|
9
|
+
const require_lib_environment = require('./environment.cjs');
|
|
10
|
+
let vitest = require("vitest");
|
|
11
|
+
|
|
12
|
+
//#region src/lib/environment.test.ts
|
|
13
|
+
(0, vitest.describe)("base/core/src/lib/environment.ts", () => {
|
|
14
|
+
(0, vitest.it)("loads module exports", () => {
|
|
15
|
+
(0, vitest.expect)(require_lib_environment.environment_exports).toBeDefined();
|
|
16
|
+
(0, vitest.expect)(typeof require_lib_environment.environment_exports).toBe("object");
|
|
17
|
+
});
|
|
18
|
+
(0, vitest.it)("has at least one runtime export", () => {
|
|
19
|
+
(0, vitest.expect)(Object.keys(require_lib_environment.environment_exports).length).toBeGreaterThan(0);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import __tsdown_shims_path from 'node:path'
|
|
4
|
+
import __tsdown_shims_url from 'node:url'
|
|
5
|
+
|
|
6
|
+
const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
|
|
7
|
+
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
|
+
|
|
9
|
+
import { environment_exports } from "./environment.mjs";
|
|
10
|
+
import { describe, expect, it } from "vitest";
|
|
11
|
+
|
|
12
|
+
//#region src/lib/environment.test.ts
|
|
13
|
+
describe("base/core/src/lib/environment.ts", () => {
|
|
14
|
+
it("loads module exports", () => {
|
|
15
|
+
expect(environment_exports).toBeDefined();
|
|
16
|
+
expect(typeof environment_exports).toBe("object");
|
|
17
|
+
});
|
|
18
|
+
it("has at least one runtime export", () => {
|
|
19
|
+
expect(Object.keys(environment_exports).length).toBeGreaterThan(0);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { };
|
|
25
|
+
//# sourceMappingURL=environment.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.test.mjs","names":["moduleExports"],"sources":["../../src/lib/environment.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport * as moduleExports from \"./environment\";\n\ndescribe(\"base/core/src/lib/environment.ts\", () => {\n it(\"loads module exports\", () => {\n expect(moduleExports).toBeDefined();\n expect(typeof moduleExports).toBe(\"object\");\n });\n\n it(\"has at least one runtime export\", () => {\n expect(Object.keys(moduleExports).length).toBeGreaterThan(0);\n });\n});\n"],"mappings":";;;;;;;;;;;;AAGA,SAAS,0CAA0C;CACjD,GAAG,8BAA8B;EAC/B,OAAOA,mBAAa,EAAE,YAAY;EAClC,OAAO,OAAOA,mBAAa,EAAE,KAAK,QAAQ;CAC5C,CAAC;CAED,GAAG,yCAAyC;EAC1C,OAAO,OAAO,KAAKA,mBAAa,EAAE,MAAM,EAAE,gBAAgB,CAAC;CAC7D,CAAC;AACH,CAAC"}
|
package/dist/lib/events.cjs
CHANGED
|
@@ -7,8 +7,10 @@ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPat
|
|
|
7
7
|
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
10
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
10
11
|
|
|
11
12
|
//#region src/lib/events.ts
|
|
13
|
+
var events_exports = /* @__PURE__ */ require_runtime.__exportAll({ createEventEmitter: () => createEventEmitter });
|
|
12
14
|
/**
|
|
13
15
|
* Create event emitter.
|
|
14
16
|
*/
|
|
@@ -48,4 +50,10 @@ function createEventEmitter() {
|
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
//#endregion
|
|
51
|
-
exports.createEventEmitter = createEventEmitter;
|
|
53
|
+
exports.createEventEmitter = createEventEmitter;
|
|
54
|
+
Object.defineProperty(exports, 'events_exports', {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return events_exports;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.cts","names":[],"sources":["../../src/lib/events.ts"],"mappings":";;;;;AAuBA;iBAAgB,kBAAA,gBACC,SAAA,
|
|
1
|
+
{"version":3,"file":"events.d.cts","names":[],"sources":["../../src/lib/events.ts"],"mappings":";;;;;AAuBA;iBAAgB,kBAAA,gBACC,SAAA,KACZ,YAAA,CAAa,MAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.mts","names":[],"sources":["../../src/lib/events.ts"],"mappings":";;;;;;;;iBAuBgB,kBAAA,gBACC,SAAA,
|
|
1
|
+
{"version":3,"file":"events.d.mts","names":[],"sources":["../../src/lib/events.ts"],"mappings":";;;;;;;;iBAuBgB,kBAAA,gBACC,SAAA,KACZ,YAAA,CAAa,MAAA"}
|
package/dist/lib/events.mjs
CHANGED
|
@@ -6,7 +6,10 @@ import __tsdown_shims_url from 'node:url'
|
|
|
6
6
|
const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
|
|
7
7
|
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
8
|
|
|
9
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
|
|
10
|
+
|
|
9
11
|
//#region src/lib/events.ts
|
|
12
|
+
var events_exports = /* @__PURE__ */ __exportAll({ createEventEmitter: () => createEventEmitter });
|
|
10
13
|
/**
|
|
11
14
|
* Create event emitter.
|
|
12
15
|
*/
|
|
@@ -46,5 +49,5 @@ function createEventEmitter() {
|
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
//#endregion
|
|
49
|
-
export { createEventEmitter };
|
|
52
|
+
export { createEventEmitter, events_exports };
|
|
50
53
|
//# sourceMappingURL=events.mjs.map
|
package/dist/lib/events.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.mjs","names":[],"sources":["../../src/lib/events.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { EventEmitter, EventsMap, EventUnsubscribe } from \"devframe/types\";\n\n/**\n * Create event emitter.\n */\nexport function createEventEmitter<\n Events extends EventsMap\n>(): EventEmitter<Events> {\n const _listeners: Partial<{ [E in keyof Events]: Events[E][] }> = {};\n\n function emit<K extends keyof Events>(\n event: K,\n ...args: Parameters<Events[K]>\n ) {\n const callbacks = _listeners[event] || [];\n for (let i = 0, length = callbacks.length; i < length; i++) {\n const callback = callbacks[i];\n if (callback) {\n // eslint-disable-next-line ts/no-unsafe-call\n callback(...args);\n }\n }\n }\n function emitOnce<K extends keyof Events>(\n event: K,\n ...args: Parameters<Events[K]>\n ) {\n emit(event, ...args);\n delete _listeners[event];\n }\n function on<K extends keyof Events>(\n event: K,\n cb: Events[K]\n ): EventUnsubscribe {\n (_listeners[event] ||= [] as Events[K][]).push(cb);\n return () => {\n _listeners[event] = _listeners[event]?.filter(i => cb !== i);\n };\n }\n function once<K extends keyof Events>(event: K, cb: Events[K]) {\n const unsubscribe = on(event, ((...args: Parameters<Events[K]>) => {\n unsubscribe();\n\n // eslint-disable-next-line ts/no-unsafe-call\n return cb(...args);\n }) as Events[K]);\n\n return unsubscribe;\n }\n\n return {\n _listeners,\n emit,\n emitOnce,\n on,\n once\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"events.mjs","names":[],"sources":["../../src/lib/events.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { EventEmitter, EventsMap, EventUnsubscribe } from \"devframe/types\";\n\n/**\n * Create event emitter.\n */\nexport function createEventEmitter<\n Events extends EventsMap\n>(): EventEmitter<Events> {\n const _listeners: Partial<{ [E in keyof Events]: Events[E][] }> = {};\n\n function emit<K extends keyof Events>(\n event: K,\n ...args: Parameters<Events[K]>\n ) {\n const callbacks = _listeners[event] || [];\n for (let i = 0, length = callbacks.length; i < length; i++) {\n const callback = callbacks[i];\n if (callback) {\n // eslint-disable-next-line ts/no-unsafe-call\n callback(...args);\n }\n }\n }\n function emitOnce<K extends keyof Events>(\n event: K,\n ...args: Parameters<Events[K]>\n ) {\n emit(event, ...args);\n delete _listeners[event];\n }\n function on<K extends keyof Events>(\n event: K,\n cb: Events[K]\n ): EventUnsubscribe {\n (_listeners[event] ||= [] as Events[K][]).push(cb);\n return () => {\n _listeners[event] = _listeners[event]?.filter(i => cb !== i);\n };\n }\n function once<K extends keyof Events>(event: K, cb: Events[K]) {\n const unsubscribe = on(event, ((...args: Parameters<Events[K]>) => {\n unsubscribe();\n\n // eslint-disable-next-line ts/no-unsafe-call\n return cb(...args);\n }) as Events[K]);\n\n return unsubscribe;\n }\n\n return {\n _listeners,\n emit,\n emitOnce,\n on,\n once\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuBA,SAAgB,qBAEU;CACxB,MAAM,aAA4D,CAAC;CAEnE,SAAS,KACP,OACA,GAAG,MACH;EACA,MAAM,YAAY,WAAW,UAAU,CAAC;EACxC,KAAK,IAAI,IAAI,GAAG,SAAS,UAAU,QAAQ,IAAI,QAAQ,KAAK;GAC1D,MAAM,WAAW,UAAU;GAC3B,IAAI,UAEF,SAAS,GAAG,IAAI;EAEpB;CACF;CACA,SAAS,SACP,OACA,GAAG,MACH;EACA,KAAK,OAAO,GAAG,IAAI;EACnB,OAAO,WAAW;CACpB;CACA,SAAS,GACP,OACA,IACkB;EAClB,CAAC,WAAW,WAAW,CAAC,GAAkB,KAAK,EAAE;EACjD,aAAa;GACX,WAAW,SAAS,WAAW,QAAQ,QAAO,MAAK,OAAO,CAAC;EAC7D;CACF;CACA,SAAS,KAA6B,OAAU,IAAe;EAC7D,MAAM,cAAc,GAAG,SAAS,GAAG,SAAgC;GACjE,YAAY;GAGZ,OAAO,GAAG,GAAG,IAAI;EACnB,EAAe;EAEf,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import __tsdown_shims_path from 'node:path'
|
|
4
|
+
import __tsdown_shims_url from 'node:url'
|
|
5
|
+
|
|
6
|
+
const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
|
|
7
|
+
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
|
+
|
|
9
|
+
const require_lib_events = require('./events.cjs');
|
|
10
|
+
let vitest = require("vitest");
|
|
11
|
+
|
|
12
|
+
//#region src/lib/events.test.ts
|
|
13
|
+
(0, vitest.describe)("base/core/src/lib/events.ts", () => {
|
|
14
|
+
(0, vitest.it)("loads module exports", () => {
|
|
15
|
+
(0, vitest.expect)(require_lib_events.events_exports).toBeDefined();
|
|
16
|
+
(0, vitest.expect)(typeof require_lib_events.events_exports).toBe("object");
|
|
17
|
+
});
|
|
18
|
+
(0, vitest.it)("has at least one runtime export", () => {
|
|
19
|
+
(0, vitest.expect)(Object.keys(require_lib_events.events_exports).length).toBeGreaterThan(0);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import __tsdown_shims_path from 'node:path'
|
|
4
|
+
import __tsdown_shims_url from 'node:url'
|
|
5
|
+
|
|
6
|
+
const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
|
|
7
|
+
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
|
+
|
|
9
|
+
import { events_exports } from "./events.mjs";
|
|
10
|
+
import { describe, expect, it } from "vitest";
|
|
11
|
+
|
|
12
|
+
//#region src/lib/events.test.ts
|
|
13
|
+
describe("base/core/src/lib/events.ts", () => {
|
|
14
|
+
it("loads module exports", () => {
|
|
15
|
+
expect(events_exports).toBeDefined();
|
|
16
|
+
expect(typeof events_exports).toBe("object");
|
|
17
|
+
});
|
|
18
|
+
it("has at least one runtime export", () => {
|
|
19
|
+
expect(Object.keys(events_exports).length).toBeGreaterThan(0);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { };
|
|
25
|
+
//# sourceMappingURL=events.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.test.mjs","names":["moduleExports"],"sources":["../../src/lib/events.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport * as moduleExports from \"./events\";\n\ndescribe(\"base/core/src/lib/events.ts\", () => {\n it(\"loads module exports\", () => {\n expect(moduleExports).toBeDefined();\n expect(typeof moduleExports).toBe(\"object\");\n });\n\n it(\"has at least one runtime export\", () => {\n expect(Object.keys(moduleExports).length).toBeGreaterThan(0);\n });\n});\n"],"mappings":";;;;;;;;;;;;AAGA,SAAS,qCAAqC;CAC5C,GAAG,8BAA8B;EAC/B,OAAOA,cAAa,EAAE,YAAY;EAClC,OAAO,OAAOA,cAAa,EAAE,KAAK,QAAQ;CAC5C,CAAC;CAED,GAAG,yCAAyC;EAC1C,OAAO,OAAO,KAAKA,cAAa,EAAE,MAAM,EAAE,gBAAgB,CAAC;CAC7D,CAAC;AACH,CAAC"}
|
|
@@ -7,6 +7,7 @@ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPat
|
|
|
7
7
|
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
10
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
10
11
|
const require_lib_utilities_format = require('./utilities/format.cjs');
|
|
11
12
|
const require_lib_hooks = require('./hooks.cjs');
|
|
12
13
|
const require_lib_typescript_ts_morph = require('./typescript/ts-morph.cjs');
|
|
@@ -26,6 +27,11 @@ let _stryke_string_format_pretty_bytes = require("@stryke/string-format/pretty-b
|
|
|
26
27
|
let ts_morph = require("ts-morph");
|
|
27
28
|
|
|
28
29
|
//#region src/lib/generate-types.ts
|
|
30
|
+
var generate_types_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
31
|
+
emitBuiltinTypes: () => emitBuiltinTypes,
|
|
32
|
+
formatTypes: () => formatTypes,
|
|
33
|
+
handleTypes: () => handleTypes
|
|
34
|
+
});
|
|
29
35
|
/**
|
|
30
36
|
* Formats the generated TypeScript types source code.
|
|
31
37
|
*
|
|
@@ -375,4 +381,10 @@ ${formatTypes(code)}
|
|
|
375
381
|
//#endregion
|
|
376
382
|
exports.emitBuiltinTypes = emitBuiltinTypes;
|
|
377
383
|
exports.formatTypes = formatTypes;
|
|
384
|
+
Object.defineProperty(exports, 'generate_types_exports', {
|
|
385
|
+
enumerable: true,
|
|
386
|
+
get: function () {
|
|
387
|
+
return generate_types_exports;
|
|
388
|
+
}
|
|
389
|
+
});
|
|
378
390
|
exports.handleTypes = handleTypes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-types.d.cts","names":[],"sources":["../../src/lib/generate-types.ts"],"mappings":";;;;;UA2CU,qBAAA;EACR,IAAA;EACA,KAAA;EACA,OAAA;EACA,IAAA;AAAA;AAAA,UAGQ,eAAA;EACR,IAAA;EACA,UAAA,GAAa,qBAAqB;EAClC,GAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,eAAe;EACrD,IAAA;EACA,OAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,eAAe;EACrD,IAAA;EACA,QAAA;EACA,OAAA;AAAA;AAAA,UAGQ,iBAAA;EACR,IAAA;EACA,IAAA;EACA,UAAA,EAAY,UAAA;EACZ,OAAA;EACA,OAAA,GAAU,qBAAA;EACV,OAAA,EAAS,qBAAA;AAAA;AAAA,UAGM,cAAA;EACf,OAAA,EAAS,OAAA;EACT,OAAA,EAAS,GAAA;EACT,OAAA,EAAS,iBAAA;AAAA;;;;;;;iBASK,WAAA,CAAY,IAAS;AAxB5B;AAAA;;;;;;AAAA,iBAwWa,gBAAA,kBAAkC,OAAA,
|
|
1
|
+
{"version":3,"file":"generate-types.d.cts","names":[],"sources":["../../src/lib/generate-types.ts"],"mappings":";;;;;UA2CU,qBAAA;EACR,IAAA;EACA,KAAA;EACA,OAAA;EACA,IAAA;AAAA;AAAA,UAGQ,eAAA;EACR,IAAA;EACA,UAAA,GAAa,qBAAqB;EAClC,GAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,eAAe;EACrD,IAAA;EACA,OAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,eAAe;EACrD,IAAA;EACA,QAAA;EACA,OAAA;AAAA;AAAA,UAGQ,iBAAA;EACR,IAAA;EACA,IAAA;EACA,UAAA,EAAY,UAAA;EACZ,OAAA;EACA,OAAA,GAAU,qBAAA;EACV,OAAA,EAAS,qBAAA;AAAA;AAAA,UAGM,cAAA;EACf,OAAA,EAAS,OAAA;EACT,OAAA,EAAS,GAAA;EACT,OAAA,EAAS,iBAAA;AAAA;;;;;;;iBASK,WAAA,CAAY,IAAS;AAxB5B;AAAA;;;;;;AAAA,iBAwWa,gBAAA,kBAAkC,OAAA,EACtD,OAAA,EAAS,QAAA,EACT,KAAA,aACC,OAAA;EAAU,IAAA;EAAc,UAAA;AAAA;;;;;;;iBAsWL,WAAA,yBACI,cAAA,4BAGxB,OAAA,EAAS,gBAAA,CAAiB,eAAA,EAAiB,cAAA,GAC3C,GAAA,EAAK,kBAAA,CAAmB,eAAA,EAAiB,cAAA,IAAe,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-types.d.mts","names":[],"sources":["../../src/lib/generate-types.ts"],"mappings":";;;;;;;UA2CU,qBAAA;EACR,IAAA;EACA,KAAA;EACA,OAAA;EACA,IAAA;AAAA;AAAA,UAGQ,eAAA;EACR,IAAA;EACA,UAAA,GAAa,qBAAqB;EAClC,GAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,eAAe;EACrD,IAAA;EACA,OAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,eAAe;EACrD,IAAA;EACA,QAAA;EACA,OAAA;AAAA;AAAA,UAGQ,iBAAA;EACR,IAAA;EACA,IAAA;EACA,UAAA,EAAY,UAAA;EACZ,OAAA;EACA,OAAA,GAAU,qBAAA;EACV,OAAA,EAAS,qBAAA;AAAA;AAAA,UAGM,cAAA;EACf,OAAA,EAAS,OAAA;EACT,OAAA,EAAS,GAAA;EACT,OAAA,EAAS,iBAAA;AAAA;;;;;;AArBF;iBA8BO,WAAA,CAAY,IAAS;;;;;;;;iBAgVf,gBAAA,kBAAkC,OAAA,
|
|
1
|
+
{"version":3,"file":"generate-types.d.mts","names":[],"sources":["../../src/lib/generate-types.ts"],"mappings":";;;;;;;UA2CU,qBAAA;EACR,IAAA;EACA,KAAA;EACA,OAAA;EACA,IAAA;AAAA;AAAA,UAGQ,eAAA;EACR,IAAA;EACA,UAAA,GAAa,qBAAqB;EAClC,GAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,eAAe;EACrD,IAAA;EACA,OAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,eAAe;EACrD,IAAA;EACA,QAAA;EACA,OAAA;AAAA;AAAA,UAGQ,iBAAA;EACR,IAAA;EACA,IAAA;EACA,UAAA,EAAY,UAAA;EACZ,OAAA;EACA,OAAA,GAAU,qBAAA;EACV,OAAA,EAAS,qBAAA;AAAA;AAAA,UAGM,cAAA;EACf,OAAA,EAAS,OAAA;EACT,OAAA,EAAS,GAAA;EACT,OAAA,EAAS,iBAAA;AAAA;;;;;;AArBF;iBA8BO,WAAA,CAAY,IAAS;;;;;;;;iBAgVf,gBAAA,kBAAkC,OAAA,EACtD,OAAA,EAAS,QAAA,EACT,KAAA,aACC,OAAA;EAAU,IAAA;EAAc,UAAA;AAAA;;;;;;;iBAsWL,WAAA,yBACI,cAAA,4BAGxB,OAAA,EAAS,gBAAA,CAAiB,eAAA,EAAiB,cAAA,GAC3C,GAAA,EAAK,kBAAA,CAAmB,eAAA,EAAiB,cAAA,IAAe,OAAA"}
|
|
@@ -6,6 +6,7 @@ import __tsdown_shims_url from 'node:url'
|
|
|
6
6
|
const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
|
|
7
7
|
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
8
|
|
|
9
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
|
|
9
10
|
import { format } from "./utilities/format.mjs";
|
|
10
11
|
import { callHook } from "./hooks.mjs";
|
|
11
12
|
import { createProgram } from "./typescript/ts-morph.mjs";
|
|
@@ -25,6 +26,11 @@ import { prettyBytes } from "@stryke/string-format/pretty-bytes";
|
|
|
25
26
|
import { DiagnosticCategory, Node, Project } from "ts-morph";
|
|
26
27
|
|
|
27
28
|
//#region src/lib/generate-types.ts
|
|
29
|
+
var generate_types_exports = /* @__PURE__ */ __exportAll({
|
|
30
|
+
emitBuiltinTypes: () => emitBuiltinTypes,
|
|
31
|
+
formatTypes: () => formatTypes,
|
|
32
|
+
handleTypes: () => handleTypes
|
|
33
|
+
});
|
|
28
34
|
/**
|
|
29
35
|
* Formats the generated TypeScript types source code.
|
|
30
36
|
*
|
|
@@ -372,5 +378,5 @@ ${formatTypes(code)}
|
|
|
372
378
|
}
|
|
373
379
|
|
|
374
380
|
//#endregion
|
|
375
|
-
export { emitBuiltinTypes, formatTypes, handleTypes };
|
|
381
|
+
export { emitBuiltinTypes, formatTypes, generate_types_exports, handleTypes };
|
|
376
382
|
//# sourceMappingURL=generate-types.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-types.mjs","names":[],"sources":["../../src/lib/generate-types.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { getUnique } from \"@stryke/helpers/get-unique\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { isParentPath } from \"@stryke/path/is-parent-path\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { prettyBytes } from \"@stryke/string-format/pretty-bytes\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport { DiagnosticCategory, Node, Project, SourceFile } from \"ts-morph\";\nimport { ResolvedConfig } from \"../types/config\";\nimport {\n Context,\n EnvironmentContext,\n ExecutionContext\n} from \"../types/context\";\nimport { TypesResult } from \"../types/plugin\";\nimport { callHook } from \"./hooks\";\nimport { createProgram } from \"./typescript/ts-morph\";\nimport { getTypescriptFileHeader } from \"./utilities/file-header\";\nimport { format } from \"./utilities/format\";\n\ninterface ModuleExportSpecifier {\n name: string;\n alias?: string;\n default?: boolean;\n type?: boolean;\n}\n\ninterface ModuleReference {\n name?: string;\n specifiers?: ModuleExportSpecifier[];\n all?: boolean;\n}\n\ninterface ImportModuleReference extends ModuleReference {\n name: string;\n ambient?: boolean;\n}\n\ninterface ExportModuleReference extends ModuleReference {\n text: string;\n fullText: string;\n comment?: string;\n}\n\ninterface ModuleDeclaration {\n name: string;\n text: string;\n sourceFile: SourceFile;\n comment?: string;\n exports: (ExportModuleReference | string)[];\n imports: ImportModuleReference[];\n}\n\nexport interface TypegenContext {\n context: Context;\n emitted: Map<string, string>;\n modules: ModuleDeclaration[];\n}\n\n/**\n * Formats the generated TypeScript types source code.\n *\n * @param code - The generated TypeScript code.\n * @returns The formatted TypeScript code.\n */\nexport function formatTypes(code = \"\"): string {\n return code.replaceAll(\"#private;\", \"\").replace(/__Ω/g, \"\");\n}\n\nasync function extractModuleDeclarations(\n ctx: TypegenContext,\n filePath: string,\n name: string,\n text: string\n): Promise<ModuleDeclaration> {\n const imports: ImportModuleReference[] = [];\n const exports: (ExportModuleReference | string)[] = [];\n\n const comment = text\n .match(\n new RegExp(\n `\\\\/\\\\*\\\\*(?s:.)*?@module\\\\s+${\n ctx.context.config.framework?.name ?? \"powerlines\"\n }:${name}(?s:.)*?\\\\*\\\\/\\\\s+`\n )\n )\n ?.find(comment => isSetString(comment?.trim()));\n\n // Parse the emitted .d.ts content using an in-memory ts-morph project\n const project = new Project({ useInMemoryFileSystem: true });\n const sourceFile = project.createSourceFile(\"module.d.ts\", text);\n\n // Collect /// <reference types=\"...\" /> directives as ambient dependencies\n for (const ref of sourceFile.getTypeReferenceDirectives()) {\n if (\n ref.getFileName() &&\n !ctx.context.builtins.some(builtin => ref.getFileName().endsWith(builtin))\n ) {\n imports.push({\n name: ref.getFileName(),\n ambient: true\n });\n }\n }\n\n for (const statement of sourceFile.getStatements()) {\n // --- Import declarations ---\n if (Node.isImportDeclaration(statement)) {\n const moduleSpec = statement.getModuleSpecifierValue();\n\n // Namespace import: import * as X from '...'\n if (statement.getNamespaceImport()) {\n imports.push({\n name: moduleSpec,\n specifiers: [\n {\n name: statement.getNamespaceImport()!.getText()\n }\n ],\n all: true\n });\n }\n\n // Named imports: import X from '...' or import { A, B as C } from '...'\n else if (\n statement.getNamedImports().length > 0 ||\n statement.getDefaultImport()\n ) {\n const specifiers: ModuleExportSpecifier[] = [];\n if (statement.getDefaultImport()) {\n specifiers.push({\n name: statement.getDefaultImport()!.getText(),\n default: true,\n type: statement.isTypeOnly()\n });\n }\n\n statement.getNamedImports().forEach(named => {\n specifiers.push({\n name: named.getName(),\n alias: named.getAliasNode()?.getText(),\n type: statement.isTypeOnly()\n });\n });\n\n imports.push({\n name: moduleSpec,\n specifiers\n });\n }\n }\n\n // --- Export declarations ---\n else if (Node.isExportDeclaration(statement)) {\n const moduleSpec = statement.getModuleSpecifierValue();\n if (moduleSpec) {\n // Resolve the module specifier\n let resolvedSpec = moduleSpec;\n if (!ctx.context.builtins.includes(moduleSpec)) {\n if (ctx.emitted.has(moduleSpec)) {\n resolvedSpec = ctx.emitted.get(moduleSpec)!;\n } else {\n const resolvedModule = await ctx.context.resolve(\n moduleSpec,\n filePath\n );\n if (isSetString(resolvedModule?.id)) {\n resolvedSpec = resolvedModule.id;\n }\n }\n }\n\n // Re-export from another module\n const namedExports = statement.getNamedExports();\n if (namedExports.length > 0) {\n exports.push({\n name: resolvedSpec,\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: namedExports.map(named => ({\n name: named.getName(),\n alias: named.getAliasNode()?.getText(),\n type: statement.isTypeOnly()\n })),\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n .trim()\n });\n } else {\n // export * from '...'\n exports.push({\n name: resolvedSpec,\n text: statement.getText(),\n fullText: statement.getFullText(),\n all: true,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n .trim()\n });\n }\n } else {\n const specifiers = statement.getNamedExports().map(named => ({\n name: named.getName(),\n alias: named.getAliasNode()?.getText(),\n type: statement.isTypeOnly()\n }));\n if (specifiers.length > 0) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n }\n }\n\n // --- Export assignments (export default ...) ---\n else if (Node.isExportAssignment(statement)) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Function declarations (export declare function ...) ---\n else if (\n Node.isFunctionDeclaration(statement) &&\n statement.isExported() &&\n statement.getNameNode()\n ) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: [\n {\n name: statement.getNameNode()!.getText()\n }\n ],\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Variable statements (export declare const ...) ---\n else if (Node.isVariableStatement(statement) && statement.isExported()) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: statement\n .getDeclarationList()\n .getDeclarations()\n .filter(\n decl => decl.getNameNode() && Node.isIdentifier(decl.getNameNode())\n )\n .map(decl => ({ name: decl.getNameNode().getText() })),\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Class declarations (export declare class ...) ---\n else if (Node.isClassDeclaration(statement) && statement.isExported()) {\n const nameNode = statement.getNameNode();\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: nameNode ? [{ name: nameNode.getText() }] : undefined,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Interface declarations (export declare interface ...) ---\n else if (Node.isInterfaceDeclaration(statement) && statement.isExported()) {\n const nameNode = statement.getNameNode();\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: nameNode ? [{ name: nameNode.getText() }] : undefined,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Type alias declarations (export declare type ...) ---\n else if (Node.isTypeAliasDeclaration(statement) && statement.isExported()) {\n const nameNode = statement.getNameNode();\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: nameNode ? [{ name: nameNode.getText() }] : undefined,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- All other statements (declarations) ---\n else if (\n ctx.context.config.output.sourceMap ||\n !statement.getFullText().includes(\"//# sourceMappingURL=\")\n ) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n }\n\n return {\n name,\n text,\n sourceFile,\n comment,\n imports,\n exports\n };\n}\n\n/**\n * Emits TypeScript declaration types for the provided files using the given TypeScript configuration.\n *\n * @param context - The context containing options and environment paths.\n * @param files - The list of files to generate types for.\n * @returns A promise that resolves to the generated TypeScript declaration types.\n */\nexport async function emitBuiltinTypes<TContext extends Context>(\n context: TContext,\n files: string[]\n): Promise<{ code: string; directives: string[] }> {\n if (files.length === 0) {\n context.debug(\n \"No files provided for TypeScript types generation. Typescript compilation for built-in modules will be skipped.\"\n );\n return { code: \"\", directives: [] };\n }\n\n context.debug(\n `Running the TypeScript compiler for ${\n files.length\n } generated built-in module files.`\n );\n\n const program = createProgram(context, {\n skipAddingFilesFromTsConfig: true,\n compilerOptions: {\n declaration: true,\n declarationMap: false,\n emitDeclarationOnly: true,\n sourceMap: false,\n outDir: replacePath(context.builtinsPath, context.config.cwd),\n composite: false,\n incremental: false,\n tsBuildInfoFile: undefined\n }\n });\n\n program.addSourceFilesAtPaths(files);\n const emitResult = program.emitToMemory({ emitOnlyDtsFiles: true });\n\n const diagnostics = emitResult.getDiagnostics();\n if (diagnostics && diagnostics.length > 0) {\n if (diagnostics.some(d => d.getCategory() === DiagnosticCategory.Error)) {\n throw new Error(\n `The Typescript emit process failed while generating built-in types: \\n ${diagnostics\n .filter(d => d.getCategory() === DiagnosticCategory.Error)\n .map(\n d =>\n `-${d.getSourceFile() ? `${d.getSourceFile()?.getFilePath()}:` : \"\"} ${String(\n d.getMessageText()\n )} (at ${d.getStart()}:${d.getLength()})`\n )\n .join(\"\\n\")}`\n );\n } else if (\n diagnostics.some(d => d.getCategory() === DiagnosticCategory.Warning)\n ) {\n context.warn(\n `The Typescript emit process completed with warnings while generating built-in types: \\n ${diagnostics\n .filter(d => d.getCategory() === DiagnosticCategory.Warning)\n .map(\n d =>\n `-${d.getSourceFile() ? `${d.getSourceFile()?.getFilePath()}:` : \"\"} ${String(\n d.getMessageText()\n )} (at ${d.getStart()}:${d.getLength()})`\n )\n .join(\"\\n\")}`\n );\n } else {\n context.debug(\n `The Typescript emit process completed with diagnostic messages while generating built-in types: \\n ${diagnostics\n .map(\n d =>\n `-${d.getSourceFile() ? `${d.getSourceFile()?.getFilePath()}:` : \"\"} ${String(\n d.getMessageText()\n )} (at ${d.getStart()}:${d.getLength()})`\n )\n .join(\"\\n\")}`\n );\n }\n }\n\n const emittedFiles = emitResult.getFiles();\n context.debug(\n `The TypeScript compiler emitted ${\n emittedFiles.length\n } files for built-in types.`\n );\n\n if (emittedFiles.length === 0) {\n context.warn(\n \"The TypeScript compiler did not emit any files for built-in types. This may indicate an issue with the TypeScript configuration or the provided files.\"\n );\n return { code: \"\", directives: [] };\n }\n\n const ctx = {\n context,\n modules: [] as ModuleDeclaration[],\n emitted: new Map<string, string>()\n };\n\n await Promise.all(\n emittedFiles.map(async emittedFile => {\n const filePath = appendPath(emittedFile.filePath, context.config.cwd);\n if (\n !filePath.endsWith(\".map\") &&\n findFileName(filePath) !== \"tsconfig.tsbuildinfo\" &&\n isParentPath(filePath, context.builtinsPath)\n ) {\n const moduleName = replaceExtension(\n replacePath(\n replacePath(filePath, context.builtinsPath),\n replacePath(context.builtinsPath, context.config.cwd)\n ),\n \"\",\n {\n fullExtension: true\n }\n );\n if (context.builtins.includes(moduleName)) {\n ctx.emitted.set(filePath, moduleName);\n ctx.modules.push(\n await extractModuleDeclarations(\n ctx,\n filePath,\n moduleName,\n emittedFile.text\n )\n );\n }\n }\n })\n );\n\n const commonDeclarations = [] as ExportModuleReference[];\n for (const mod of ctx.modules) {\n for (const importRef of mod.imports.filter(importRef =>\n context.builtins.some(builtin => importRef.name.endsWith(`:${builtin}`))\n )) {\n const moduleRef = ctx.modules.find(moduleRef =>\n importRef.name.endsWith(`:${moduleRef.name}`)\n );\n if (moduleRef) {\n let declaration: ExportModuleReference | undefined;\n for (const decl of moduleRef.exports.filter(decl =>\n isSetObject(decl)\n )) {\n const specifiers = decl.specifiers?.filter(specifier =>\n importRef.specifiers?.some(\n s =>\n (specifier.alias ? specifier.alias : specifier.name) ===\n (s.alias ? s.alias : s.name)\n )\n );\n if (specifiers && specifiers.length > 0) {\n importRef.specifiers = importRef.specifiers?.filter(\n s =>\n !specifiers.some(\n specifier =>\n (specifier.alias ? specifier.alias : specifier.name) ===\n (s.alias ? s.alias : s.name)\n )\n );\n if (\n importRef.specifiers &&\n importRef.specifiers.length === 0 &&\n !importRef.all &&\n !importRef.ambient\n ) {\n mod.imports = mod.imports.filter(\n imp => imp.name !== importRef.name\n );\n }\n\n declaration = decl;\n break;\n }\n }\n\n if (declaration) {\n for (const decl of moduleRef.exports.filter(\n decl =>\n isSetObject(decl) &&\n !decl.specifiers?.some(s =>\n declaration?.specifiers?.some(\n specifier =>\n (specifier.alias ? specifier.alias : specifier.name) ===\n (s.alias ? s.alias : s.name)\n )\n )\n )) {\n const exportModuleRef = decl as ExportModuleReference;\n if (\n (exportModuleRef.specifiers?.some(s => s.alias || s.name) ||\n exportModuleRef.name) &&\n new RegExp(\n `(^|\\\\s|\\\\n|\\\\r\\\\n|\\\\(|\\\\)|<|>|{|}|\\\\[|\\\\]|\\\\!|\\\\?|\\\\.|,|\\\\*|&|:)(${\n exportModuleRef.specifiers\n ?.map(s => `${s.alias ? `${s.alias}|` : \"\"}${s.name}`)\n .join(\"|\") || exportModuleRef.name\n })($|\\\\s|\\\\n|\\\\r\\\\n|\\\\(|\\\\)|<|>|{|}|\\\\[|\\\\]|\\\\!|\\\\?|\\\\.|,|\\\\*|&|:|;)`\n ).test(declaration.text)\n ) {\n commonDeclarations.push(exportModuleRef);\n }\n }\n commonDeclarations.push(declaration);\n }\n }\n }\n }\n\n let code = \"\";\n const directives: string[] = [];\n\n for (const commonDeclaration of commonDeclarations) {\n code += formatTypes(\n `${\n commonDeclaration.comment?.trim()\n ? commonDeclaration.comment.trim()\n : \"\"\n }${commonDeclaration.comment?.trim() ? \"\\n\" : \"\"}${formatTypes(\n commonDeclaration.text\n .replace(/\\s*export\\s*/, \"\")\n .replace(/\\s*declare\\s*interface\\s*/, \"interface \")\n .replace(/\\s*declare\\s*type\\s*/, \"type \")\n )}`\n );\n code += \"\\n\\n\";\n }\n\n for (const mod of ctx.modules) {\n code += mod.comment ? `${mod.comment.trim()}\\n` : \"\";\n code += `declare module \"${context.config.framework?.name ?? \"powerlines\"}:${mod.name}\" { \\n`;\n for (const importRef of mod.imports) {\n if (importRef.ambient) {\n code += directives.push(importRef.name);\n } else if (importRef.all) {\n code += `\\timport * as ${findFileName(importRef.name)} from \"${importRef.name}\";\\n`;\n } else if (importRef.specifiers) {\n const typeOnly = importRef.specifiers.every(s => s.type) ? \" type\" : \"\";\n const specifiers = importRef.specifiers\n .map(s => (s.alias ? `${s.name} as ${s.alias}` : s.name))\n .join(\", \");\n code += `\\timport${typeOnly} { ${specifiers} } from \"${importRef.name}\";\\n`;\n }\n }\n\n if (mod.imports.length > 0) {\n code += \"\\n\";\n }\n\n for (const exportRef of mod.exports.filter(\n e =>\n isString(e) ||\n !e.specifiers ||\n !commonDeclarations.some(\n commonDecl =>\n commonDecl.specifiers &&\n commonDecl.specifiers.some(specifier =>\n e.specifiers?.some(\n s =>\n (s.alias ? s.alias : s.name) ===\n (specifier.alias ? specifier.alias : specifier.name)\n )\n )\n )\n )) {\n if (isSetString(exportRef)) {\n code += `${exportRef}\\n`;\n } else if (exportRef.name) {\n if (exportRef.all) {\n code += `${\n exportRef.comment?.trim() ? exportRef.comment.trim() : \"\"\n }${\n exportRef.comment?.trim() ? \"\\n\" : \"\"\n }export * from \"${exportRef.name}\";\\n`;\n } else if (exportRef.specifiers) {\n if (exportRef.comment?.trim()) {\n code += `${exportRef.comment.trim()}\\n`;\n }\n\n code += `\\texport${\n exportRef.specifiers.every(s => s.type) ? \" type\" : \"\"\n } { ${exportRef.specifiers\n .map(s => (s.alias ? `${s.name} as ${s.alias}` : s.name))\n .join(\", \")} } from \"${exportRef.name}\";\\n`;\n }\n } else {\n code += `${exportRef.comment?.trim() ? exportRef.comment.trim() : \"\"}${\n exportRef.comment?.trim() ? \"\\n\" : \"\"\n }${formatTypes(\n exportRef.text\n .replace(/\\s*export\\s*declare\\s*/, \"export \")\n .replace(/\\s*declare\\s*/, \" \")\n )}\\n`;\n }\n }\n\n mod.exports\n .filter(\n e =>\n !isString(e) &&\n e.specifiers &&\n commonDeclarations.some(\n commonDeclaration =>\n commonDeclaration.specifiers &&\n commonDeclaration.specifiers.some(specifier =>\n e.specifiers?.some(\n s =>\n (s.alias ? s.alias : s.name) ===\n (specifier.alias ? specifier.alias : specifier.name)\n )\n )\n )\n )\n .forEach((e, i, arr) => {\n if (i === 0) {\n code += \"\\nexport { \";\n } else {\n code += \", \";\n }\n\n code += `${\n (e as ExportModuleReference)?.specifiers\n ?.filter(s =>\n commonDeclarations.some(\n commonDeclaration =>\n commonDeclaration.specifiers &&\n commonDeclaration.specifiers.some(\n specifier =>\n (s.alias ? s.alias : s.name) ===\n (specifier.alias ? specifier.alias : specifier.name)\n )\n )\n )\n .map(s => (s.alias ? `${s.name} as ${s.alias}` : s.name))\n .join(\", \") || \"\"\n }`;\n\n if (i === arr.length - 1) {\n code += ` };\\n`;\n }\n });\n\n code += \"}\";\n code += \"\\n\\n\";\n }\n\n code = await format(context, context.typesPath, code);\n\n context.debug(\n `A TypeScript declaration file (size: ${prettyBytes(\n new Blob(toArray(code)).size\n )}) emitted for the built-in modules types.`\n );\n\n return { code, directives };\n}\n\n/**\n * Generate the Powerlines TypeScript declaration file\n *\n * @param context - The execution context for generating the TypeScript declaration file, which provides access to the project configuration, environment, and utility functions for performing the generation. The context is used to manage the state and behavior of the generation process, allowing for hooks to be called at different stages and for environment-specific configurations to be applied.\n * @param env - The environment context to use for generating the TypeScript declaration file\n */\nexport async function handleTypes<\n TResolvedConfig extends ResolvedConfig,\n TSystemContext = unknown\n>(\n context: ExecutionContext<TResolvedConfig, TSystemContext>,\n env: EnvironmentContext<TResolvedConfig, TSystemContext>\n) {\n env.debug(`Preparing the TypeScript definitions for the Powerlines project.`);\n\n if (env.fs.existsSync(env.typesPath)) {\n await env.fs.remove(env.typesPath);\n }\n\n const typescriptPath = await resolvePackage(\"typescript\");\n if (!typescriptPath) {\n throw new Error(\n \"Could not resolve TypeScript package location. Please ensure TypeScript is installed.\"\n );\n }\n\n env.debug(\"Running TypeScript compiler for built-in runtime module files.\");\n\n let { code, directives } = await emitBuiltinTypes(\n env,\n (await env.getBuiltins()).reduce<string[]>((ret, builtin) => {\n const formatted = replacePath(builtin.path, env.config.cwd);\n if (!ret.includes(formatted)) {\n ret.push(formatted);\n }\n\n return ret;\n }, [])\n );\n\n env.debug(`Generating TypeScript declaration file ${env.typesPath}.`);\n\n const merge = async (\n currentResult: string | TypesResult,\n previousResult: string | TypesResult\n ): Promise<string | TypesResult> => {\n if (\n !isSetString(currentResult) &&\n !isSetObject(currentResult) &&\n !isSetString(previousResult) &&\n !isSetObject(previousResult)\n ) {\n return { code, directives };\n }\n\n const previous = (\n await format(\n env,\n env.typesPath,\n isSetString(previousResult)\n ? previousResult\n : isSetObject(previousResult)\n ? previousResult.code\n : \"\"\n )\n )\n .trim()\n .replace(code, \"\")\n .trim();\n const current = (\n await format(\n env,\n env.typesPath,\n isSetString(currentResult)\n ? currentResult\n : isSetObject(currentResult)\n ? currentResult.code\n : \"\"\n )\n )\n .trim()\n .replace(previous, \"\")\n .trim()\n .replace(code, \"\")\n .trim();\n\n return {\n directives: [\n ...(isSetObject(currentResult) && currentResult.directives\n ? currentResult.directives\n : []),\n ...(isSetObject(previousResult) && previousResult.directives\n ? previousResult.directives\n : [])\n ],\n code: await format(\n env,\n env.typesPath,\n `${\n !previous.includes(getTypescriptFileHeader(env)) &&\n !current.includes(getTypescriptFileHeader(env))\n ? `${code}\\n`\n : \"\"\n }${previous}\\n${current}`.trim()\n )\n };\n };\n const asNextParam = (\n previousResult: string | TypesResult | null | undefined\n ) => (isObject(previousResult) ? previousResult.code : previousResult);\n\n let result = await callHook(\n context,\n \"types\",\n {\n environment: env,\n sequential: true,\n order: \"pre\",\n result: \"merge\",\n merge,\n asNextParam\n },\n code\n );\n if (result) {\n if (isSetObject(result)) {\n code = result.code;\n if (Array.isArray(result.directives) && result.directives.length > 0) {\n directives = getUnique([...directives, ...result.directives]).filter(\n Boolean\n );\n }\n } else if (isSetString(result)) {\n code = result;\n }\n }\n\n result = await callHook(\n context,\n \"types\",\n {\n environment: env,\n sequential: true,\n order: \"normal\",\n result: \"merge\",\n merge,\n asNextParam\n },\n code\n );\n if (result) {\n if (isSetObject(result)) {\n code = result.code;\n if (Array.isArray(result.directives) && result.directives.length > 0) {\n directives = getUnique([...directives, ...result.directives]).filter(\n Boolean\n );\n }\n } else if (isSetString(result)) {\n code = result;\n }\n }\n\n result = await callHook(\n context,\n \"types\",\n {\n environment: env,\n sequential: true,\n order: \"post\",\n result: \"merge\",\n merge,\n asNextParam\n },\n code\n );\n if (result) {\n if (isSetObject(result)) {\n code = result.code;\n if (Array.isArray(result.directives) && result.directives.length > 0) {\n directives = getUnique([...directives, ...result.directives]).filter(\n Boolean\n );\n }\n } else if (isSetString(result)) {\n code = result;\n }\n }\n\n if (isSetString(code?.trim()) || directives.length > 0) {\n await env.fs.write(\n env.typesPath,\n `${\n directives.length > 0\n ? `${directives.map(directive => `/// <reference types=\"${directive}\" />`).join(\"\\n\")}\n\n`\n : \"\"\n }${getTypescriptFileHeader(env, { directive: null, prettierIgnore: false })}\n\n${formatTypes(code)}\n`\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-types.mjs","names":[],"sources":["../../src/lib/generate-types.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { getUnique } from \"@stryke/helpers/get-unique\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { isParentPath } from \"@stryke/path/is-parent-path\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { prettyBytes } from \"@stryke/string-format/pretty-bytes\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport { DiagnosticCategory, Node, Project, SourceFile } from \"ts-morph\";\nimport { ResolvedConfig } from \"../types/config\";\nimport {\n Context,\n EnvironmentContext,\n ExecutionContext\n} from \"../types/context\";\nimport { TypesResult } from \"../types/plugin\";\nimport { callHook } from \"./hooks\";\nimport { createProgram } from \"./typescript/ts-morph\";\nimport { getTypescriptFileHeader } from \"./utilities/file-header\";\nimport { format } from \"./utilities/format\";\n\ninterface ModuleExportSpecifier {\n name: string;\n alias?: string;\n default?: boolean;\n type?: boolean;\n}\n\ninterface ModuleReference {\n name?: string;\n specifiers?: ModuleExportSpecifier[];\n all?: boolean;\n}\n\ninterface ImportModuleReference extends ModuleReference {\n name: string;\n ambient?: boolean;\n}\n\ninterface ExportModuleReference extends ModuleReference {\n text: string;\n fullText: string;\n comment?: string;\n}\n\ninterface ModuleDeclaration {\n name: string;\n text: string;\n sourceFile: SourceFile;\n comment?: string;\n exports: (ExportModuleReference | string)[];\n imports: ImportModuleReference[];\n}\n\nexport interface TypegenContext {\n context: Context;\n emitted: Map<string, string>;\n modules: ModuleDeclaration[];\n}\n\n/**\n * Formats the generated TypeScript types source code.\n *\n * @param code - The generated TypeScript code.\n * @returns The formatted TypeScript code.\n */\nexport function formatTypes(code = \"\"): string {\n return code.replaceAll(\"#private;\", \"\").replace(/__Ω/g, \"\");\n}\n\nasync function extractModuleDeclarations(\n ctx: TypegenContext,\n filePath: string,\n name: string,\n text: string\n): Promise<ModuleDeclaration> {\n const imports: ImportModuleReference[] = [];\n const exports: (ExportModuleReference | string)[] = [];\n\n const comment = text\n .match(\n new RegExp(\n `\\\\/\\\\*\\\\*(?s:.)*?@module\\\\s+${\n ctx.context.config.framework?.name ?? \"powerlines\"\n }:${name}(?s:.)*?\\\\*\\\\/\\\\s+`\n )\n )\n ?.find(comment => isSetString(comment?.trim()));\n\n // Parse the emitted .d.ts content using an in-memory ts-morph project\n const project = new Project({ useInMemoryFileSystem: true });\n const sourceFile = project.createSourceFile(\"module.d.ts\", text);\n\n // Collect /// <reference types=\"...\" /> directives as ambient dependencies\n for (const ref of sourceFile.getTypeReferenceDirectives()) {\n if (\n ref.getFileName() &&\n !ctx.context.builtins.some(builtin => ref.getFileName().endsWith(builtin))\n ) {\n imports.push({\n name: ref.getFileName(),\n ambient: true\n });\n }\n }\n\n for (const statement of sourceFile.getStatements()) {\n // --- Import declarations ---\n if (Node.isImportDeclaration(statement)) {\n const moduleSpec = statement.getModuleSpecifierValue();\n\n // Namespace import: import * as X from '...'\n if (statement.getNamespaceImport()) {\n imports.push({\n name: moduleSpec,\n specifiers: [\n {\n name: statement.getNamespaceImport()!.getText()\n }\n ],\n all: true\n });\n }\n\n // Named imports: import X from '...' or import { A, B as C } from '...'\n else if (\n statement.getNamedImports().length > 0 ||\n statement.getDefaultImport()\n ) {\n const specifiers: ModuleExportSpecifier[] = [];\n if (statement.getDefaultImport()) {\n specifiers.push({\n name: statement.getDefaultImport()!.getText(),\n default: true,\n type: statement.isTypeOnly()\n });\n }\n\n statement.getNamedImports().forEach(named => {\n specifiers.push({\n name: named.getName(),\n alias: named.getAliasNode()?.getText(),\n type: statement.isTypeOnly()\n });\n });\n\n imports.push({\n name: moduleSpec,\n specifiers\n });\n }\n }\n\n // --- Export declarations ---\n else if (Node.isExportDeclaration(statement)) {\n const moduleSpec = statement.getModuleSpecifierValue();\n if (moduleSpec) {\n // Resolve the module specifier\n let resolvedSpec = moduleSpec;\n if (!ctx.context.builtins.includes(moduleSpec)) {\n if (ctx.emitted.has(moduleSpec)) {\n resolvedSpec = ctx.emitted.get(moduleSpec)!;\n } else {\n const resolvedModule = await ctx.context.resolve(\n moduleSpec,\n filePath\n );\n if (isSetString(resolvedModule?.id)) {\n resolvedSpec = resolvedModule.id;\n }\n }\n }\n\n // Re-export from another module\n const namedExports = statement.getNamedExports();\n if (namedExports.length > 0) {\n exports.push({\n name: resolvedSpec,\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: namedExports.map(named => ({\n name: named.getName(),\n alias: named.getAliasNode()?.getText(),\n type: statement.isTypeOnly()\n })),\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n .trim()\n });\n } else {\n // export * from '...'\n exports.push({\n name: resolvedSpec,\n text: statement.getText(),\n fullText: statement.getFullText(),\n all: true,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n .trim()\n });\n }\n } else {\n const specifiers = statement.getNamedExports().map(named => ({\n name: named.getName(),\n alias: named.getAliasNode()?.getText(),\n type: statement.isTypeOnly()\n }));\n if (specifiers.length > 0) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n }\n }\n\n // --- Export assignments (export default ...) ---\n else if (Node.isExportAssignment(statement)) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Function declarations (export declare function ...) ---\n else if (\n Node.isFunctionDeclaration(statement) &&\n statement.isExported() &&\n statement.getNameNode()\n ) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: [\n {\n name: statement.getNameNode()!.getText()\n }\n ],\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Variable statements (export declare const ...) ---\n else if (Node.isVariableStatement(statement) && statement.isExported()) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: statement\n .getDeclarationList()\n .getDeclarations()\n .filter(\n decl => decl.getNameNode() && Node.isIdentifier(decl.getNameNode())\n )\n .map(decl => ({ name: decl.getNameNode().getText() })),\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Class declarations (export declare class ...) ---\n else if (Node.isClassDeclaration(statement) && statement.isExported()) {\n const nameNode = statement.getNameNode();\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: nameNode ? [{ name: nameNode.getText() }] : undefined,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Interface declarations (export declare interface ...) ---\n else if (Node.isInterfaceDeclaration(statement) && statement.isExported()) {\n const nameNode = statement.getNameNode();\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: nameNode ? [{ name: nameNode.getText() }] : undefined,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- Type alias declarations (export declare type ...) ---\n else if (Node.isTypeAliasDeclaration(statement) && statement.isExported()) {\n const nameNode = statement.getNameNode();\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n specifiers: nameNode ? [{ name: nameNode.getText() }] : undefined,\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n\n // --- All other statements (declarations) ---\n else if (\n ctx.context.config.output.sourceMap ||\n !statement.getFullText().includes(\"//# sourceMappingURL=\")\n ) {\n exports.push({\n text: statement.getText(),\n fullText: statement.getFullText(),\n comment: statement\n .getLeadingCommentRanges()\n .filter(\n c =>\n isSetString(c.getText().trim()) &&\n !c.getText().includes(\"@module\")\n )\n .map(c => c.getText().trim())\n .join(\"\\n\")\n });\n }\n }\n\n return {\n name,\n text,\n sourceFile,\n comment,\n imports,\n exports\n };\n}\n\n/**\n * Emits TypeScript declaration types for the provided files using the given TypeScript configuration.\n *\n * @param context - The context containing options and environment paths.\n * @param files - The list of files to generate types for.\n * @returns A promise that resolves to the generated TypeScript declaration types.\n */\nexport async function emitBuiltinTypes<TContext extends Context>(\n context: TContext,\n files: string[]\n): Promise<{ code: string; directives: string[] }> {\n if (files.length === 0) {\n context.debug(\n \"No files provided for TypeScript types generation. Typescript compilation for built-in modules will be skipped.\"\n );\n return { code: \"\", directives: [] };\n }\n\n context.debug(\n `Running the TypeScript compiler for ${\n files.length\n } generated built-in module files.`\n );\n\n const program = createProgram(context, {\n skipAddingFilesFromTsConfig: true,\n compilerOptions: {\n declaration: true,\n declarationMap: false,\n emitDeclarationOnly: true,\n sourceMap: false,\n outDir: replacePath(context.builtinsPath, context.config.cwd),\n composite: false,\n incremental: false,\n tsBuildInfoFile: undefined\n }\n });\n\n program.addSourceFilesAtPaths(files);\n const emitResult = program.emitToMemory({ emitOnlyDtsFiles: true });\n\n const diagnostics = emitResult.getDiagnostics();\n if (diagnostics && diagnostics.length > 0) {\n if (diagnostics.some(d => d.getCategory() === DiagnosticCategory.Error)) {\n throw new Error(\n `The Typescript emit process failed while generating built-in types: \\n ${diagnostics\n .filter(d => d.getCategory() === DiagnosticCategory.Error)\n .map(\n d =>\n `-${d.getSourceFile() ? `${d.getSourceFile()?.getFilePath()}:` : \"\"} ${String(\n d.getMessageText()\n )} (at ${d.getStart()}:${d.getLength()})`\n )\n .join(\"\\n\")}`\n );\n } else if (\n diagnostics.some(d => d.getCategory() === DiagnosticCategory.Warning)\n ) {\n context.warn(\n `The Typescript emit process completed with warnings while generating built-in types: \\n ${diagnostics\n .filter(d => d.getCategory() === DiagnosticCategory.Warning)\n .map(\n d =>\n `-${d.getSourceFile() ? `${d.getSourceFile()?.getFilePath()}:` : \"\"} ${String(\n d.getMessageText()\n )} (at ${d.getStart()}:${d.getLength()})`\n )\n .join(\"\\n\")}`\n );\n } else {\n context.debug(\n `The Typescript emit process completed with diagnostic messages while generating built-in types: \\n ${diagnostics\n .map(\n d =>\n `-${d.getSourceFile() ? `${d.getSourceFile()?.getFilePath()}:` : \"\"} ${String(\n d.getMessageText()\n )} (at ${d.getStart()}:${d.getLength()})`\n )\n .join(\"\\n\")}`\n );\n }\n }\n\n const emittedFiles = emitResult.getFiles();\n context.debug(\n `The TypeScript compiler emitted ${\n emittedFiles.length\n } files for built-in types.`\n );\n\n if (emittedFiles.length === 0) {\n context.warn(\n \"The TypeScript compiler did not emit any files for built-in types. This may indicate an issue with the TypeScript configuration or the provided files.\"\n );\n return { code: \"\", directives: [] };\n }\n\n const ctx = {\n context,\n modules: [] as ModuleDeclaration[],\n emitted: new Map<string, string>()\n };\n\n await Promise.all(\n emittedFiles.map(async emittedFile => {\n const filePath = appendPath(emittedFile.filePath, context.config.cwd);\n if (\n !filePath.endsWith(\".map\") &&\n findFileName(filePath) !== \"tsconfig.tsbuildinfo\" &&\n isParentPath(filePath, context.builtinsPath)\n ) {\n const moduleName = replaceExtension(\n replacePath(\n replacePath(filePath, context.builtinsPath),\n replacePath(context.builtinsPath, context.config.cwd)\n ),\n \"\",\n {\n fullExtension: true\n }\n );\n if (context.builtins.includes(moduleName)) {\n ctx.emitted.set(filePath, moduleName);\n ctx.modules.push(\n await extractModuleDeclarations(\n ctx,\n filePath,\n moduleName,\n emittedFile.text\n )\n );\n }\n }\n })\n );\n\n const commonDeclarations = [] as ExportModuleReference[];\n for (const mod of ctx.modules) {\n for (const importRef of mod.imports.filter(importRef =>\n context.builtins.some(builtin => importRef.name.endsWith(`:${builtin}`))\n )) {\n const moduleRef = ctx.modules.find(moduleRef =>\n importRef.name.endsWith(`:${moduleRef.name}`)\n );\n if (moduleRef) {\n let declaration: ExportModuleReference | undefined;\n for (const decl of moduleRef.exports.filter(decl =>\n isSetObject(decl)\n )) {\n const specifiers = decl.specifiers?.filter(specifier =>\n importRef.specifiers?.some(\n s =>\n (specifier.alias ? specifier.alias : specifier.name) ===\n (s.alias ? s.alias : s.name)\n )\n );\n if (specifiers && specifiers.length > 0) {\n importRef.specifiers = importRef.specifiers?.filter(\n s =>\n !specifiers.some(\n specifier =>\n (specifier.alias ? specifier.alias : specifier.name) ===\n (s.alias ? s.alias : s.name)\n )\n );\n if (\n importRef.specifiers &&\n importRef.specifiers.length === 0 &&\n !importRef.all &&\n !importRef.ambient\n ) {\n mod.imports = mod.imports.filter(\n imp => imp.name !== importRef.name\n );\n }\n\n declaration = decl;\n break;\n }\n }\n\n if (declaration) {\n for (const decl of moduleRef.exports.filter(\n decl =>\n isSetObject(decl) &&\n !decl.specifiers?.some(s =>\n declaration?.specifiers?.some(\n specifier =>\n (specifier.alias ? specifier.alias : specifier.name) ===\n (s.alias ? s.alias : s.name)\n )\n )\n )) {\n const exportModuleRef = decl as ExportModuleReference;\n if (\n (exportModuleRef.specifiers?.some(s => s.alias || s.name) ||\n exportModuleRef.name) &&\n new RegExp(\n `(^|\\\\s|\\\\n|\\\\r\\\\n|\\\\(|\\\\)|<|>|{|}|\\\\[|\\\\]|\\\\!|\\\\?|\\\\.|,|\\\\*|&|:)(${\n exportModuleRef.specifiers\n ?.map(s => `${s.alias ? `${s.alias}|` : \"\"}${s.name}`)\n .join(\"|\") || exportModuleRef.name\n })($|\\\\s|\\\\n|\\\\r\\\\n|\\\\(|\\\\)|<|>|{|}|\\\\[|\\\\]|\\\\!|\\\\?|\\\\.|,|\\\\*|&|:|;)`\n ).test(declaration.text)\n ) {\n commonDeclarations.push(exportModuleRef);\n }\n }\n commonDeclarations.push(declaration);\n }\n }\n }\n }\n\n let code = \"\";\n const directives: string[] = [];\n\n for (const commonDeclaration of commonDeclarations) {\n code += formatTypes(\n `${\n commonDeclaration.comment?.trim()\n ? commonDeclaration.comment.trim()\n : \"\"\n }${commonDeclaration.comment?.trim() ? \"\\n\" : \"\"}${formatTypes(\n commonDeclaration.text\n .replace(/\\s*export\\s*/, \"\")\n .replace(/\\s*declare\\s*interface\\s*/, \"interface \")\n .replace(/\\s*declare\\s*type\\s*/, \"type \")\n )}`\n );\n code += \"\\n\\n\";\n }\n\n for (const mod of ctx.modules) {\n code += mod.comment ? `${mod.comment.trim()}\\n` : \"\";\n code += `declare module \"${context.config.framework?.name ?? \"powerlines\"}:${mod.name}\" { \\n`;\n for (const importRef of mod.imports) {\n if (importRef.ambient) {\n code += directives.push(importRef.name);\n } else if (importRef.all) {\n code += `\\timport * as ${findFileName(importRef.name)} from \"${importRef.name}\";\\n`;\n } else if (importRef.specifiers) {\n const typeOnly = importRef.specifiers.every(s => s.type) ? \" type\" : \"\";\n const specifiers = importRef.specifiers\n .map(s => (s.alias ? `${s.name} as ${s.alias}` : s.name))\n .join(\", \");\n code += `\\timport${typeOnly} { ${specifiers} } from \"${importRef.name}\";\\n`;\n }\n }\n\n if (mod.imports.length > 0) {\n code += \"\\n\";\n }\n\n for (const exportRef of mod.exports.filter(\n e =>\n isString(e) ||\n !e.specifiers ||\n !commonDeclarations.some(\n commonDecl =>\n commonDecl.specifiers &&\n commonDecl.specifiers.some(specifier =>\n e.specifiers?.some(\n s =>\n (s.alias ? s.alias : s.name) ===\n (specifier.alias ? specifier.alias : specifier.name)\n )\n )\n )\n )) {\n if (isSetString(exportRef)) {\n code += `${exportRef}\\n`;\n } else if (exportRef.name) {\n if (exportRef.all) {\n code += `${\n exportRef.comment?.trim() ? exportRef.comment.trim() : \"\"\n }${\n exportRef.comment?.trim() ? \"\\n\" : \"\"\n }export * from \"${exportRef.name}\";\\n`;\n } else if (exportRef.specifiers) {\n if (exportRef.comment?.trim()) {\n code += `${exportRef.comment.trim()}\\n`;\n }\n\n code += `\\texport${\n exportRef.specifiers.every(s => s.type) ? \" type\" : \"\"\n } { ${exportRef.specifiers\n .map(s => (s.alias ? `${s.name} as ${s.alias}` : s.name))\n .join(\", \")} } from \"${exportRef.name}\";\\n`;\n }\n } else {\n code += `${exportRef.comment?.trim() ? exportRef.comment.trim() : \"\"}${\n exportRef.comment?.trim() ? \"\\n\" : \"\"\n }${formatTypes(\n exportRef.text\n .replace(/\\s*export\\s*declare\\s*/, \"export \")\n .replace(/\\s*declare\\s*/, \" \")\n )}\\n`;\n }\n }\n\n mod.exports\n .filter(\n e =>\n !isString(e) &&\n e.specifiers &&\n commonDeclarations.some(\n commonDeclaration =>\n commonDeclaration.specifiers &&\n commonDeclaration.specifiers.some(specifier =>\n e.specifiers?.some(\n s =>\n (s.alias ? s.alias : s.name) ===\n (specifier.alias ? specifier.alias : specifier.name)\n )\n )\n )\n )\n .forEach((e, i, arr) => {\n if (i === 0) {\n code += \"\\nexport { \";\n } else {\n code += \", \";\n }\n\n code += `${\n (e as ExportModuleReference)?.specifiers\n ?.filter(s =>\n commonDeclarations.some(\n commonDeclaration =>\n commonDeclaration.specifiers &&\n commonDeclaration.specifiers.some(\n specifier =>\n (s.alias ? s.alias : s.name) ===\n (specifier.alias ? specifier.alias : specifier.name)\n )\n )\n )\n .map(s => (s.alias ? `${s.name} as ${s.alias}` : s.name))\n .join(\", \") || \"\"\n }`;\n\n if (i === arr.length - 1) {\n code += ` };\\n`;\n }\n });\n\n code += \"}\";\n code += \"\\n\\n\";\n }\n\n code = await format(context, context.typesPath, code);\n\n context.debug(\n `A TypeScript declaration file (size: ${prettyBytes(\n new Blob(toArray(code)).size\n )}) emitted for the built-in modules types.`\n );\n\n return { code, directives };\n}\n\n/**\n * Generate the Powerlines TypeScript declaration file\n *\n * @param context - The execution context for generating the TypeScript declaration file, which provides access to the project configuration, environment, and utility functions for performing the generation. The context is used to manage the state and behavior of the generation process, allowing for hooks to be called at different stages and for environment-specific configurations to be applied.\n * @param env - The environment context to use for generating the TypeScript declaration file\n */\nexport async function handleTypes<\n TResolvedConfig extends ResolvedConfig,\n TSystemContext = unknown\n>(\n context: ExecutionContext<TResolvedConfig, TSystemContext>,\n env: EnvironmentContext<TResolvedConfig, TSystemContext>\n) {\n env.debug(`Preparing the TypeScript definitions for the Powerlines project.`);\n\n if (env.fs.existsSync(env.typesPath)) {\n await env.fs.remove(env.typesPath);\n }\n\n const typescriptPath = await resolvePackage(\"typescript\");\n if (!typescriptPath) {\n throw new Error(\n \"Could not resolve TypeScript package location. Please ensure TypeScript is installed.\"\n );\n }\n\n env.debug(\"Running TypeScript compiler for built-in runtime module files.\");\n\n let { code, directives } = await emitBuiltinTypes(\n env,\n (await env.getBuiltins()).reduce<string[]>((ret, builtin) => {\n const formatted = replacePath(builtin.path, env.config.cwd);\n if (!ret.includes(formatted)) {\n ret.push(formatted);\n }\n\n return ret;\n }, [])\n );\n\n env.debug(`Generating TypeScript declaration file ${env.typesPath}.`);\n\n const merge = async (\n currentResult: string | TypesResult,\n previousResult: string | TypesResult\n ): Promise<string | TypesResult> => {\n if (\n !isSetString(currentResult) &&\n !isSetObject(currentResult) &&\n !isSetString(previousResult) &&\n !isSetObject(previousResult)\n ) {\n return { code, directives };\n }\n\n const previous = (\n await format(\n env,\n env.typesPath,\n isSetString(previousResult)\n ? previousResult\n : isSetObject(previousResult)\n ? previousResult.code\n : \"\"\n )\n )\n .trim()\n .replace(code, \"\")\n .trim();\n const current = (\n await format(\n env,\n env.typesPath,\n isSetString(currentResult)\n ? currentResult\n : isSetObject(currentResult)\n ? currentResult.code\n : \"\"\n )\n )\n .trim()\n .replace(previous, \"\")\n .trim()\n .replace(code, \"\")\n .trim();\n\n return {\n directives: [\n ...(isSetObject(currentResult) && currentResult.directives\n ? currentResult.directives\n : []),\n ...(isSetObject(previousResult) && previousResult.directives\n ? previousResult.directives\n : [])\n ],\n code: await format(\n env,\n env.typesPath,\n `${\n !previous.includes(getTypescriptFileHeader(env)) &&\n !current.includes(getTypescriptFileHeader(env))\n ? `${code}\\n`\n : \"\"\n }${previous}\\n${current}`.trim()\n )\n };\n };\n const asNextParam = (\n previousResult: string | TypesResult | null | undefined\n ) => (isObject(previousResult) ? previousResult.code : previousResult);\n\n let result = await callHook(\n context,\n \"types\",\n {\n environment: env,\n sequential: true,\n order: \"pre\",\n result: \"merge\",\n merge,\n asNextParam\n },\n code\n );\n if (result) {\n if (isSetObject(result)) {\n code = result.code;\n if (Array.isArray(result.directives) && result.directives.length > 0) {\n directives = getUnique([...directives, ...result.directives]).filter(\n Boolean\n );\n }\n } else if (isSetString(result)) {\n code = result;\n }\n }\n\n result = await callHook(\n context,\n \"types\",\n {\n environment: env,\n sequential: true,\n order: \"normal\",\n result: \"merge\",\n merge,\n asNextParam\n },\n code\n );\n if (result) {\n if (isSetObject(result)) {\n code = result.code;\n if (Array.isArray(result.directives) && result.directives.length > 0) {\n directives = getUnique([...directives, ...result.directives]).filter(\n Boolean\n );\n }\n } else if (isSetString(result)) {\n code = result;\n }\n }\n\n result = await callHook(\n context,\n \"types\",\n {\n environment: env,\n sequential: true,\n order: \"post\",\n result: \"merge\",\n merge,\n asNextParam\n },\n code\n );\n if (result) {\n if (isSetObject(result)) {\n code = result.code;\n if (Array.isArray(result.directives) && result.directives.length > 0) {\n directives = getUnique([...directives, ...result.directives]).filter(\n Boolean\n );\n }\n } else if (isSetString(result)) {\n code = result;\n }\n }\n\n if (isSetString(code?.trim()) || directives.length > 0) {\n await env.fs.write(\n env.typesPath,\n `${\n directives.length > 0\n ? `${directives.map(directive => `/// <reference types=\"${directive}\" />`).join(\"\\n\")}\n\n`\n : \"\"\n }${getTypescriptFileHeader(env, { directive: null, prettierIgnore: false })}\n\n${formatTypes(code)}\n`\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFA,SAAgB,YAAY,OAAO,IAAY;CAC7C,OAAO,KAAK,WAAW,aAAa,EAAE,EAAE,QAAQ,QAAQ,EAAE;AAC5D;AAEA,eAAe,0BACb,KACA,UACA,MACA,MAC4B;CAC5B,MAAM,UAAmC,CAAC;CAC1C,MAAM,UAA8C,CAAC;CAErD,MAAM,UAAU,KACb,MACC,IAAI,OACF,+BACE,IAAI,QAAQ,OAAO,WAAW,QAAQ,aACvC,GAAG,KAAK,mBACX,CACF,GACE,MAAK,YAAW,YAAY,SAAS,KAAK,CAAC,CAAC;CAIhD,MAAM,aAAa,IADC,QAAQ,EAAE,uBAAuB,KAAK,CACjC,EAAE,iBAAiB,eAAe,IAAI;CAG/D,KAAK,MAAM,OAAO,WAAW,2BAA2B,GACtD,IACE,IAAI,YAAY,KAChB,CAAC,IAAI,QAAQ,SAAS,MAAK,YAAW,IAAI,YAAY,EAAE,SAAS,OAAO,CAAC,GAEzE,QAAQ,KAAK;EACX,MAAM,IAAI,YAAY;EACtB,SAAS;CACX,CAAC;CAIL,KAAK,MAAM,aAAa,WAAW,cAAc,GAE/C,IAAI,KAAK,oBAAoB,SAAS,GAAG;EACvC,MAAM,aAAa,UAAU,wBAAwB;EAGrD,IAAI,UAAU,mBAAmB,GAC/B,QAAQ,KAAK;GACX,MAAM;GACN,YAAY,CACV,EACE,MAAM,UAAU,mBAAmB,EAAG,QAAQ,EAChD,CACF;GACA,KAAK;EACP,CAAC;OAIE,IACH,UAAU,gBAAgB,EAAE,SAAS,KACrC,UAAU,iBAAiB,GAC3B;GACA,MAAM,aAAsC,CAAC;GAC7C,IAAI,UAAU,iBAAiB,GAC7B,WAAW,KAAK;IACd,MAAM,UAAU,iBAAiB,EAAG,QAAQ;IAC5C,SAAS;IACT,MAAM,UAAU,WAAW;GAC7B,CAAC;GAGH,UAAU,gBAAgB,EAAE,SAAQ,UAAS;IAC3C,WAAW,KAAK;KACd,MAAM,MAAM,QAAQ;KACpB,OAAO,MAAM,aAAa,GAAG,QAAQ;KACrC,MAAM,UAAU,WAAW;IAC7B,CAAC;GACH,CAAC;GAED,QAAQ,KAAK;IACX,MAAM;IACN;GACF,CAAC;EACH;CACF,OAGK,IAAI,KAAK,oBAAoB,SAAS,GAAG;EAC5C,MAAM,aAAa,UAAU,wBAAwB;EACrD,IAAI,YAAY;GAEd,IAAI,eAAe;GACnB,IAAI,CAAC,IAAI,QAAQ,SAAS,SAAS,UAAU,GAC3C,IAAI,IAAI,QAAQ,IAAI,UAAU,GAC5B,eAAe,IAAI,QAAQ,IAAI,UAAU;QACpC;IACL,MAAM,iBAAiB,MAAM,IAAI,QAAQ,QACvC,YACA,QACF;IACA,IAAI,YAAY,gBAAgB,EAAE,GAChC,eAAe,eAAe;GAElC;GAIF,MAAM,eAAe,UAAU,gBAAgB;GAC/C,IAAI,aAAa,SAAS,GACxB,QAAQ,KAAK;IACX,MAAM;IACN,MAAM,UAAU,QAAQ;IACxB,UAAU,UAAU,YAAY;IAChC,YAAY,aAAa,KAAI,WAAU;KACrC,MAAM,MAAM,QAAQ;KACpB,OAAO,MAAM,aAAa,GAAG,QAAQ;KACrC,MAAM,UAAU,WAAW;IAC7B,EAAE;IACF,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI,EACT,KAAK;GACV,CAAC;QAGD,QAAQ,KAAK;IACX,MAAM;IACN,MAAM,UAAU,QAAQ;IACxB,UAAU,UAAU,YAAY;IAChC,KAAK;IACL,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI,EACT,KAAK;GACV,CAAC;EAEL,OAAO;GACL,MAAM,aAAa,UAAU,gBAAgB,EAAE,KAAI,WAAU;IAC3D,MAAM,MAAM,QAAQ;IACpB,OAAO,MAAM,aAAa,GAAG,QAAQ;IACrC,MAAM,UAAU,WAAW;GAC7B,EAAE;GACF,IAAI,WAAW,SAAS,GACtB,QAAQ,KAAK;IACX,MAAM,UAAU,QAAQ;IACxB,UAAU,UAAU,YAAY;IAChC;IACA,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI;GACd,CAAC;EAEL;CACF,OAGK,IAAI,KAAK,mBAAmB,SAAS,GACxC,QAAQ,KAAK;EACX,MAAM,UAAU,QAAQ;EACxB,UAAU,UAAU,YAAY;EAChC,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI;CACd,CAAC;MAIE,IACH,KAAK,sBAAsB,SAAS,KACpC,UAAU,WAAW,KACrB,UAAU,YAAY,GAEtB,QAAQ,KAAK;EACX,MAAM,UAAU,QAAQ;EACxB,UAAU,UAAU,YAAY;EAChC,YAAY,CACV,EACE,MAAM,UAAU,YAAY,EAAG,QAAQ,EACzC,CACF;EACA,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI;CACd,CAAC;MAIE,IAAI,KAAK,oBAAoB,SAAS,KAAK,UAAU,WAAW,GACnE,QAAQ,KAAK;EACX,MAAM,UAAU,QAAQ;EACxB,UAAU,UAAU,YAAY;EAChC,YAAY,UACT,mBAAmB,EACnB,gBAAgB,EAChB,QACC,SAAQ,KAAK,YAAY,KAAK,KAAK,aAAa,KAAK,YAAY,CAAC,CACpE,EACC,KAAI,UAAS,EAAE,MAAM,KAAK,YAAY,EAAE,QAAQ,EAAE,EAAE;EACvD,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI;CACd,CAAC;MAIE,IAAI,KAAK,mBAAmB,SAAS,KAAK,UAAU,WAAW,GAAG;EACrE,MAAM,WAAW,UAAU,YAAY;EACvC,QAAQ,KAAK;GACX,MAAM,UAAU,QAAQ;GACxB,UAAU,UAAU,YAAY;GAChC,YAAY,WAAW,CAAC,EAAE,MAAM,SAAS,QAAQ,EAAE,CAAC,IAAI;GACxD,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI;EACd,CAAC;CACH,OAGK,IAAI,KAAK,uBAAuB,SAAS,KAAK,UAAU,WAAW,GAAG;EACzE,MAAM,WAAW,UAAU,YAAY;EACvC,QAAQ,KAAK;GACX,MAAM,UAAU,QAAQ;GACxB,UAAU,UAAU,YAAY;GAChC,YAAY,WAAW,CAAC,EAAE,MAAM,SAAS,QAAQ,EAAE,CAAC,IAAI;GACxD,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI;EACd,CAAC;CACH,OAGK,IAAI,KAAK,uBAAuB,SAAS,KAAK,UAAU,WAAW,GAAG;EACzE,MAAM,WAAW,UAAU,YAAY;EACvC,QAAQ,KAAK;GACX,MAAM,UAAU,QAAQ;GACxB,UAAU,UAAU,YAAY;GAChC,YAAY,WAAW,CAAC,EAAE,MAAM,SAAS,QAAQ,EAAE,CAAC,IAAI;GACxD,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI;EACd,CAAC;CACH,OAGK,IACH,IAAI,QAAQ,OAAO,OAAO,aAC1B,CAAC,UAAU,YAAY,EAAE,SAAS,uBAAuB,GAEzD,QAAQ,KAAK;EACX,MAAM,UAAU,QAAQ;EACxB,UAAU,UAAU,YAAY;EAChC,SAAS,UACN,wBAAwB,EACxB,QACC,MACE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,KAC9B,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,CACnC,EACC,KAAI,MAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,KAAK,IAAI;CACd,CAAC;CAIL,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;;;;;AASA,eAAsB,iBACpB,SACA,OACiD;CACjD,IAAI,MAAM,WAAW,GAAG;EACtB,QAAQ,MACN,iHACF;EACA,OAAO;GAAE,MAAM;GAAI,YAAY,CAAC;EAAE;CACpC;CAEA,QAAQ,MACN,uCACE,MAAM,OACP,kCACH;CAEA,MAAM,UAAU,cAAc,SAAS;EACrC,6BAA6B;EAC7B,iBAAiB;GACf,aAAa;GACb,gBAAgB;GAChB,qBAAqB;GACrB,WAAW;GACX,QAAQ,YAAY,QAAQ,cAAc,QAAQ,OAAO,GAAG;GAC5D,WAAW;GACX,aAAa;GACb,iBAAiB;EACnB;CACF,CAAC;CAED,QAAQ,sBAAsB,KAAK;CACnC,MAAM,aAAa,QAAQ,aAAa,EAAE,kBAAkB,KAAK,CAAC;CAElE,MAAM,cAAc,WAAW,eAAe;CAC9C,IAAI,eAAe,YAAY,SAAS,GACtC,IAAI,YAAY,MAAK,MAAK,EAAE,YAAY,MAAM,mBAAmB,KAAK,GACpE,MAAM,IAAI,MACR,0EAA0E,YACvE,QAAO,MAAK,EAAE,YAAY,MAAM,mBAAmB,KAAK,EACxD,KACC,MACE,IAAI,EAAE,cAAc,IAAI,GAAG,EAAE,cAAc,GAAG,YAAY,EAAE,KAAK,GAAG,GAAG,OACrE,EAAE,eAAe,CACnB,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,EAC3C,EACC,KAAK,IAAI,GACd;MACK,IACL,YAAY,MAAK,MAAK,EAAE,YAAY,MAAM,mBAAmB,OAAO,GAEpE,QAAQ,KACN,2FAA2F,YACxF,QAAO,MAAK,EAAE,YAAY,MAAM,mBAAmB,OAAO,EAC1D,KACC,MACE,IAAI,EAAE,cAAc,IAAI,GAAG,EAAE,cAAc,GAAG,YAAY,EAAE,KAAK,GAAG,GAAG,OACrE,EAAE,eAAe,CACnB,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,EAC3C,EACC,KAAK,IAAI,GACd;MAEA,QAAQ,MACN,sGAAsG,YACnG,KACC,MACE,IAAI,EAAE,cAAc,IAAI,GAAG,EAAE,cAAc,GAAG,YAAY,EAAE,KAAK,GAAG,GAAG,OACrE,EAAE,eAAe,CACnB,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,EAC3C,EACC,KAAK,IAAI,GACd;CAIJ,MAAM,eAAe,WAAW,SAAS;CACzC,QAAQ,MACN,mCACE,aAAa,OACd,2BACH;CAEA,IAAI,aAAa,WAAW,GAAG;EAC7B,QAAQ,KACN,wJACF;EACA,OAAO;GAAE,MAAM;GAAI,YAAY,CAAC;EAAE;CACpC;CAEA,MAAM,MAAM;EACV;EACA,SAAS,CAAC;EACV,yBAAS,IAAI,IAAoB;CACnC;CAEA,MAAM,QAAQ,IACZ,aAAa,IAAI,OAAM,gBAAe;EACpC,MAAM,WAAW,WAAW,YAAY,UAAU,QAAQ,OAAO,GAAG;EACpE,IACE,CAAC,SAAS,SAAS,MAAM,KACzB,aAAa,QAAQ,MAAM,0BAC3B,aAAa,UAAU,QAAQ,YAAY,GAC3C;GACA,MAAM,aAAa,iBACjB,YACE,YAAY,UAAU,QAAQ,YAAY,GAC1C,YAAY,QAAQ,cAAc,QAAQ,OAAO,GAAG,CACtD,GACA,IACA,EACE,eAAe,KACjB,CACF;GACA,IAAI,QAAQ,SAAS,SAAS,UAAU,GAAG;IACzC,IAAI,QAAQ,IAAI,UAAU,UAAU;IACpC,IAAI,QAAQ,KACV,MAAM,0BACJ,KACA,UACA,YACA,YAAY,IACd,CACF;GACF;EACF;CACF,CAAC,CACH;CAEA,MAAM,qBAAqB,CAAC;CAC5B,KAAK,MAAM,OAAO,IAAI,SACpB,KAAK,MAAM,aAAa,IAAI,QAAQ,QAAO,cACzC,QAAQ,SAAS,MAAK,YAAW,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,CACzE,GAAG;EACD,MAAM,YAAY,IAAI,QAAQ,MAAK,cACjC,UAAU,KAAK,SAAS,IAAI,UAAU,MAAM,CAC9C;EACA,IAAI,WAAW;GACb,IAAI;GACJ,KAAK,MAAM,QAAQ,UAAU,QAAQ,QAAO,SAC1C,YAAY,IAAI,CAClB,GAAG;IACD,MAAM,aAAa,KAAK,YAAY,QAAO,cACzC,UAAU,YAAY,MACpB,OACG,UAAU,QAAQ,UAAU,QAAQ,UAAU,WAC9C,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAC3B,CACF;IACA,IAAI,cAAc,WAAW,SAAS,GAAG;KACvC,UAAU,aAAa,UAAU,YAAY,QAC3C,MACE,CAAC,WAAW,MACV,eACG,UAAU,QAAQ,UAAU,QAAQ,UAAU,WAC9C,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAC3B,CACJ;KACA,IACE,UAAU,cACV,UAAU,WAAW,WAAW,KAChC,CAAC,UAAU,OACX,CAAC,UAAU,SAEX,IAAI,UAAU,IAAI,QAAQ,QACxB,QAAO,IAAI,SAAS,UAAU,IAChC;KAGF,cAAc;KACd;IACF;GACF;GAEA,IAAI,aAAa;IACf,KAAK,MAAM,QAAQ,UAAU,QAAQ,QACnC,SACE,YAAY,IAAI,KAChB,CAAC,KAAK,YAAY,MAAK,MACrB,aAAa,YAAY,MACvB,eACG,UAAU,QAAQ,UAAU,QAAQ,UAAU,WAC9C,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAC3B,CACF,CACJ,GAAG;KACD,MAAM,kBAAkB;KACxB,KACG,gBAAgB,YAAY,MAAK,MAAK,EAAE,SAAS,EAAE,IAAI,KACtD,gBAAgB,SAClB,IAAI,OACF,oEACE,gBAAgB,YACZ,KAAI,MAAK,GAAG,EAAE,QAAQ,GAAG,EAAE,MAAM,KAAK,KAAK,EAAE,MAAM,EACpD,KAAK,GAAG,KAAK,gBAAgB,KACjC,oEACH,EAAE,KAAK,YAAY,IAAI,GAEvB,mBAAmB,KAAK,eAAe;IAE3C;IACA,mBAAmB,KAAK,WAAW;GACrC;EACF;CACF;CAGF,IAAI,OAAO;CACX,MAAM,aAAuB,CAAC;CAE9B,KAAK,MAAM,qBAAqB,oBAAoB;EAClD,QAAQ,YACN,GACE,kBAAkB,SAAS,KAAK,IAC5B,kBAAkB,QAAQ,KAAK,IAC/B,KACH,kBAAkB,SAAS,KAAK,IAAI,OAAO,KAAK,YACjD,kBAAkB,KACf,QAAQ,gBAAgB,EAAE,EAC1B,QAAQ,6BAA6B,YAAY,EACjD,QAAQ,wBAAwB,OAAO,CAC5C,GACF;EACA,QAAQ;CACV;CAEA,KAAK,MAAM,OAAO,IAAI,SAAS;EAC7B,QAAQ,IAAI,UAAU,GAAG,IAAI,QAAQ,KAAK,EAAE,MAAM;EAClD,QAAQ,mBAAmB,QAAQ,OAAO,WAAW,QAAQ,aAAa,GAAG,IAAI,KAAK;EACtF,KAAK,MAAM,aAAa,IAAI,SAC1B,IAAI,UAAU,SACZ,QAAQ,WAAW,KAAK,UAAU,IAAI;OACjC,IAAI,UAAU,KACnB,QAAQ,iBAAiB,aAAa,UAAU,IAAI,EAAE,SAAS,UAAU,KAAK;OACzE,IAAI,UAAU,YAAY;GAC/B,MAAM,WAAW,UAAU,WAAW,OAAM,MAAK,EAAE,IAAI,IAAI,UAAU;GACrE,MAAM,aAAa,UAAU,WAC1B,KAAI,MAAM,EAAE,QAAQ,GAAG,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,IAAK,EACvD,KAAK,IAAI;GACZ,QAAQ,WAAW,SAAS,KAAK,WAAW,WAAW,UAAU,KAAK;EACxE;EAGF,IAAI,IAAI,QAAQ,SAAS,GACvB,QAAQ;EAGV,KAAK,MAAM,aAAa,IAAI,QAAQ,QAClC,MACE,SAAS,CAAC,KACV,CAAC,EAAE,cACH,CAAC,mBAAmB,MAClB,eACE,WAAW,cACX,WAAW,WAAW,MAAK,cACzB,EAAE,YAAY,MACZ,OACG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WACtB,UAAU,QAAQ,UAAU,QAAQ,UAAU,KACnD,CACF,CACJ,CACJ,GACE,IAAI,YAAY,SAAS,GACvB,QAAQ,GAAG,UAAU;OAChB,IAAI,UAAU,MACnB;OAAI,UAAU,KACZ,QAAQ,GACN,UAAU,SAAS,KAAK,IAAI,UAAU,QAAQ,KAAK,IAAI,KAEvD,UAAU,SAAS,KAAK,IAAI,OAAO,GACpC,iBAAiB,UAAU,KAAK;QAC5B,IAAI,UAAU,YAAY;IAC/B,IAAI,UAAU,SAAS,KAAK,GAC1B,QAAQ,GAAG,UAAU,QAAQ,KAAK,EAAE;IAGtC,QAAQ,WACN,UAAU,WAAW,OAAM,MAAK,EAAE,IAAI,IAAI,UAAU,GACrD,KAAK,UAAU,WACb,KAAI,MAAM,EAAE,QAAQ,GAAG,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,IAAK,EACvD,KAAK,IAAI,EAAE,WAAW,UAAU,KAAK;GAC1C;SAEA,QAAQ,GAAG,UAAU,SAAS,KAAK,IAAI,UAAU,QAAQ,KAAK,IAAI,KAChE,UAAU,SAAS,KAAK,IAAI,OAAO,KAClC,YACD,UAAU,KACP,QAAQ,0BAA0B,SAAS,EAC3C,QAAQ,iBAAiB,GAAG,CACjC,EAAE;EAIN,IAAI,QACD,QACC,MACE,CAAC,SAAS,CAAC,KACX,EAAE,cACF,mBAAmB,MACjB,sBACE,kBAAkB,cAClB,kBAAkB,WAAW,MAAK,cAChC,EAAE,YAAY,MACZ,OACG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WACtB,UAAU,QAAQ,UAAU,QAAQ,UAAU,KACnD,CACF,CACJ,CACJ,EACC,SAAS,GAAG,GAAG,QAAQ;GACtB,IAAI,MAAM,GACR,QAAQ;QAER,QAAQ;GAGV,QAAQ,GACL,GAA6B,YAC1B,QAAO,MACP,mBAAmB,MACjB,sBACE,kBAAkB,cAClB,kBAAkB,WAAW,MAC3B,eACG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WACtB,UAAU,QAAQ,UAAU,QAAQ,UAAU,KACnD,CACJ,CACF,EACC,KAAI,MAAM,EAAE,QAAQ,GAAG,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,IAAK,EACvD,KAAK,IAAI,KAAK;GAGnB,IAAI,MAAM,IAAI,SAAS,GACrB,QAAQ;EAEZ,CAAC;EAEH,QAAQ;EACR,QAAQ;CACV;CAEA,OAAO,MAAM,OAAO,SAAS,QAAQ,WAAW,IAAI;CAEpD,QAAQ,MACN,wCAAwC,YACtC,IAAI,KAAK,QAAQ,IAAI,CAAC,EAAE,IAC1B,EAAE,0CACJ;CAEA,OAAO;EAAE;EAAM;CAAW;AAC5B;;;;;;;AAQA,eAAsB,YAIpB,SACA,KACA;CACA,IAAI,MAAM,kEAAkE;CAE5E,IAAI,IAAI,GAAG,WAAW,IAAI,SAAS,GACjC,MAAM,IAAI,GAAG,OAAO,IAAI,SAAS;CAInC,IAAI,CAAC,MADwB,eAAe,YAAY,GAEtD,MAAM,IAAI,MACR,uFACF;CAGF,IAAI,MAAM,gEAAgE;CAE1E,IAAI,EAAE,MAAM,eAAe,MAAM,iBAC/B,MACC,MAAM,IAAI,YAAY,GAAG,QAAkB,KAAK,YAAY;EAC3D,MAAM,YAAY,YAAY,QAAQ,MAAM,IAAI,OAAO,GAAG;EAC1D,IAAI,CAAC,IAAI,SAAS,SAAS,GACzB,IAAI,KAAK,SAAS;EAGpB,OAAO;CACT,GAAG,CAAC,CAAC,CACP;CAEA,IAAI,MAAM,0CAA0C,IAAI,UAAU,EAAE;CAEpE,MAAM,QAAQ,OACZ,eACA,mBACkC;EAClC,IACE,CAAC,YAAY,aAAa,KAC1B,CAAC,YAAY,aAAa,KAC1B,CAAC,YAAY,cAAc,KAC3B,CAAC,YAAY,cAAc,GAE3B,OAAO;GAAE;GAAM;EAAW;EAG5B,MAAM,YACJ,MAAM,OACJ,KACA,IAAI,WACJ,YAAY,cAAc,IACtB,iBACA,YAAY,cAAc,IACxB,eAAe,OACf,EACR,GAEC,KAAK,EACL,QAAQ,MAAM,EAAE,EAChB,KAAK;EACR,MAAM,WACJ,MAAM,OACJ,KACA,IAAI,WACJ,YAAY,aAAa,IACrB,gBACA,YAAY,aAAa,IACvB,cAAc,OACd,EACR,GAEC,KAAK,EACL,QAAQ,UAAU,EAAE,EACpB,KAAK,EACL,QAAQ,MAAM,EAAE,EAChB,KAAK;EAER,OAAO;GACL,YAAY,CACV,GAAI,YAAY,aAAa,KAAK,cAAc,aAC5C,cAAc,aACd,CAAC,GACL,GAAI,YAAY,cAAc,KAAK,eAAe,aAC9C,eAAe,aACf,CAAC,CACP;GACA,MAAM,MAAM,OACV,KACA,IAAI,WACJ,GACE,CAAC,SAAS,SAAS,wBAAwB,GAAG,CAAC,KAC/C,CAAC,QAAQ,SAAS,wBAAwB,GAAG,CAAC,IAC1C,GAAG,KAAK,MACR,KACH,SAAS,IAAI,UAAU,KAAK,CACjC;EACF;CACF;CACA,MAAM,eACJ,mBACI,SAAS,cAAc,IAAI,eAAe,OAAO;CAEvD,IAAI,SAAS,MAAM,SACjB,SACA,SACA;EACE,aAAa;EACb,YAAY;EACZ,OAAO;EACP,QAAQ;EACR;EACA;CACF,GACA,IACF;CACA,IAAI,QACF;MAAI,YAAY,MAAM,GAAG;GACvB,OAAO,OAAO;GACd,IAAI,MAAM,QAAQ,OAAO,UAAU,KAAK,OAAO,WAAW,SAAS,GACjE,aAAa,UAAU,CAAC,GAAG,YAAY,GAAG,OAAO,UAAU,CAAC,EAAE,OAC5D,OACF;EAEJ,OAAO,IAAI,YAAY,MAAM,GAC3B,OAAO;CACT;CAGF,SAAS,MAAM,SACb,SACA,SACA;EACE,aAAa;EACb,YAAY;EACZ,OAAO;EACP,QAAQ;EACR;EACA;CACF,GACA,IACF;CACA,IAAI,QACF;MAAI,YAAY,MAAM,GAAG;GACvB,OAAO,OAAO;GACd,IAAI,MAAM,QAAQ,OAAO,UAAU,KAAK,OAAO,WAAW,SAAS,GACjE,aAAa,UAAU,CAAC,GAAG,YAAY,GAAG,OAAO,UAAU,CAAC,EAAE,OAC5D,OACF;EAEJ,OAAO,IAAI,YAAY,MAAM,GAC3B,OAAO;CACT;CAGF,SAAS,MAAM,SACb,SACA,SACA;EACE,aAAa;EACb,YAAY;EACZ,OAAO;EACP,QAAQ;EACR;EACA;CACF,GACA,IACF;CACA,IAAI,QACF;MAAI,YAAY,MAAM,GAAG;GACvB,OAAO,OAAO;GACd,IAAI,MAAM,QAAQ,OAAO,UAAU,KAAK,OAAO,WAAW,SAAS,GACjE,aAAa,UAAU,CAAC,GAAG,YAAY,GAAG,OAAO,UAAU,CAAC,EAAE,OAC5D,OACF;EAEJ,OAAO,IAAI,YAAY,MAAM,GAC3B,OAAO;CACT;CAGF,IAAI,YAAY,MAAM,KAAK,CAAC,KAAK,WAAW,SAAS,GACnD,MAAM,IAAI,GAAG,MACX,IAAI,WACJ,GACE,WAAW,SAAS,IAChB,GAAG,WAAW,KAAI,cAAa,yBAAyB,UAAU,KAAK,EAAE,KAAK,IAAI,EAAE;;IAGpF,KACH,wBAAwB,KAAK;EAAE,WAAW;EAAM,gBAAgB;CAAM,CAAC,EAAE;;EAEhF,YAAY,IAAI,EAAE;CAEhB;AAEJ"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import __tsdown_shims_path from 'node:path'
|
|
4
|
+
import __tsdown_shims_url from 'node:url'
|
|
5
|
+
|
|
6
|
+
const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
|
|
7
|
+
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
|
+
|
|
9
|
+
const require_lib_generate_types = require('./generate-types.cjs');
|
|
10
|
+
let vitest = require("vitest");
|
|
11
|
+
|
|
12
|
+
//#region src/lib/generate-types.test.ts
|
|
13
|
+
(0, vitest.describe)("base/core/src/lib/generate-types.ts", () => {
|
|
14
|
+
(0, vitest.it)("loads module exports", () => {
|
|
15
|
+
(0, vitest.expect)(require_lib_generate_types.generate_types_exports).toBeDefined();
|
|
16
|
+
(0, vitest.expect)(typeof require_lib_generate_types.generate_types_exports).toBe("object");
|
|
17
|
+
});
|
|
18
|
+
(0, vitest.it)("has at least one runtime export", () => {
|
|
19
|
+
(0, vitest.expect)(Object.keys(require_lib_generate_types.generate_types_exports).length).toBeGreaterThan(0);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import __tsdown_shims_path from 'node:path'
|
|
4
|
+
import __tsdown_shims_url from 'node:url'
|
|
5
|
+
|
|
6
|
+
const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
|
|
7
|
+
const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
|
|
8
|
+
|
|
9
|
+
import { generate_types_exports } from "./generate-types.mjs";
|
|
10
|
+
import { describe, expect, it } from "vitest";
|
|
11
|
+
|
|
12
|
+
//#region src/lib/generate-types.test.ts
|
|
13
|
+
describe("base/core/src/lib/generate-types.ts", () => {
|
|
14
|
+
it("loads module exports", () => {
|
|
15
|
+
expect(generate_types_exports).toBeDefined();
|
|
16
|
+
expect(typeof generate_types_exports).toBe("object");
|
|
17
|
+
});
|
|
18
|
+
it("has at least one runtime export", () => {
|
|
19
|
+
expect(Object.keys(generate_types_exports).length).toBeGreaterThan(0);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { };
|
|
25
|
+
//# sourceMappingURL=generate-types.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-types.test.mjs","names":["moduleExports"],"sources":["../../src/lib/generate-types.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport * as moduleExports from \"./generate-types\";\n\ndescribe(\"base/core/src/lib/generate-types.ts\", () => {\n it(\"loads module exports\", () => {\n expect(moduleExports).toBeDefined();\n expect(typeof moduleExports).toBe(\"object\");\n });\n\n it(\"has at least one runtime export\", () => {\n expect(Object.keys(moduleExports).length).toBeGreaterThan(0);\n });\n});\n"],"mappings":";;;;;;;;;;;;AAGA,SAAS,6CAA6C;CACpD,GAAG,8BAA8B;EAC/B,OAAOA,sBAAa,EAAE,YAAY;EAClC,OAAO,OAAOA,sBAAa,EAAE,KAAK,QAAQ;CAC5C,CAAC;CAED,GAAG,yCAAyC;EAC1C,OAAO,OAAO,KAAKA,sBAAa,EAAE,MAAM,EAAE,gBAAgB,CAAC;CAC7D,CAAC;AACH,CAAC"}
|