@powerlines/core 0.10.1 → 0.11.1
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/constants/api.cjs +18 -0
- package/dist/constants/api.d.cts +6 -0
- package/dist/constants/api.d.cts.map +1 -0
- package/dist/constants/api.d.mts +6 -0
- package/dist/constants/api.d.mts.map +1 -0
- package/dist/constants/api.mjs +16 -0
- package/dist/constants/api.mjs.map +1 -0
- package/dist/constants/commands.cjs +3 -11
- package/dist/constants/commands.d.cts +1 -1
- package/dist/constants/commands.d.cts.map +1 -1
- package/dist/constants/commands.d.mts +1 -1
- package/dist/constants/commands.d.mts.map +1 -1
- package/dist/constants/commands.mjs +3 -11
- package/dist/constants/commands.mjs.map +1 -1
- package/dist/constants/devtools.cjs +23 -0
- package/dist/constants/devtools.d.cts +13 -0
- package/dist/constants/devtools.d.cts.map +1 -0
- package/dist/constants/devtools.d.mts +13 -0
- package/dist/constants/devtools.d.mts.map +1 -0
- package/dist/constants/devtools.mjs +14 -0
- package/dist/constants/devtools.mjs.map +1 -0
- package/dist/constants/environments.cjs +1 -0
- package/dist/constants/extensions.cjs +21 -0
- package/dist/constants/extensions.d.cts +5 -0
- package/dist/constants/extensions.d.cts.map +1 -0
- package/dist/constants/extensions.d.mts +5 -0
- package/dist/constants/extensions.d.mts.map +1 -0
- package/dist/constants/extensions.mjs +20 -0
- package/dist/constants/extensions.mjs.map +1 -0
- package/dist/constants/fs.cjs +1 -0
- package/dist/constants/hooks.cjs +1 -0
- package/dist/constants/index.cjs +48 -24
- package/dist/constants/index.d.cts +5 -1
- package/dist/constants/index.d.mts +5 -1
- package/dist/constants/index.mjs +6 -2
- package/dist/constants/log-level.cjs +90 -0
- package/dist/constants/log-level.d.cts +63 -0
- package/dist/constants/log-level.d.cts.map +1 -0
- package/dist/constants/log-level.d.mts +63 -0
- package/dist/constants/log-level.d.mts.map +1 -0
- package/dist/constants/log-level.mjs +82 -0
- package/dist/constants/log-level.mjs.map +1 -0
- package/dist/constants/meta.cjs +1 -0
- package/dist/constants/plugin.cjs +3 -2
- package/dist/constants/plugin.d.cts +2 -2
- package/dist/constants/plugin.d.mts +2 -2
- package/dist/context/base-context.cjs +127 -0
- package/dist/context/base-context.d.cts +81 -0
- package/dist/context/base-context.d.cts.map +1 -0
- package/dist/context/base-context.d.mts +81 -0
- package/dist/context/base-context.d.mts.map +1 -0
- package/dist/context/base-context.mjs +125 -0
- package/dist/context/base-context.mjs.map +1 -0
- package/dist/context/context.cjs +934 -0
- package/dist/context/context.d.cts +369 -0
- package/dist/context/context.d.cts.map +1 -0
- package/dist/context/context.d.mts +369 -0
- package/dist/context/context.d.mts.map +1 -0
- package/dist/context/context.mjs +932 -0
- package/dist/context/context.mjs.map +1 -0
- package/dist/context/environment-context.cjs +219 -0
- package/dist/context/environment-context.d.cts +100 -0
- package/dist/context/environment-context.d.cts.map +1 -0
- package/dist/context/environment-context.d.mts +100 -0
- package/dist/context/environment-context.d.mts.map +1 -0
- package/dist/context/environment-context.mjs +218 -0
- package/dist/context/environment-context.mjs.map +1 -0
- package/dist/context/execution-context.cjs +230 -0
- package/dist/context/execution-context.d.cts +101 -0
- package/dist/context/execution-context.d.cts.map +1 -0
- package/dist/context/execution-context.d.mts +101 -0
- package/dist/context/execution-context.d.mts.map +1 -0
- package/dist/context/execution-context.mjs +228 -0
- package/dist/context/execution-context.mjs.map +1 -0
- package/dist/context/index.cjs +12 -0
- package/dist/context/index.d.cts +6 -0
- package/dist/context/index.d.mts +6 -0
- package/dist/context/index.mjs +7 -0
- package/dist/context/plugin-context.cjs +83 -0
- package/dist/context/plugin-context.d.cts +18 -0
- package/dist/context/plugin-context.d.cts.map +1 -0
- package/dist/context/plugin-context.d.mts +18 -0
- package/dist/context/plugin-context.d.mts.map +1 -0
- package/dist/context/plugin-context.mjs +82 -0
- package/dist/context/plugin-context.mjs.map +1 -0
- package/dist/index.cjs +62 -6
- package/dist/index.d.cts +23 -11
- package/dist/index.d.mts +23 -11
- package/dist/index.mjs +17 -5
- package/dist/lib/config.cjs +167 -28
- package/dist/lib/config.d.cts +95 -14
- package/dist/lib/config.d.cts.map +1 -1
- package/dist/lib/config.d.mts +95 -14
- package/dist/lib/config.d.mts.map +1 -1
- package/dist/lib/config.mjs +160 -28
- package/dist/lib/config.mjs.map +1 -1
- package/dist/lib/context-helpers.cjs +43 -0
- package/dist/lib/context-helpers.d.cts +19 -0
- package/dist/lib/context-helpers.d.cts.map +1 -0
- package/dist/lib/context-helpers.d.mts +19 -0
- package/dist/lib/context-helpers.d.mts.map +1 -0
- package/dist/lib/context-helpers.mjs +41 -0
- package/dist/lib/context-helpers.mjs.map +1 -0
- package/dist/lib/entry.cjs +9 -9
- package/dist/lib/entry.d.cts +5 -5
- package/dist/lib/entry.d.cts.map +1 -1
- package/dist/lib/entry.d.mts +5 -5
- package/dist/lib/entry.d.mts.map +1 -1
- package/dist/lib/entry.mjs +9 -9
- package/dist/lib/entry.mjs.map +1 -1
- package/dist/lib/environment.cjs +72 -0
- package/dist/lib/environment.d.cts +12 -0
- package/dist/lib/environment.d.cts.map +1 -0
- package/dist/lib/environment.d.mts +12 -0
- package/dist/lib/environment.d.mts.map +1 -0
- package/dist/lib/environment.mjs +67 -0
- package/dist/lib/environment.mjs.map +1 -0
- package/dist/lib/events.cjs +43 -0
- package/dist/lib/events.d.cts +10 -0
- package/dist/lib/events.d.cts.map +1 -0
- package/dist/lib/events.d.mts +10 -0
- package/dist/lib/events.d.mts.map +1 -0
- package/dist/lib/events.mjs +42 -0
- package/dist/lib/events.mjs.map +1 -0
- package/dist/lib/generate-types.cjs +371 -0
- package/dist/lib/generate-types.d.cts +67 -0
- package/dist/lib/generate-types.d.cts.map +1 -0
- package/dist/lib/generate-types.d.mts +67 -0
- package/dist/lib/generate-types.d.mts.map +1 -0
- package/dist/lib/generate-types.mjs +368 -0
- package/dist/lib/generate-types.mjs.map +1 -0
- package/dist/lib/hooks.cjs +152 -0
- package/dist/lib/hooks.d.cts +28 -0
- package/dist/lib/hooks.d.cts.map +1 -0
- package/dist/lib/hooks.d.mts +28 -0
- package/dist/lib/hooks.d.mts.map +1 -0
- package/dist/lib/hooks.mjs +147 -0
- package/dist/lib/hooks.mjs.map +1 -0
- package/dist/lib/index.cjs +64 -6
- package/dist/lib/index.d.cts +15 -3
- package/dist/lib/index.d.mts +15 -3
- package/dist/lib/index.mjs +19 -5
- package/dist/lib/install-dependencies.cjs +25 -0
- package/dist/lib/install-dependencies.d.cts +12 -0
- package/dist/lib/install-dependencies.d.cts.map +1 -0
- package/dist/lib/install-dependencies.d.mts +12 -0
- package/dist/lib/install-dependencies.d.mts.map +1 -0
- package/dist/lib/install-dependencies.mjs +24 -0
- package/dist/lib/install-dependencies.mjs.map +1 -0
- package/dist/lib/meta.cjs +57 -0
- package/dist/lib/meta.d.cts +34 -0
- package/dist/lib/meta.d.cts.map +1 -0
- package/dist/lib/meta.d.mts +34 -0
- package/dist/lib/meta.d.mts.map +1 -0
- package/dist/lib/meta.mjs +54 -0
- package/dist/lib/meta.mjs.map +1 -0
- package/dist/lib/plugins.cjs +150 -0
- package/dist/lib/plugins.d.cts +40 -0
- package/dist/lib/plugins.d.cts.map +1 -0
- package/dist/lib/plugins.d.mts +40 -0
- package/dist/lib/plugins.d.mts.map +1 -0
- package/dist/lib/plugins.mjs +146 -0
- package/dist/lib/plugins.mjs.map +1 -0
- package/dist/lib/resolver.cjs +35 -0
- package/dist/lib/resolver.d.cts +21 -0
- package/dist/lib/resolver.d.cts.map +1 -0
- package/dist/lib/resolver.d.mts +21 -0
- package/dist/lib/resolver.d.mts.map +1 -0
- package/dist/lib/resolver.mjs +33 -0
- package/dist/lib/resolver.mjs.map +1 -0
- package/dist/lib/schemas.cjs +9 -0
- package/dist/lib/schemas.d.cts +2 -0
- package/dist/lib/schemas.d.mts +2 -0
- package/dist/lib/schemas.mjs +3 -0
- package/dist/lib/streaming-channel.cjs +260 -0
- package/dist/lib/streaming-channel.d.cts +133 -0
- package/dist/lib/streaming-channel.d.cts.map +1 -0
- package/dist/lib/streaming-channel.d.mts +133 -0
- package/dist/lib/streaming-channel.d.mts.map +1 -0
- package/dist/lib/streaming-channel.mjs +258 -0
- package/dist/lib/streaming-channel.mjs.map +1 -0
- package/dist/lib/typescript/index.cjs +16 -0
- package/dist/lib/typescript/index.d.cts +3 -0
- package/dist/lib/typescript/index.d.mts +3 -0
- package/dist/lib/typescript/index.mjs +4 -0
- package/dist/lib/typescript/ts-morph.cjs +105 -0
- package/dist/lib/typescript/ts-morph.d.cts +38 -0
- package/dist/lib/typescript/ts-morph.d.cts.map +1 -0
- package/dist/lib/typescript/ts-morph.d.mts +38 -0
- package/dist/lib/typescript/ts-morph.d.mts.map +1 -0
- package/dist/lib/typescript/ts-morph.mjs +102 -0
- package/dist/lib/typescript/ts-morph.mjs.map +1 -0
- package/dist/lib/typescript/tsconfig.cjs +253 -0
- package/dist/lib/typescript/tsconfig.d.cts +77 -0
- package/dist/lib/typescript/tsconfig.d.cts.map +1 -0
- package/dist/lib/typescript/tsconfig.d.mts +77 -0
- package/dist/lib/typescript/tsconfig.d.mts.map +1 -0
- package/dist/lib/typescript/tsconfig.mjs +240 -0
- package/dist/lib/typescript/tsconfig.mjs.map +1 -0
- package/dist/lib/unplugin/helpers.cjs +2 -2
- package/dist/lib/unplugin/module-resolution.cjs +21 -20
- package/dist/lib/unplugin/module-resolution.d.cts +10 -2
- package/dist/lib/unplugin/module-resolution.d.cts.map +1 -1
- package/dist/lib/unplugin/module-resolution.d.mts +10 -2
- package/dist/lib/unplugin/module-resolution.d.mts.map +1 -1
- package/dist/lib/unplugin/module-resolution.mjs +20 -20
- package/dist/lib/unplugin/module-resolution.mjs.map +1 -1
- package/dist/lib/unplugin/plugin.cjs +55 -61
- package/dist/lib/unplugin/plugin.d.cts +10 -4
- package/dist/lib/unplugin/plugin.d.cts.map +1 -1
- package/dist/lib/unplugin/plugin.d.mts +10 -4
- package/dist/lib/unplugin/plugin.d.mts.map +1 -1
- package/dist/lib/unplugin/plugin.mjs +55 -61
- package/dist/lib/unplugin/plugin.mjs.map +1 -1
- package/dist/lib/utilities/file-header.cjs +2 -2
- package/dist/lib/utilities/file-header.mjs +2 -2
- package/dist/lib/utilities/file-header.mjs.map +1 -1
- package/dist/lib/utilities/format.cjs +16 -8
- package/dist/lib/utilities/format.d.cts.map +1 -1
- package/dist/lib/utilities/format.d.mts.map +1 -1
- package/dist/lib/utilities/format.mjs +15 -8
- package/dist/lib/utilities/format.mjs.map +1 -1
- package/dist/lib/utilities/index.cjs +2 -2
- package/dist/lib/utilities/index.mjs +2 -2
- package/dist/lib/utilities/source-file.cjs +1 -1
- package/dist/lib/utilities/source-map.cjs +1 -1
- package/dist/lib/utilities/write-file.cjs +1 -2
- package/dist/lib/utilities/write-file.d.cts +1 -1
- package/dist/lib/utilities/write-file.d.cts.map +1 -1
- package/dist/lib/utilities/write-file.d.mts +1 -1
- package/dist/lib/utilities/write-file.d.mts.map +1 -1
- package/dist/lib/utilities/write-file.mjs +1 -2
- package/dist/lib/utilities/write-file.mjs.map +1 -1
- package/dist/lib/vfs.cjs +1104 -0
- package/dist/lib/vfs.d.cts +321 -0
- package/dist/lib/vfs.d.cts.map +1 -0
- package/dist/lib/vfs.d.mts +321 -0
- package/dist/lib/vfs.d.mts.map +1 -0
- package/dist/lib/vfs.mjs +1102 -0
- package/dist/lib/vfs.mjs.map +1 -0
- package/dist/plugin-base.cjs +5 -9
- package/dist/plugin-base.mjs +5 -9
- package/dist/plugin-base.mjs.map +1 -1
- package/dist/plugin-utils/build-helpers.cjs +2 -2
- package/dist/plugin-utils/build-helpers.d.cts +2 -2
- package/dist/plugin-utils/build-helpers.d.cts.map +1 -1
- package/dist/plugin-utils/build-helpers.d.mts +2 -2
- package/dist/plugin-utils/build-helpers.d.mts.map +1 -1
- package/dist/plugin-utils/build-helpers.mjs +2 -2
- package/dist/plugin-utils/build-helpers.mjs.map +1 -1
- package/dist/plugin-utils/combine-plugins.d.cts +7 -8
- package/dist/plugin-utils/combine-plugins.d.cts.map +1 -1
- package/dist/plugin-utils/combine-plugins.d.mts +7 -8
- package/dist/plugin-utils/combine-plugins.d.mts.map +1 -1
- package/dist/plugin-utils/combine-plugins.mjs.map +1 -1
- package/dist/plugin-utils/context-helpers.cjs +29 -16
- package/dist/plugin-utils/context-helpers.d.cts +10 -2
- package/dist/plugin-utils/context-helpers.d.cts.map +1 -1
- package/dist/plugin-utils/context-helpers.d.mts +10 -2
- package/dist/plugin-utils/context-helpers.d.mts.map +1 -1
- package/dist/plugin-utils/context-helpers.mjs +29 -17
- package/dist/plugin-utils/context-helpers.mjs.map +1 -1
- package/dist/plugin-utils/docs-helper.cjs +17 -0
- package/dist/plugin-utils/docs-helper.d.cts +11 -0
- package/dist/plugin-utils/docs-helper.d.cts.map +1 -0
- package/dist/plugin-utils/docs-helper.d.mts +11 -0
- package/dist/plugin-utils/docs-helper.d.mts.map +1 -0
- package/dist/plugin-utils/docs-helper.mjs +16 -0
- package/dist/plugin-utils/docs-helper.mjs.map +1 -0
- package/dist/plugin-utils/extend.mjs.map +1 -1
- package/dist/plugin-utils/filter.cjs +101 -0
- package/dist/plugin-utils/filter.d.cts +16 -0
- package/dist/plugin-utils/filter.d.cts.map +1 -0
- package/dist/plugin-utils/filter.d.mts +16 -0
- package/dist/plugin-utils/filter.d.mts.map +1 -0
- package/dist/plugin-utils/filter.mjs +91 -0
- package/dist/plugin-utils/filter.mjs.map +1 -0
- package/dist/plugin-utils/format-package-json.cjs +1 -1
- package/dist/plugin-utils/format-package-json.mjs +1 -1
- package/dist/plugin-utils/format-package-json.mjs.map +1 -1
- package/dist/plugin-utils/format.cjs +44 -0
- package/dist/plugin-utils/format.d.cts +11 -0
- package/dist/plugin-utils/format.d.cts.map +1 -0
- package/dist/plugin-utils/format.d.mts +11 -0
- package/dist/plugin-utils/format.d.mts.map +1 -0
- package/dist/plugin-utils/format.mjs +43 -0
- package/dist/plugin-utils/format.mjs.map +1 -0
- package/dist/plugin-utils/get-config-path.cjs +34 -32
- package/dist/plugin-utils/get-config-path.d.cts +4 -1
- package/dist/plugin-utils/get-config-path.d.cts.map +1 -1
- package/dist/plugin-utils/get-config-path.d.mts +4 -1
- package/dist/plugin-utils/get-config-path.d.mts.map +1 -1
- package/dist/plugin-utils/get-config-path.mjs +34 -32
- package/dist/plugin-utils/get-config-path.mjs.map +1 -1
- package/dist/plugin-utils/helpers.cjs +25 -10
- package/dist/plugin-utils/helpers.d.cts +31 -24
- package/dist/plugin-utils/helpers.d.cts.map +1 -1
- package/dist/plugin-utils/helpers.d.mts +31 -24
- package/dist/plugin-utils/helpers.d.mts.map +1 -1
- package/dist/plugin-utils/helpers.mjs +22 -8
- package/dist/plugin-utils/helpers.mjs.map +1 -1
- package/dist/plugin-utils/index.cjs +48 -4
- package/dist/plugin-utils/index.d.cts +9 -3
- package/dist/plugin-utils/index.d.mts +9 -3
- package/dist/plugin-utils/index.mjs +11 -5
- package/dist/plugin-utils/install.cjs +47 -0
- package/dist/plugin-utils/install.d.cts +23 -0
- package/dist/plugin-utils/install.d.cts.map +1 -0
- package/dist/plugin-utils/install.d.mts +23 -0
- package/dist/plugin-utils/install.d.mts.map +1 -0
- package/dist/plugin-utils/install.mjs +45 -0
- package/dist/plugin-utils/install.mjs.map +1 -0
- package/dist/plugin-utils/logging.cjs +605 -0
- package/dist/plugin-utils/logging.d.cts +111 -0
- package/dist/plugin-utils/logging.d.cts.map +1 -0
- package/dist/plugin-utils/logging.d.mts +111 -0
- package/dist/plugin-utils/logging.d.mts.map +1 -0
- package/dist/plugin-utils/logging.mjs +588 -0
- package/dist/plugin-utils/logging.mjs.map +1 -0
- package/dist/plugin-utils/merge.cjs +4 -4
- package/dist/plugin-utils/merge.d.cts +0 -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 +3 -3
- package/dist/plugin-utils/merge.mjs.map +1 -1
- package/dist/plugin-utils/modules.cjs +1 -1
- package/dist/plugin-utils/modules.mjs +1 -1
- package/dist/plugin-utils/modules.mjs.map +1 -1
- package/dist/plugin-utils/paths.cjs +18 -4
- package/dist/plugin-utils/paths.d.cts +12 -2
- package/dist/plugin-utils/paths.d.cts.map +1 -1
- package/dist/plugin-utils/paths.d.mts +12 -2
- package/dist/plugin-utils/paths.d.mts.map +1 -1
- package/dist/plugin-utils/paths.mjs +18 -4
- package/dist/plugin-utils/paths.mjs.map +1 -1
- package/dist/plugin-utils/virtual.cjs +80 -0
- package/dist/plugin-utils/virtual.d.cts +69 -0
- package/dist/plugin-utils/virtual.d.cts.map +1 -0
- package/dist/plugin-utils/virtual.d.mts +69 -0
- package/dist/plugin-utils/virtual.d.mts.map +1 -0
- package/dist/plugin-utils/virtual.mjs +73 -0
- package/dist/plugin-utils/virtual.mjs.map +1 -0
- package/dist/schemas/fs.cjs +232 -0
- package/dist/schemas/fs.d.cts +127 -0
- package/dist/schemas/fs.d.cts.map +1 -0
- package/dist/schemas/fs.d.mts +127 -0
- package/dist/schemas/fs.d.mts.map +1 -0
- package/dist/schemas/fs.mjs +226 -0
- package/dist/schemas/fs.mjs.map +1 -0
- package/dist/storage/base.cjs +216 -0
- package/dist/storage/base.d.cts +201 -0
- package/dist/storage/base.d.cts.map +1 -0
- package/dist/storage/base.d.mts +201 -0
- package/dist/storage/base.d.mts.map +1 -0
- package/dist/storage/base.mjs +215 -0
- package/dist/storage/base.mjs.map +1 -0
- package/dist/storage/file-system.cjs +180 -0
- package/dist/storage/file-system.d.cts +129 -0
- package/dist/storage/file-system.d.cts.map +1 -0
- package/dist/storage/file-system.d.mts +129 -0
- package/dist/storage/file-system.d.mts.map +1 -0
- package/dist/storage/file-system.mjs +179 -0
- package/dist/storage/file-system.mjs.map +1 -0
- package/dist/storage/helpers.cjs +37 -0
- package/dist/storage/helpers.d.cts +25 -0
- package/dist/storage/helpers.d.cts.map +1 -0
- package/dist/storage/helpers.d.mts +25 -0
- package/dist/storage/helpers.d.mts.map +1 -0
- package/dist/storage/helpers.mjs +34 -0
- package/dist/storage/helpers.mjs.map +1 -0
- package/dist/storage/index.cjs +12 -0
- package/dist/storage/index.d.cts +5 -0
- package/dist/storage/index.d.mts +5 -0
- package/dist/storage/index.mjs +6 -0
- package/dist/storage/virtual.cjs +98 -0
- package/dist/storage/virtual.d.cts +80 -0
- package/dist/storage/virtual.d.cts.map +1 -0
- package/dist/storage/virtual.d.mts +80 -0
- package/dist/storage/virtual.d.mts.map +1 -0
- package/dist/storage/virtual.mjs +97 -0
- package/dist/storage/virtual.mjs.map +1 -0
- package/dist/types/api.d.cts +18 -99
- package/dist/types/api.d.cts.map +1 -1
- package/dist/types/api.d.mts +18 -99
- package/dist/types/api.d.mts.map +1 -1
- package/dist/types/config.d.cts +239 -141
- package/dist/types/config.d.cts.map +1 -1
- package/dist/types/config.d.mts +240 -142
- package/dist/types/config.d.mts.map +1 -1
- package/dist/types/context.d.cts +205 -136
- package/dist/types/context.d.cts.map +1 -1
- package/dist/types/context.d.mts +208 -139
- package/dist/types/context.d.mts.map +1 -1
- package/dist/types/fs.d.cts +49 -5
- package/dist/types/fs.d.cts.map +1 -1
- package/dist/types/fs.d.mts +50 -6
- package/dist/types/fs.d.mts.map +1 -1
- package/dist/types/hooks.d.cts +26 -38
- package/dist/types/hooks.d.cts.map +1 -1
- package/dist/types/hooks.d.mts +26 -38
- package/dist/types/hooks.d.mts.map +1 -1
- package/dist/types/index.d.cts +9 -0
- package/dist/types/index.d.mts +8 -8
- package/dist/types/logging.d.cts +161 -0
- package/dist/types/logging.d.cts.map +1 -0
- package/dist/types/logging.d.mts +161 -0
- package/dist/types/logging.d.mts.map +1 -0
- package/dist/types/plugin.d.cts +23 -24
- package/dist/types/plugin.d.cts.map +1 -1
- package/dist/types/plugin.d.mts +23 -24
- package/dist/types/plugin.d.mts.map +1 -1
- package/dist/types/tsconfig.d.cts +15 -12
- package/dist/types/tsconfig.d.cts.map +1 -1
- package/dist/types/tsconfig.d.mts +16 -13
- package/dist/types/tsconfig.d.mts.map +1 -1
- package/dist/types/unplugin.d.cts +10 -25
- package/dist/types/unplugin.d.cts.map +1 -1
- package/dist/types/unplugin.d.mts +10 -25
- package/dist/types/unplugin.d.mts.map +1 -1
- package/package.json +270 -425
- package/schemas/fs.capnp +42 -0
- package/dist/lib/logger.cjs +0 -59
- package/dist/lib/logger.d.cts +0 -23
- package/dist/lib/logger.d.cts.map +0 -1
- package/dist/lib/logger.d.mts +0 -23
- package/dist/lib/logger.d.mts.map +0 -1
- package/dist/lib/logger.mjs +0 -56
- package/dist/lib/logger.mjs.map +0 -1
- package/dist/types/_internal.cjs +0 -0
- package/dist/types/_internal.d.cts +0 -106
- package/dist/types/_internal.d.cts.map +0 -1
- package/dist/types/_internal.d.mts +0 -106
- package/dist/types/_internal.d.mts.map +0 -1
- package/dist/types/_internal.mjs +0 -1
- package/dist/types/commands.d.cts +0 -13
- package/dist/types/commands.d.cts.map +0 -1
- package/dist/types/commands.d.mts +0 -13
- package/dist/types/commands.d.mts.map +0 -1
package/dist/lib/entry.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UnresolvedContext } from "../types/context.cjs";
|
|
2
2
|
import { Config, ResolvedEntryTypeDefinition } from "../types/config.cjs";
|
|
3
3
|
import { TypeDefinition, TypeDefinitionParameter } from "@stryke/types/configuration";
|
|
4
4
|
|
|
5
5
|
//#region src/lib/entry.d.ts
|
|
6
|
-
declare function resolveEntryOutput(context:
|
|
7
|
-
declare function resolveInput(context:
|
|
6
|
+
declare function resolveEntryOutput<TContext extends UnresolvedContext>(context: TContext, typeDefinition: TypeDefinition): string;
|
|
7
|
+
declare function resolveInput<TContext extends UnresolvedContext>(context: TContext, typeDefinition: TypeDefinition, input?: TypeDefinitionParameter, output?: string): ResolvedEntryTypeDefinition;
|
|
8
8
|
/**
|
|
9
9
|
* Resolves multiple type definitions into their corresponding resolved entry type definitions.
|
|
10
10
|
*
|
|
@@ -12,7 +12,7 @@ declare function resolveInput(context: Context, typeDefinition: TypeDefinition,
|
|
|
12
12
|
* @param typeDefinitions - The type definitions to resolve.
|
|
13
13
|
* @returns A promise that resolves to an array of resolved entry type definitions.
|
|
14
14
|
*/
|
|
15
|
-
declare function resolveInputs(context:
|
|
15
|
+
declare function resolveInputs<TContext extends UnresolvedContext>(context: TContext, typeDefinitions: TypeDefinitionParameter | TypeDefinitionParameter[] | Record<string, TypeDefinitionParameter | TypeDefinitionParameter[]>): Promise<ResolvedEntryTypeDefinition[]>;
|
|
16
16
|
/**
|
|
17
17
|
* Resolves multiple type definitions into their corresponding resolved entry type definitions.
|
|
18
18
|
*
|
|
@@ -20,7 +20,7 @@ declare function resolveInputs(context: Context, typeDefinitions: TypeDefinition
|
|
|
20
20
|
* @param typeDefinitions - The type definitions to resolve.
|
|
21
21
|
* @returns A promise that resolves to an array of resolved entry type definitions.
|
|
22
22
|
*/
|
|
23
|
-
declare function resolveInputsSync(context:
|
|
23
|
+
declare function resolveInputsSync<TContext extends UnresolvedContext>(context: TContext, typeDefinitions: TypeDefinitionParameter | TypeDefinitionParameter[] | Record<string, TypeDefinitionParameter | TypeDefinitionParameter[]>): ResolvedEntryTypeDefinition[];
|
|
24
24
|
/**
|
|
25
25
|
* Checks if the provided entry is a type definition.
|
|
26
26
|
*
|
package/dist/lib/entry.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.cts","names":[],"sources":["../../src/lib/entry.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"entry.d.cts","names":[],"sources":["../../src/lib/entry.ts"],"mappings":";;;;;iBAqCgB,kBAAA,kBAAoC,iBAAA,CAAA,CAClD,OAAA,EAAS,QAAA,EACT,cAAA,EAAgB,cAAA;AAAA,iBAsBF,YAAA,kBAA8B,iBAAA,CAAA,CAC5C,OAAA,EAAS,QAAA,EACT,cAAA,EAAgB,cAAA,EAChB,KAAA,GAAQ,uBAAA,EACR,MAAA,YACC,2BAAA;AA7BH;;;;;;;AAAA,iBA4CsB,aAAA,kBAA+B,iBAAA,CAAA,CACnD,OAAA,EAAS,QAAA,EACT,eAAA,EACI,uBAAA,GACA,uBAAA,KACA,MAAA,SAAe,uBAAA,GAA0B,uBAAA,MAC5C,OAAA,CAAQ,2BAAA;;;;;;;;iBAyEK,iBAAA,kBAAmC,iBAAA,CAAA,CACjD,OAAA,EAAS,QAAA,EACT,eAAA,EACI,uBAAA,GACA,uBAAA,KACA,MAAA,SAAe,uBAAA,GAA0B,uBAAA,MAC5C,2BAAA;AAzGH;;;;;;AAAA,iBAiKgB,gBAAA,CAAiB,KAAA,QAAa,KAAA,IAAS,cAAA;;;;;;;iBAUvC,6BAAA,CACd,KAAA,EAAO,uBAAA,GAA0B,2BAAA,GAChC,KAAA,IAAS,2BAAA;;;;;;;iBAaI,eAAA,CAAgB,MAAA,GAAQ,MAAA,YAAuB,MAAA"}
|
package/dist/lib/entry.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UnresolvedContext } from "../types/context.mjs";
|
|
2
2
|
import { Config, ResolvedEntryTypeDefinition } from "../types/config.mjs";
|
|
3
3
|
import { TypeDefinition, TypeDefinitionParameter } from "@stryke/types/configuration";
|
|
4
4
|
|
|
5
5
|
//#region src/lib/entry.d.ts
|
|
6
|
-
declare function resolveEntryOutput(context:
|
|
7
|
-
declare function resolveInput(context:
|
|
6
|
+
declare function resolveEntryOutput<TContext extends UnresolvedContext>(context: TContext, typeDefinition: TypeDefinition): string;
|
|
7
|
+
declare function resolveInput<TContext extends UnresolvedContext>(context: TContext, typeDefinition: TypeDefinition, input?: TypeDefinitionParameter, output?: string): ResolvedEntryTypeDefinition;
|
|
8
8
|
/**
|
|
9
9
|
* Resolves multiple type definitions into their corresponding resolved entry type definitions.
|
|
10
10
|
*
|
|
@@ -12,7 +12,7 @@ declare function resolveInput(context: Context, typeDefinition: TypeDefinition,
|
|
|
12
12
|
* @param typeDefinitions - The type definitions to resolve.
|
|
13
13
|
* @returns A promise that resolves to an array of resolved entry type definitions.
|
|
14
14
|
*/
|
|
15
|
-
declare function resolveInputs(context:
|
|
15
|
+
declare function resolveInputs<TContext extends UnresolvedContext>(context: TContext, typeDefinitions: TypeDefinitionParameter | TypeDefinitionParameter[] | Record<string, TypeDefinitionParameter | TypeDefinitionParameter[]>): Promise<ResolvedEntryTypeDefinition[]>;
|
|
16
16
|
/**
|
|
17
17
|
* Resolves multiple type definitions into their corresponding resolved entry type definitions.
|
|
18
18
|
*
|
|
@@ -20,7 +20,7 @@ declare function resolveInputs(context: Context, typeDefinitions: TypeDefinition
|
|
|
20
20
|
* @param typeDefinitions - The type definitions to resolve.
|
|
21
21
|
* @returns A promise that resolves to an array of resolved entry type definitions.
|
|
22
22
|
*/
|
|
23
|
-
declare function resolveInputsSync(context:
|
|
23
|
+
declare function resolveInputsSync<TContext extends UnresolvedContext>(context: TContext, typeDefinitions: TypeDefinitionParameter | TypeDefinitionParameter[] | Record<string, TypeDefinitionParameter | TypeDefinitionParameter[]>): ResolvedEntryTypeDefinition[];
|
|
24
24
|
/**
|
|
25
25
|
* Checks if the provided entry is a type definition.
|
|
26
26
|
*
|
package/dist/lib/entry.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.mts","names":[],"sources":["../../src/lib/entry.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"entry.d.mts","names":[],"sources":["../../src/lib/entry.ts"],"mappings":";;;;;iBAqCgB,kBAAA,kBAAoC,iBAAA,CAAA,CAClD,OAAA,EAAS,QAAA,EACT,cAAA,EAAgB,cAAA;AAAA,iBAsBF,YAAA,kBAA8B,iBAAA,CAAA,CAC5C,OAAA,EAAS,QAAA,EACT,cAAA,EAAgB,cAAA,EAChB,KAAA,GAAQ,uBAAA,EACR,MAAA,YACC,2BAAA;AA7BH;;;;;;;AAAA,iBA4CsB,aAAA,kBAA+B,iBAAA,CAAA,CACnD,OAAA,EAAS,QAAA,EACT,eAAA,EACI,uBAAA,GACA,uBAAA,KACA,MAAA,SAAe,uBAAA,GAA0B,uBAAA,MAC5C,OAAA,CAAQ,2BAAA;;;;;;;;iBAyEK,iBAAA,kBAAmC,iBAAA,CAAA,CACjD,OAAA,EAAS,QAAA,EACT,eAAA,EACI,uBAAA,GACA,uBAAA,KACA,MAAA,SAAe,uBAAA,GAA0B,uBAAA,MAC5C,2BAAA;AAzGH;;;;;;AAAA,iBAiKgB,gBAAA,CAAiB,KAAA,QAAa,KAAA,IAAS,cAAA;;;;;;;iBAUvC,6BAAA,CACd,KAAA,EAAO,uBAAA,GAA0B,2BAAA,GAChC,KAAA,IAAS,2BAAA;;;;;;;iBAaI,eAAA,CAAgB,MAAA,GAAQ,MAAA,YAAuB,MAAA"}
|
package/dist/lib/entry.mjs
CHANGED
|
@@ -2,18 +2,18 @@ import { replacePathTokens } from "../plugin-utils/paths.mjs";
|
|
|
2
2
|
import { appendPath } from "@stryke/path/append";
|
|
3
3
|
import { joinPaths } from "@stryke/path/join-paths";
|
|
4
4
|
import { replaceExtension, replacePath } from "@stryke/path/replace";
|
|
5
|
-
import {
|
|
5
|
+
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
6
|
+
import { isString } from "@stryke/type-checks/is-string";
|
|
6
7
|
import { toArray } from "@stryke/convert/to-array";
|
|
7
|
-
import {
|
|
8
|
+
import { isObject } from "@stryke/type-checks/is-object";
|
|
8
9
|
import { getUniqueBy } from "@stryke/helpers/get-unique";
|
|
9
10
|
import { isAbsolutePath } from "@stryke/path/is-type";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { isString } from "@stryke/type-checks/is-string";
|
|
11
|
+
import { parseTypeDefinition } from "@stryke/convert/parse-type-definition";
|
|
12
|
+
import { murmurhash } from "@stryke/hash";
|
|
13
13
|
|
|
14
14
|
//#region src/lib/entry.ts
|
|
15
15
|
function resolveEntryOutput(context, typeDefinition) {
|
|
16
|
-
return replaceExtension(replacePath(replacePath(replacePath(replacePath(replacePath(typeDefinition.file, joinPaths(context.
|
|
16
|
+
return replaceExtension(replacePath(replacePath(replacePath(replacePath(replacePath(typeDefinition.file, joinPaths(context.config.cwd, context.config.root, "src")), joinPaths(context.config.cwd, context.config.root)), joinPaths(context.config.root, "src")), context.config.root), "src"));
|
|
17
17
|
}
|
|
18
18
|
function resolveInput(context, typeDefinition, input, output) {
|
|
19
19
|
return {
|
|
@@ -47,7 +47,7 @@ async function resolveInputs(context, typeDefinitions) {
|
|
|
47
47
|
file: replacePath(filePath, context.config.root),
|
|
48
48
|
name: typeDefinition.name
|
|
49
49
|
}, entry.input, entry.output);
|
|
50
|
-
return (await context.fs.glob(appendPath(filePath, context.
|
|
50
|
+
return (await context.fs.glob(appendPath(filePath, context.config.cwd))).map((file) => resolveInput(context, {
|
|
51
51
|
file: replacePath(file, context.config.root),
|
|
52
52
|
name: typeDefinition.name
|
|
53
53
|
}, entry.input, entry.output));
|
|
@@ -75,10 +75,10 @@ function resolveInputsSync(context, typeDefinitions) {
|
|
|
75
75
|
}
|
|
76
76
|
const filePath = isAbsolutePath(typeDefinition.file) ? typeDefinition.file : appendPath(typeDefinition.file, context.config.root);
|
|
77
77
|
if (context.fs.isFileSync(filePath)) return resolveInput(context, {
|
|
78
|
-
file: appendPath(filePath, context.
|
|
78
|
+
file: appendPath(filePath, context.config.cwd),
|
|
79
79
|
name: typeDefinition.name
|
|
80
80
|
});
|
|
81
|
-
return context.fs.globSync(appendPath(filePath, context.
|
|
81
|
+
return context.fs.globSync(appendPath(filePath, context.config.cwd)).map((file) => resolveInput(context, {
|
|
82
82
|
file,
|
|
83
83
|
name: typeDefinition.name
|
|
84
84
|
}));
|
package/dist/lib/entry.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.mjs","names":[],"sources":["../../src/lib/entry.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 { parseTypeDefinition } from \"@stryke/convert/parse-type-definition\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { murmurhash } from \"@stryke/hash\";\nimport { getUniqueBy } from \"@stryke/helpers/get-unique\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { isAbsolutePath } from \"@stryke/path/is-type\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport type {\n TypeDefinition,\n TypeDefinitionParameter\n} from \"@stryke/types/configuration\";\nimport { replacePathTokens } from \"../plugin-utils/paths\";\nimport { Config } from \"../types\";\nimport { ResolvedEntryTypeDefinition } from \"../types/config\";\nimport type { Context } from \"../types/context\";\n\nexport function resolveEntryOutput(\n context: Context,\n typeDefinition: TypeDefinition\n): string {\n return replaceExtension(\n replacePath(\n replacePath(\n replacePath(\n replacePath(\n replacePath(\n typeDefinition.file,\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.root,\n \"src\"\n )\n ),\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.root\n )\n ),\n joinPaths(context.config.root, \"src\")\n ),\n context.config.root\n ),\n \"src\"\n )\n );\n}\n\nexport function resolveInput(\n context: Context,\n typeDefinition: TypeDefinition,\n input?: TypeDefinitionParameter,\n output?: string\n): ResolvedEntryTypeDefinition {\n return {\n ...typeDefinition,\n input: isSetString(input) ? { file: String(input) } : typeDefinition,\n output: output || resolveEntryOutput(context, typeDefinition)\n };\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport async function resolveInputs(\n context: Context,\n typeDefinitions:\n | TypeDefinitionParameter\n | TypeDefinitionParameter[]\n | Record<string, TypeDefinitionParameter | TypeDefinitionParameter[]>\n): Promise<ResolvedEntryTypeDefinition[]> {\n return (\n await Promise.all(\n (isObject(typeDefinitions) && !isTypeDefinition(typeDefinitions)\n ? Object.values(typeDefinitions).flat()\n : toArray(typeDefinitions)\n )\n .map(async entry => {\n if (isResolvedEntryTypeDefinition(entry)) {\n return {\n ...entry,\n output: entry.output\n ? replacePathTokens(context, entry.output)\n : undefined,\n file: replacePathTokens(context, entry.file)\n };\n }\n\n let typeDefinition: TypeDefinition;\n if (isString(entry)) {\n typeDefinition = parseTypeDefinition(\n replacePathTokens(context, entry)\n )!;\n } else {\n typeDefinition = entry;\n typeDefinition.file = replacePathTokens(\n context,\n typeDefinition.file\n );\n }\n\n const filePath = isAbsolutePath(typeDefinition.file)\n ? typeDefinition.file\n : appendPath(typeDefinition.file, context.config.root);\n if (await context.fs.isFile(filePath)) {\n return resolveInput(\n context,\n {\n file: replacePath(filePath, context.config.root),\n name: typeDefinition.name\n },\n (entry as ResolvedEntryTypeDefinition).input,\n (entry as ResolvedEntryTypeDefinition).output\n );\n }\n\n return (\n await context.fs.glob(\n appendPath(filePath, context.workspaceConfig.workspaceRoot)\n )\n ).map(file =>\n resolveInput(\n context,\n {\n file: replacePath(file, context.config.root),\n name: typeDefinition.name\n },\n (entry as ResolvedEntryTypeDefinition).input,\n (entry as ResolvedEntryTypeDefinition).output\n )\n );\n })\n .flat()\n .filter(Boolean)\n )\n ).flat();\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport function resolveInputsSync(\n context: Context,\n typeDefinitions:\n | TypeDefinitionParameter\n | TypeDefinitionParameter[]\n | Record<string, TypeDefinitionParameter | TypeDefinitionParameter[]>\n): ResolvedEntryTypeDefinition[] {\n return (\n isObject(typeDefinitions) && !isTypeDefinition(typeDefinitions)\n ? Object.values(typeDefinitions).flat()\n : toArray(typeDefinitions)\n )\n .map(entry => {\n if (isResolvedEntryTypeDefinition(entry)) {\n return {\n ...entry,\n output: entry.output\n ? replacePathTokens(context, entry.output)\n : undefined,\n file: replacePathTokens(context, entry.file)\n };\n }\n\n let typeDefinition: TypeDefinition;\n if (isString(entry)) {\n typeDefinition = parseTypeDefinition(\n replacePathTokens(context, entry)\n )!;\n } else {\n typeDefinition = entry;\n typeDefinition.file = replacePathTokens(context, typeDefinition.file);\n }\n\n const filePath = isAbsolutePath(typeDefinition.file)\n ? typeDefinition.file\n : appendPath(typeDefinition.file, context.config.root);\n if (context.fs.isFileSync(filePath)) {\n return resolveInput(context, {\n file: appendPath(filePath, context.workspaceConfig.workspaceRoot),\n name: typeDefinition.name\n });\n }\n\n return context.fs\n .globSync(appendPath(filePath, context.workspaceConfig.workspaceRoot))\n .map(file =>\n resolveInput(context, {\n file,\n name: typeDefinition.name\n })\n );\n })\n .flat()\n .filter(Boolean);\n}\n\n/**\n * Checks if the provided entry is a type definition.\n *\n * @param entry - The entry to check.\n * @returns True if the entry is a type definition, false otherwise.\n */\nexport function isTypeDefinition(entry: any): entry is TypeDefinition {\n return !isString(entry) && entry.file !== undefined;\n}\n\n/**\n * Checks if the provided entry is a resolved entry type definition.\n *\n * @param entry - The entry to check.\n * @returns True if the entry is a resolved entry type definition, false otherwise.\n */\nexport function isResolvedEntryTypeDefinition(\n entry: TypeDefinitionParameter | ResolvedEntryTypeDefinition\n): entry is ResolvedEntryTypeDefinition {\n return (\n isTypeDefinition(entry) &&\n (entry as ResolvedEntryTypeDefinition).output !== undefined\n );\n}\n\n/**\n * Get unique inputs from the provided list.\n *\n * @param inputs - The entry points to process.\n * @returns An array of unique inputs (by file path or content hash).\n */\nexport function getUniqueInputs(inputs: Config[\"input\"] = []): Config[\"input\"] {\n return isObject(inputs)\n ? inputs\n : getUniqueBy(toArray(inputs), (item: TypeDefinitionParameter) =>\n isSetString(item) ? item : murmurhash(item ?? {}, { maxLength: 24 })\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entry.mjs","names":[],"sources":["../../src/lib/entry.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 { parseTypeDefinition } from \"@stryke/convert/parse-type-definition\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { murmurhash } from \"@stryke/hash\";\nimport { getUniqueBy } from \"@stryke/helpers/get-unique\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { isAbsolutePath } from \"@stryke/path/is-type\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport type {\n TypeDefinition,\n TypeDefinitionParameter\n} from \"@stryke/types/configuration\";\nimport { replacePathTokens } from \"../plugin-utils/paths\";\nimport { Config, ResolvedEntryTypeDefinition } from \"../types/config\";\nimport type { UnresolvedContext } from \"../types/context\";\n\nexport function resolveEntryOutput<TContext extends UnresolvedContext>(\n context: TContext,\n typeDefinition: TypeDefinition\n): string {\n return replaceExtension(\n replacePath(\n replacePath(\n replacePath(\n replacePath(\n replacePath(\n typeDefinition.file,\n joinPaths(context.config.cwd, context.config.root, \"src\")\n ),\n joinPaths(context.config.cwd, context.config.root)\n ),\n joinPaths(context.config.root, \"src\")\n ),\n context.config.root\n ),\n \"src\"\n )\n );\n}\n\nexport function resolveInput<TContext extends UnresolvedContext>(\n context: TContext,\n typeDefinition: TypeDefinition,\n input?: TypeDefinitionParameter,\n output?: string\n): ResolvedEntryTypeDefinition {\n return {\n ...typeDefinition,\n input: isSetString(input) ? { file: String(input) } : typeDefinition,\n output: output || resolveEntryOutput(context, typeDefinition)\n };\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport async function resolveInputs<TContext extends UnresolvedContext>(\n context: TContext,\n typeDefinitions:\n | TypeDefinitionParameter\n | TypeDefinitionParameter[]\n | Record<string, TypeDefinitionParameter | TypeDefinitionParameter[]>\n): Promise<ResolvedEntryTypeDefinition[]> {\n return (\n await Promise.all(\n (isObject(typeDefinitions) && !isTypeDefinition(typeDefinitions)\n ? Object.values(typeDefinitions).flat()\n : toArray(typeDefinitions)\n )\n .map(async entry => {\n if (isResolvedEntryTypeDefinition(entry)) {\n return {\n ...entry,\n output: entry.output\n ? replacePathTokens(context, entry.output)\n : undefined,\n file: replacePathTokens(context, entry.file)\n };\n }\n\n let typeDefinition: TypeDefinition;\n if (isString(entry)) {\n typeDefinition = parseTypeDefinition(\n replacePathTokens(context, entry)\n )!;\n } else {\n typeDefinition = entry;\n typeDefinition.file = replacePathTokens(\n context,\n typeDefinition.file\n );\n }\n\n const filePath = isAbsolutePath(typeDefinition.file)\n ? typeDefinition.file\n : appendPath(typeDefinition.file, context.config.root);\n if (await context.fs.isFile(filePath)) {\n return resolveInput(\n context,\n {\n file: replacePath(filePath, context.config.root),\n name: typeDefinition.name\n },\n (entry as ResolvedEntryTypeDefinition).input,\n (entry as ResolvedEntryTypeDefinition).output\n );\n }\n\n return (\n await context.fs.glob(appendPath(filePath, context.config.cwd))\n ).map(file =>\n resolveInput(\n context,\n {\n file: replacePath(file, context.config.root),\n name: typeDefinition.name\n },\n (entry as ResolvedEntryTypeDefinition).input,\n (entry as ResolvedEntryTypeDefinition).output\n )\n );\n })\n .flat()\n .filter(Boolean)\n )\n ).flat();\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport function resolveInputsSync<TContext extends UnresolvedContext>(\n context: TContext,\n typeDefinitions:\n | TypeDefinitionParameter\n | TypeDefinitionParameter[]\n | Record<string, TypeDefinitionParameter | TypeDefinitionParameter[]>\n): ResolvedEntryTypeDefinition[] {\n return (\n isObject(typeDefinitions) && !isTypeDefinition(typeDefinitions)\n ? Object.values(typeDefinitions).flat()\n : toArray(typeDefinitions)\n )\n .map(entry => {\n if (isResolvedEntryTypeDefinition(entry)) {\n return {\n ...entry,\n output: entry.output\n ? replacePathTokens(context, entry.output)\n : undefined,\n file: replacePathTokens(context, entry.file)\n };\n }\n\n let typeDefinition: TypeDefinition;\n if (isString(entry)) {\n typeDefinition = parseTypeDefinition(\n replacePathTokens(context, entry)\n )!;\n } else {\n typeDefinition = entry;\n typeDefinition.file = replacePathTokens(context, typeDefinition.file);\n }\n\n const filePath = isAbsolutePath(typeDefinition.file)\n ? typeDefinition.file\n : appendPath(typeDefinition.file, context.config.root);\n if (context.fs.isFileSync(filePath)) {\n return resolveInput(context, {\n file: appendPath(filePath, context.config.cwd),\n name: typeDefinition.name\n });\n }\n\n return context.fs\n .globSync(appendPath(filePath, context.config.cwd))\n .map(file =>\n resolveInput(context, {\n file,\n name: typeDefinition.name\n })\n );\n })\n .flat()\n .filter(Boolean);\n}\n\n/**\n * Checks if the provided entry is a type definition.\n *\n * @param entry - The entry to check.\n * @returns True if the entry is a type definition, false otherwise.\n */\nexport function isTypeDefinition(entry: any): entry is TypeDefinition {\n return !isString(entry) && entry.file !== undefined;\n}\n\n/**\n * Checks if the provided entry is a resolved entry type definition.\n *\n * @param entry - The entry to check.\n * @returns True if the entry is a resolved entry type definition, false otherwise.\n */\nexport function isResolvedEntryTypeDefinition(\n entry: TypeDefinitionParameter | ResolvedEntryTypeDefinition\n): entry is ResolvedEntryTypeDefinition {\n return (\n isTypeDefinition(entry) &&\n (entry as ResolvedEntryTypeDefinition).output !== undefined\n );\n}\n\n/**\n * Get unique inputs from the provided list.\n *\n * @param inputs - The entry points to process.\n * @returns An array of unique inputs (by file path or content hash).\n */\nexport function getUniqueInputs(inputs: Config[\"input\"] = []): Config[\"input\"] {\n return isObject(inputs)\n ? inputs\n : getUniqueBy(toArray(inputs), (item: TypeDefinitionParameter) =>\n isSetString(item) ? item : murmurhash(item ?? {}, { maxLength: 24 })\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
|
+
const require_constants_environments = require('../constants/environments.cjs');
|
|
4
|
+
const require_lib_hooks = require('./hooks.cjs');
|
|
5
|
+
require('../constants/index.cjs');
|
|
6
|
+
let defu = require("defu");
|
|
7
|
+
defu = require_runtime.__toESM(defu, 1);
|
|
8
|
+
let _stryke_string_format_title_case = require("@stryke/string-format/title-case");
|
|
9
|
+
let _stryke_unique_id_uuid = require("@stryke/unique-id/uuid");
|
|
10
|
+
let _stryke_type_checks_is_set = require("@stryke/type-checks/is-set");
|
|
11
|
+
|
|
12
|
+
//#region src/lib/environment.ts
|
|
13
|
+
function createEnvironment(name, config) {
|
|
14
|
+
return (0, defu.default)(config.environments?.[name] ?? {}, {
|
|
15
|
+
id: (0, _stryke_unique_id_uuid.uuid)(),
|
|
16
|
+
name,
|
|
17
|
+
title: config.title ?? (0, _stryke_string_format_title_case.titleCase)(config.name),
|
|
18
|
+
ssr: false,
|
|
19
|
+
resolve: { mainFields: config.platform === "browser" ? [
|
|
20
|
+
"browser",
|
|
21
|
+
"module",
|
|
22
|
+
"jsnext:main",
|
|
23
|
+
"jsnext"
|
|
24
|
+
] : [
|
|
25
|
+
"module",
|
|
26
|
+
"jsnext:main",
|
|
27
|
+
"jsnext"
|
|
28
|
+
] },
|
|
29
|
+
consumer: config.platform === "browser" ? "client" : "server",
|
|
30
|
+
preview: config.platform === "browser" ? {
|
|
31
|
+
port: 5173,
|
|
32
|
+
open: true,
|
|
33
|
+
strictPort: false,
|
|
34
|
+
host: "localhost",
|
|
35
|
+
allowedHosts: ["."],
|
|
36
|
+
cors: true,
|
|
37
|
+
headers: {}
|
|
38
|
+
} : void 0
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function createDefaultEnvironment(config) {
|
|
42
|
+
return createEnvironment(require_constants_environments.DEFAULT_ENVIRONMENT, config);
|
|
43
|
+
}
|
|
44
|
+
async function getEnvironments(context) {
|
|
45
|
+
if (!context.config.environments || Object.keys(context.config.environments).length <= 1) {
|
|
46
|
+
context.debug({
|
|
47
|
+
meta: { category: "config" },
|
|
48
|
+
message: "No environments are configured for this Powerlines project. Using the default environment."
|
|
49
|
+
});
|
|
50
|
+
return [await context.getEnvironment()];
|
|
51
|
+
}
|
|
52
|
+
context.debug({
|
|
53
|
+
meta: { category: "config" },
|
|
54
|
+
message: `Found ${Object.keys(context.config.environments).length} configured environment(s) for this Powerlines project.`
|
|
55
|
+
});
|
|
56
|
+
return (await Promise.all(Object.entries(context.config.environments).map(async ([name, config]) => {
|
|
57
|
+
if (!await context.getEnvironmentSafe(name)) {
|
|
58
|
+
const resolvedEnvironment = await require_lib_hooks.callHook(context, "configEnvironment", { environment: name }, name, config);
|
|
59
|
+
if (resolvedEnvironment) context.environments[name] = await context.createEnvironment(resolvedEnvironment);
|
|
60
|
+
}
|
|
61
|
+
return context.environments[name];
|
|
62
|
+
}))).filter((env) => (0, _stryke_type_checks_is_set.isSet)(env));
|
|
63
|
+
}
|
|
64
|
+
async function executeEnvironments(context, handle) {
|
|
65
|
+
await Promise.all((await getEnvironments(context)).map(async (env) => Promise.resolve(handle(env))));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
//#endregion
|
|
69
|
+
exports.createDefaultEnvironment = createDefaultEnvironment;
|
|
70
|
+
exports.createEnvironment = createEnvironment;
|
|
71
|
+
exports.executeEnvironments = executeEnvironments;
|
|
72
|
+
exports.getEnvironments = getEnvironments;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EnvironmentContext, ExecutionContext } from "../types/context.cjs";
|
|
2
|
+
import { EnvironmentResolvedConfig, ResolvedConfig } from "../types/config.cjs";
|
|
3
|
+
import { MaybePromise } from "@stryke/types/base";
|
|
4
|
+
|
|
5
|
+
//#region src/lib/environment.d.ts
|
|
6
|
+
declare function createEnvironment<TResolvedConfig extends ResolvedConfig = ResolvedConfig>(name: string, config: TResolvedConfig): EnvironmentResolvedConfig<TResolvedConfig>["environment"];
|
|
7
|
+
declare function createDefaultEnvironment<TResolvedConfig extends ResolvedConfig = ResolvedConfig>(config: TResolvedConfig): EnvironmentResolvedConfig<TResolvedConfig>["environment"];
|
|
8
|
+
declare function getEnvironments<TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown>(context: ExecutionContext<TResolvedConfig, TSystemContext>): Promise<EnvironmentContext<TResolvedConfig, TSystemContext>[]>;
|
|
9
|
+
declare function executeEnvironments<TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown>(context: ExecutionContext<TResolvedConfig, TSystemContext>, handle: (env: EnvironmentContext<TResolvedConfig, TSystemContext>) => MaybePromise<void>): Promise<void>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { createDefaultEnvironment, createEnvironment, executeEnvironments, getEnvironments };
|
|
12
|
+
//# sourceMappingURL=environment.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.cts","names":[],"sources":["../../src/lib/environment.ts"],"mappings":";;;;;iBAgCgB,iBAAA,yBACU,cAAA,GAAiB,cAAA,CAAA,CACzC,IAAA,UAAc,MAAA,EAAQ,eAAA,GA0BL,yBAAA,CAA0B,eAAA;AAAA,iBAG7B,wBAAA,yBACU,cAAA,GAAiB,cAAA,CAAA,CACzC,MAAA,EAAQ,eAAA,GAAe,yBAAA,CAAA,eAAA;AAAA,iBAIH,eAAA,yBACI,cAAA,GAAiB,cAAA,2BAAA,CAGzC,OAAA,EAAS,gBAAA,CAAiB,eAAA,EAAiB,cAAA,IAC1C,OAAA,CAAQ,kBAAA,CAAmB,eAAA,EAAiB,cAAA;AAAA,iBAuDzB,mBAAA,yBACI,cAAA,GAAiB,cAAA,2BAAA,CAGzC,OAAA,EAAS,gBAAA,CAAiB,eAAA,EAAiB,cAAA,GAC3C,MAAA,GACE,GAAA,EAAK,kBAAA,CAAmB,eAAA,EAAiB,cAAA,MACtC,YAAA,SAAkB,OAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EnvironmentContext, ExecutionContext } from "../types/context.mjs";
|
|
2
|
+
import { EnvironmentResolvedConfig, ResolvedConfig } from "../types/config.mjs";
|
|
3
|
+
import { MaybePromise } from "@stryke/types/base";
|
|
4
|
+
|
|
5
|
+
//#region src/lib/environment.d.ts
|
|
6
|
+
declare function createEnvironment<TResolvedConfig extends ResolvedConfig = ResolvedConfig>(name: string, config: TResolvedConfig): EnvironmentResolvedConfig<TResolvedConfig>["environment"];
|
|
7
|
+
declare function createDefaultEnvironment<TResolvedConfig extends ResolvedConfig = ResolvedConfig>(config: TResolvedConfig): EnvironmentResolvedConfig<TResolvedConfig>["environment"];
|
|
8
|
+
declare function getEnvironments<TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown>(context: ExecutionContext<TResolvedConfig, TSystemContext>): Promise<EnvironmentContext<TResolvedConfig, TSystemContext>[]>;
|
|
9
|
+
declare function executeEnvironments<TResolvedConfig extends ResolvedConfig = ResolvedConfig, TSystemContext = unknown>(context: ExecutionContext<TResolvedConfig, TSystemContext>, handle: (env: EnvironmentContext<TResolvedConfig, TSystemContext>) => MaybePromise<void>): Promise<void>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { createDefaultEnvironment, createEnvironment, executeEnvironments, getEnvironments };
|
|
12
|
+
//# sourceMappingURL=environment.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.mts","names":[],"sources":["../../src/lib/environment.ts"],"mappings":";;;;;iBAgCgB,iBAAA,yBACU,cAAA,GAAiB,cAAA,CAAA,CACzC,IAAA,UAAc,MAAA,EAAQ,eAAA,GA0BL,yBAAA,CAA0B,eAAA;AAAA,iBAG7B,wBAAA,yBACU,cAAA,GAAiB,cAAA,CAAA,CACzC,MAAA,EAAQ,eAAA,GAAe,yBAAA,CAAA,eAAA;AAAA,iBAIH,eAAA,yBACI,cAAA,GAAiB,cAAA,2BAAA,CAGzC,OAAA,EAAS,gBAAA,CAAiB,eAAA,EAAiB,cAAA,IAC1C,OAAA,CAAQ,kBAAA,CAAmB,eAAA,EAAiB,cAAA;AAAA,iBAuDzB,mBAAA,yBACI,cAAA,GAAiB,cAAA,2BAAA,CAGzC,OAAA,EAAS,gBAAA,CAAiB,eAAA,EAAiB,cAAA,GAC3C,MAAA,GACE,GAAA,EAAK,kBAAA,CAAmB,eAAA,EAAiB,cAAA,MACtC,YAAA,SAAkB,OAAA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { DEFAULT_ENVIRONMENT } from "../constants/environments.mjs";
|
|
2
|
+
import { callHook } from "./hooks.mjs";
|
|
3
|
+
import "../constants/index.mjs";
|
|
4
|
+
import defu from "defu";
|
|
5
|
+
import { titleCase } from "@stryke/string-format/title-case";
|
|
6
|
+
import { uuid } from "@stryke/unique-id/uuid";
|
|
7
|
+
import { isSet } from "@stryke/type-checks/is-set";
|
|
8
|
+
|
|
9
|
+
//#region src/lib/environment.ts
|
|
10
|
+
function createEnvironment(name, config) {
|
|
11
|
+
return defu(config.environments?.[name] ?? {}, {
|
|
12
|
+
id: uuid(),
|
|
13
|
+
name,
|
|
14
|
+
title: config.title ?? titleCase(config.name),
|
|
15
|
+
ssr: false,
|
|
16
|
+
resolve: { mainFields: config.platform === "browser" ? [
|
|
17
|
+
"browser",
|
|
18
|
+
"module",
|
|
19
|
+
"jsnext:main",
|
|
20
|
+
"jsnext"
|
|
21
|
+
] : [
|
|
22
|
+
"module",
|
|
23
|
+
"jsnext:main",
|
|
24
|
+
"jsnext"
|
|
25
|
+
] },
|
|
26
|
+
consumer: config.platform === "browser" ? "client" : "server",
|
|
27
|
+
preview: config.platform === "browser" ? {
|
|
28
|
+
port: 5173,
|
|
29
|
+
open: true,
|
|
30
|
+
strictPort: false,
|
|
31
|
+
host: "localhost",
|
|
32
|
+
allowedHosts: ["."],
|
|
33
|
+
cors: true,
|
|
34
|
+
headers: {}
|
|
35
|
+
} : void 0
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function createDefaultEnvironment(config) {
|
|
39
|
+
return createEnvironment(DEFAULT_ENVIRONMENT, config);
|
|
40
|
+
}
|
|
41
|
+
async function getEnvironments(context) {
|
|
42
|
+
if (!context.config.environments || Object.keys(context.config.environments).length <= 1) {
|
|
43
|
+
context.debug({
|
|
44
|
+
meta: { category: "config" },
|
|
45
|
+
message: "No environments are configured for this Powerlines project. Using the default environment."
|
|
46
|
+
});
|
|
47
|
+
return [await context.getEnvironment()];
|
|
48
|
+
}
|
|
49
|
+
context.debug({
|
|
50
|
+
meta: { category: "config" },
|
|
51
|
+
message: `Found ${Object.keys(context.config.environments).length} configured environment(s) for this Powerlines project.`
|
|
52
|
+
});
|
|
53
|
+
return (await Promise.all(Object.entries(context.config.environments).map(async ([name, config]) => {
|
|
54
|
+
if (!await context.getEnvironmentSafe(name)) {
|
|
55
|
+
const resolvedEnvironment = await callHook(context, "configEnvironment", { environment: name }, name, config);
|
|
56
|
+
if (resolvedEnvironment) context.environments[name] = await context.createEnvironment(resolvedEnvironment);
|
|
57
|
+
}
|
|
58
|
+
return context.environments[name];
|
|
59
|
+
}))).filter((env) => isSet(env));
|
|
60
|
+
}
|
|
61
|
+
async function executeEnvironments(context, handle) {
|
|
62
|
+
await Promise.all((await getEnvironments(context)).map(async (env) => Promise.resolve(handle(env))));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
export { createDefaultEnvironment, createEnvironment, executeEnvironments, getEnvironments };
|
|
67
|
+
//# sourceMappingURL=environment.mjs.map
|
|
@@ -0,0 +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":";;;;;;;;;AAgCA,SAAgB,kBAEd,MAAc,QAAyB;AACvC,QAAO,KAAK,OAAO,eAAe,SAAS,EAAE,EAAE;EAC7C,IAAI,MAAM;EACV;EACA,OAAO,OAAO,SAAS,UAAU,OAAO,KAAK;EAC7C,KAAK;EACL,SAAS,EACP,YACE,OAAO,aAAa,YAChB;GAAC;GAAW;GAAU;GAAe;GAAS,GAC9C;GAAC;GAAU;GAAe;GAAS,EAC1C;EACD,UAAU,OAAO,aAAa,YAAY,WAAW;EACrD,SACE,OAAO,aAAa,YAChB;GACE,MAAM;GACN,MAAM;GACN,YAAY;GAEZ,MAAM;GACN,cAAc,CAAC,IAAI;GACnB,MAAM;GACN,SAAS,EAAE;GACZ,GACD;EACP,CAAC;;AAGJ,SAAgB,yBAEd,QAAyB;AACzB,QAAO,kBAAmC,qBAAqB,OAAO;;AAGxE,eAAsB,gBAIpB,SACgE;AAChE,KACE,CAAC,QAAQ,OAAO,gBAChB,OAAO,KAAK,QAAQ,OAAO,aAAa,CAAC,UAAU,GACnD;AACA,UAAQ,MAAM;GACZ,MAAM,EACJ,UAAU,UACX;GACD,SACE;GACH,CAAC;AAEF,SAAO,CAAC,MAAM,QAAQ,gBAAgB,CAAC;;AAGzC,SAAQ,MAAM;EACZ,MAAM,EACJ,UAAU,UACX;EACD,SAAS,SACP,OAAO,KAAK,QAAQ,OAAO,aAAa,CAAC,OAC1C;EACF,CAAC;AAEF,SACE,MAAM,QAAQ,IACZ,OAAO,QAAQ,QAAQ,OAAO,aAAa,CAAC,IAC1C,OAAO,CAAC,MAAM,YAAY;AAExB,MAAI,CAAC,MADqB,QAAQ,mBAAmB,KAAK,EACxC;GAChB,MAAM,sBAAsB,MAAM,SAChC,SACA,qBACA,EACE,aAAa,MACd,EACD,MACA,OACD;AAED,OAAI,oBACF,SAAQ,aAAa,QAAQ,MAAM,QAAQ,kBACzC,oBACD;;AAIL,SAAO,QAAQ,aAAa;GAE/B,CACF,EACD,QAAO,QAAO,MAAM,IAAI,CAAC;;AAG7B,eAAsB,oBAIpB,SACA,QAGA;AACA,OAAM,QAAQ,KACX,MAAM,gBAAgB,QAAQ,EAAE,IAAI,OAAM,QACzC,QAAQ,QAAQ,OAAO,IAAI,CAAC,CAC7B,CACF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
//#region src/lib/events.ts
|
|
4
|
+
/**
|
|
5
|
+
* Create event emitter.
|
|
6
|
+
*/
|
|
7
|
+
function createEventEmitter() {
|
|
8
|
+
const _listeners = {};
|
|
9
|
+
function emit(event, ...args) {
|
|
10
|
+
const callbacks = _listeners[event] || [];
|
|
11
|
+
for (let i = 0, length = callbacks.length; i < length; i++) {
|
|
12
|
+
const callback = callbacks[i];
|
|
13
|
+
if (callback) callback(...args);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function emitOnce(event, ...args) {
|
|
17
|
+
emit(event, ...args);
|
|
18
|
+
delete _listeners[event];
|
|
19
|
+
}
|
|
20
|
+
function on(event, cb) {
|
|
21
|
+
(_listeners[event] ||= []).push(cb);
|
|
22
|
+
return () => {
|
|
23
|
+
_listeners[event] = _listeners[event]?.filter((i) => cb !== i);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function once(event, cb) {
|
|
27
|
+
const unsubscribe = on(event, ((...args) => {
|
|
28
|
+
unsubscribe();
|
|
29
|
+
return cb(...args);
|
|
30
|
+
}));
|
|
31
|
+
return unsubscribe;
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
_listeners,
|
|
35
|
+
emit,
|
|
36
|
+
emitOnce,
|
|
37
|
+
on,
|
|
38
|
+
once
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.createEventEmitter = createEventEmitter;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EventEmitter, EventsMap } from "devframe/types";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/events.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Create event emitter.
|
|
6
|
+
*/
|
|
7
|
+
declare function createEventEmitter<Events extends EventsMap>(): EventEmitter<Events>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { createEventEmitter };
|
|
10
|
+
//# sourceMappingURL=events.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.cts","names":[],"sources":["../../src/lib/events.ts"],"mappings":";;;;;AAuBA;iBAAgB,kBAAA,gBACC,SAAA,CAAA,CAAA,GACZ,YAAA,CAAa,MAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EventEmitter, EventsMap } from "devframe/types";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/events.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Create event emitter.
|
|
6
|
+
*/
|
|
7
|
+
declare function createEventEmitter<Events extends EventsMap>(): EventEmitter<Events>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { createEventEmitter };
|
|
10
|
+
//# sourceMappingURL=events.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.mts","names":[],"sources":["../../src/lib/events.ts"],"mappings":";;;;;AAuBA;iBAAgB,kBAAA,gBACC,SAAA,CAAA,CAAA,GACZ,YAAA,CAAa,MAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/lib/events.ts
|
|
2
|
+
/**
|
|
3
|
+
* Create event emitter.
|
|
4
|
+
*/
|
|
5
|
+
function createEventEmitter() {
|
|
6
|
+
const _listeners = {};
|
|
7
|
+
function emit(event, ...args) {
|
|
8
|
+
const callbacks = _listeners[event] || [];
|
|
9
|
+
for (let i = 0, length = callbacks.length; i < length; i++) {
|
|
10
|
+
const callback = callbacks[i];
|
|
11
|
+
if (callback) callback(...args);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function emitOnce(event, ...args) {
|
|
15
|
+
emit(event, ...args);
|
|
16
|
+
delete _listeners[event];
|
|
17
|
+
}
|
|
18
|
+
function on(event, cb) {
|
|
19
|
+
(_listeners[event] ||= []).push(cb);
|
|
20
|
+
return () => {
|
|
21
|
+
_listeners[event] = _listeners[event]?.filter((i) => cb !== i);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function once(event, cb) {
|
|
25
|
+
const unsubscribe = on(event, ((...args) => {
|
|
26
|
+
unsubscribe();
|
|
27
|
+
return cb(...args);
|
|
28
|
+
}));
|
|
29
|
+
return unsubscribe;
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
_listeners,
|
|
33
|
+
emit,
|
|
34
|
+
emitOnce,
|
|
35
|
+
on,
|
|
36
|
+
once
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
export { createEventEmitter };
|
|
42
|
+
//# sourceMappingURL=events.mjs.map
|
|
@@ -0,0 +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":";;;;AAuBA,SAAgB,qBAEU;CACxB,MAAM,aAA4D,EAAE;CAEpE,SAAS,KACP,OACA,GAAG,MACH;EACA,MAAM,YAAY,WAAW,UAAU,EAAE;AACzC,OAAK,IAAI,IAAI,GAAG,SAAS,UAAU,QAAQ,IAAI,QAAQ,KAAK;GAC1D,MAAM,WAAW,UAAU;AAC3B,OAAI,SAEF,UAAS,GAAG,KAAK;;;CAIvB,SAAS,SACP,OACA,GAAG,MACH;AACA,OAAK,OAAO,GAAG,KAAK;AACpB,SAAO,WAAW;;CAEpB,SAAS,GACP,OACA,IACkB;AAClB,GAAC,WAAW,WAAW,EAAE,EAAiB,KAAK,GAAG;AAClD,eAAa;AACX,cAAW,SAAS,WAAW,QAAQ,QAAO,MAAK,OAAO,EAAE;;;CAGhE,SAAS,KAA6B,OAAU,IAAe;EAC7D,MAAM,cAAc,GAAG,SAAS,GAAG,SAAgC;AACjE,gBAAa;AAGb,UAAO,GAAG,GAAG,KAAK;KACJ;AAEhB,SAAO;;AAGT,QAAO;EACL;EACA;EACA;EACA;EACA;EACD"}
|