@microwiseai/snapshot 0.3.6 → 0.3.26
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/commands/install.d.ts +13 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +517 -49
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/license.d.ts +21 -0
- package/dist/commands/license.d.ts.map +1 -0
- package/dist/commands/license.js +120 -0
- package/dist/commands/license.js.map +1 -0
- package/dist/index.js +46 -6
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +32 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +89 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/gitlab.d.ts +26 -20
- package/dist/lib/gitlab.d.ts.map +1 -1
- package/dist/lib/gitlab.js +100 -153
- package/dist/lib/gitlab.js.map +1 -1
- package/dist/lib/package-resolver.d.ts +48 -0
- package/dist/lib/package-resolver.d.ts.map +1 -0
- package/dist/lib/package-resolver.js +178 -0
- package/dist/lib/package-resolver.js.map +1 -0
- package/dist/lib/skit-adapter.d.ts +56 -0
- package/dist/lib/skit-adapter.d.ts.map +1 -0
- package/dist/lib/skit-adapter.js +166 -0
- package/dist/lib/skit-adapter.js.map +1 -0
- package/dist/lib/transitive-resolver.d.ts +86 -0
- package/dist/lib/transitive-resolver.d.ts.map +1 -0
- package/dist/lib/transitive-resolver.js +431 -0
- package/dist/lib/transitive-resolver.js.map +1 -0
- package/dist/lib/types.d.ts +6 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib.d.ts +59 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +134 -0
- package/dist/lib.js.map +1 -0
- package/dist/tools/snapshot-to-license.d.ts +13 -0
- package/dist/tools/snapshot-to-license.d.ts.map +1 -0
- package/dist/tools/snapshot-to-license.js +105 -0
- package/dist/tools/snapshot-to-license.js.map +1 -0
- package/node_modules/@microwiseai/cache/README.md +143 -0
- package/node_modules/@microwiseai/cache/dist/file.d.ts +97 -0
- package/node_modules/@microwiseai/cache/dist/file.d.ts.map +1 -0
- package/node_modules/@microwiseai/cache/dist/file.js +256 -0
- package/node_modules/@microwiseai/cache/dist/file.js.map +1 -0
- package/node_modules/@microwiseai/cache/dist/index.d.ts +10 -0
- package/node_modules/@microwiseai/cache/dist/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/cache/dist/index.js +11 -0
- package/node_modules/@microwiseai/cache/dist/index.js.map +1 -0
- package/node_modules/@microwiseai/cache/dist/memory.d.ts +69 -0
- package/node_modules/@microwiseai/cache/dist/memory.d.ts.map +1 -0
- package/node_modules/@microwiseai/cache/dist/memory.js +152 -0
- package/node_modules/@microwiseai/cache/dist/memory.js.map +1 -0
- package/node_modules/@microwiseai/cache/dist/types.d.ts +76 -0
- package/node_modules/@microwiseai/cache/dist/types.d.ts.map +1 -0
- package/node_modules/@microwiseai/cache/dist/types.js +5 -0
- package/node_modules/@microwiseai/cache/dist/types.js.map +1 -0
- package/node_modules/@microwiseai/cache/package.json +40 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/detector.test.d.ts +7 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/detector.test.d.ts.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/detector.test.js +139 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/detector.test.js.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/reporter.test.d.ts +8 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/reporter.test.d.ts.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/reporter.test.js +195 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/reporter.test.js.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/types.test.d.ts +8 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/types.test.d.ts.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/types.test.js +97 -0
- package/node_modules/@microwiseai/import-telemetry/dist/__tests__/types.test.js.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/detector.d.ts +16 -0
- package/node_modules/@microwiseai/import-telemetry/dist/detector.d.ts.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/detector.js +103 -0
- package/node_modules/@microwiseai/import-telemetry/dist/detector.js.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/index.d.ts +48 -0
- package/node_modules/@microwiseai/import-telemetry/dist/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/index.js +56 -0
- package/node_modules/@microwiseai/import-telemetry/dist/index.js.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/reporter.d.ts +16 -0
- package/node_modules/@microwiseai/import-telemetry/dist/reporter.d.ts.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/reporter.js +147 -0
- package/node_modules/@microwiseai/import-telemetry/dist/reporter.js.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/types.d.ts +75 -0
- package/node_modules/@microwiseai/import-telemetry/dist/types.d.ts.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/dist/types.js +23 -0
- package/node_modules/@microwiseai/import-telemetry/dist/types.js.map +1 -0
- package/node_modules/@microwiseai/import-telemetry/package.json +40 -0
- package/node_modules/@microwiseai/license/README.md +157 -0
- package/node_modules/@microwiseai/license/dist/api/client.d.ts +37 -0
- package/node_modules/@microwiseai/license/dist/api/client.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/api/client.js +95 -0
- package/node_modules/@microwiseai/license/dist/api/client.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/api/endpoints.d.ts +25 -0
- package/node_modules/@microwiseai/license/dist/api/endpoints.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/api/endpoints.js +101 -0
- package/node_modules/@microwiseai/license/dist/api/endpoints.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/api/index.d.ts +7 -0
- package/node_modules/@microwiseai/license/dist/api/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/api/index.js +8 -0
- package/node_modules/@microwiseai/license/dist/api/index.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/cache/file.d.ts +38 -0
- package/node_modules/@microwiseai/license/dist/cache/file.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/cache/file.js +140 -0
- package/node_modules/@microwiseai/license/dist/cache/file.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/cache/index.d.ts +7 -0
- package/node_modules/@microwiseai/license/dist/cache/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/cache/index.js +10 -0
- package/node_modules/@microwiseai/license/dist/cache/index.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/cache/memory.d.ts +35 -0
- package/node_modules/@microwiseai/license/dist/cache/memory.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/cache/memory.js +77 -0
- package/node_modules/@microwiseai/license/dist/cache/memory.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/cache/offline.d.ts +29 -0
- package/node_modules/@microwiseai/license/dist/cache/offline.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/cache/offline.js +58 -0
- package/node_modules/@microwiseai/license/dist/cache/offline.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/client.d.ts +42 -0
- package/node_modules/@microwiseai/license/dist/client.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/client.js +83 -0
- package/node_modules/@microwiseai/license/dist/client.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/config.d.ts +27 -0
- package/node_modules/@microwiseai/license/dist/config.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/config.js +52 -0
- package/node_modules/@microwiseai/license/dist/config.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/core/activate.d.ts +21 -0
- package/node_modules/@microwiseai/license/dist/core/activate.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/core/activate.js +72 -0
- package/node_modules/@microwiseai/license/dist/core/activate.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/core/check.d.ts +19 -0
- package/node_modules/@microwiseai/license/dist/core/check.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/core/check.js +244 -0
- package/node_modules/@microwiseai/license/dist/core/check.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/core/index.d.ts +7 -0
- package/node_modules/@microwiseai/license/dist/core/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/core/index.js +10 -0
- package/node_modules/@microwiseai/license/dist/core/index.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/core/verify.d.ts +39 -0
- package/node_modules/@microwiseai/license/dist/core/verify.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/core/verify.js +188 -0
- package/node_modules/@microwiseai/license/dist/core/verify.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/env.d.ts +33 -0
- package/node_modules/@microwiseai/license/dist/env.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/env.js +69 -0
- package/node_modules/@microwiseai/license/dist/env.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/helpers/cache.d.ts +97 -0
- package/node_modules/@microwiseai/license/dist/helpers/cache.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/helpers/cache.js +198 -0
- package/node_modules/@microwiseai/license/dist/helpers/cache.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/helpers/index.d.ts +7 -0
- package/node_modules/@microwiseai/license/dist/helpers/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/helpers/index.js +9 -0
- package/node_modules/@microwiseai/license/dist/helpers/index.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/helpers/telemetry.d.ts +68 -0
- package/node_modules/@microwiseai/license/dist/helpers/telemetry.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/helpers/telemetry.js +119 -0
- package/node_modules/@microwiseai/license/dist/helpers/telemetry.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/index.d.ts +34 -0
- package/node_modules/@microwiseai/license/dist/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/index.js +48 -0
- package/node_modules/@microwiseai/license/dist/index.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/machine/id.d.ts +19 -0
- package/node_modules/@microwiseai/license/dist/machine/id.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/machine/id.js +83 -0
- package/node_modules/@microwiseai/license/dist/machine/id.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/machine/index.d.ts +6 -0
- package/node_modules/@microwiseai/license/dist/machine/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/machine/index.js +6 -0
- package/node_modules/@microwiseai/license/dist/machine/index.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/machine/instance.d.ts +23 -0
- package/node_modules/@microwiseai/license/dist/machine/instance.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/machine/instance.js +52 -0
- package/node_modules/@microwiseai/license/dist/machine/instance.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/telemetry/index.d.ts +6 -0
- package/node_modules/@microwiseai/license/dist/telemetry/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/telemetry/index.js +6 -0
- package/node_modules/@microwiseai/license/dist/telemetry/index.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/telemetry/manager.d.ts +53 -0
- package/node_modules/@microwiseai/license/dist/telemetry/manager.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/telemetry/manager.js +125 -0
- package/node_modules/@microwiseai/license/dist/telemetry/manager.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/telemetry/payload.d.ts +17 -0
- package/node_modules/@microwiseai/license/dist/telemetry/payload.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/telemetry/payload.js +65 -0
- package/node_modules/@microwiseai/license/dist/telemetry/payload.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/api.d.ts +120 -0
- package/node_modules/@microwiseai/license/dist/types/api.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/api.js +5 -0
- package/node_modules/@microwiseai/license/dist/types/api.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/config.d.ts +80 -0
- package/node_modules/@microwiseai/license/dist/types/config.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/config.js +12 -0
- package/node_modules/@microwiseai/license/dist/types/config.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/errors.d.ts +93 -0
- package/node_modules/@microwiseai/license/dist/types/errors.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/errors.js +144 -0
- package/node_modules/@microwiseai/license/dist/types/errors.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/index.d.ts +10 -0
- package/node_modules/@microwiseai/license/dist/types/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/index.js +6 -0
- package/node_modules/@microwiseai/license/dist/types/index.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/license.d.ts +113 -0
- package/node_modules/@microwiseai/license/dist/types/license.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/types/license.js +5 -0
- package/node_modules/@microwiseai/license/dist/types/license.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/utils/date.d.ts +45 -0
- package/node_modules/@microwiseai/license/dist/utils/date.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/utils/date.js +95 -0
- package/node_modules/@microwiseai/license/dist/utils/date.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/utils/env.d.ts +41 -0
- package/node_modules/@microwiseai/license/dist/utils/env.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/utils/env.js +80 -0
- package/node_modules/@microwiseai/license/dist/utils/env.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/utils/index.d.ts +7 -0
- package/node_modules/@microwiseai/license/dist/utils/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/utils/index.js +7 -0
- package/node_modules/@microwiseai/license/dist/utils/index.js.map +1 -0
- package/node_modules/@microwiseai/license/dist/utils/mask.d.ts +27 -0
- package/node_modules/@microwiseai/license/dist/utils/mask.d.ts.map +1 -0
- package/node_modules/@microwiseai/license/dist/utils/mask.js +67 -0
- package/node_modules/@microwiseai/license/dist/utils/mask.js.map +1 -0
- package/node_modules/@microwiseai/license/package.json +52 -0
- package/node_modules/@microwiseai/license-types/README.md +84 -0
- package/node_modules/@microwiseai/license-types/dist/api.d.ts +120 -0
- package/node_modules/@microwiseai/license-types/dist/api.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-types/dist/api.js +5 -0
- package/node_modules/@microwiseai/license-types/dist/api.js.map +1 -0
- package/node_modules/@microwiseai/license-types/dist/config.d.ts +80 -0
- package/node_modules/@microwiseai/license-types/dist/config.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-types/dist/config.js +12 -0
- package/node_modules/@microwiseai/license-types/dist/config.js.map +1 -0
- package/node_modules/@microwiseai/license-types/dist/errors.d.ts +93 -0
- package/node_modules/@microwiseai/license-types/dist/errors.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-types/dist/errors.js +144 -0
- package/node_modules/@microwiseai/license-types/dist/errors.js.map +1 -0
- package/node_modules/@microwiseai/license-types/dist/index.d.ts +10 -0
- package/node_modules/@microwiseai/license-types/dist/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-types/dist/index.js +6 -0
- package/node_modules/@microwiseai/license-types/dist/index.js.map +1 -0
- package/node_modules/@microwiseai/license-types/dist/license.d.ts +113 -0
- package/node_modules/@microwiseai/license-types/dist/license.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-types/dist/license.js +5 -0
- package/node_modules/@microwiseai/license-types/dist/license.js.map +1 -0
- package/node_modules/@microwiseai/license-types/package.json +38 -0
- package/node_modules/@microwiseai/license-utils/README.md +82 -0
- package/node_modules/@microwiseai/license-utils/dist/__tests__/machine.test.d.ts +2 -0
- package/node_modules/@microwiseai/license-utils/dist/__tests__/machine.test.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/__tests__/machine.test.js +124 -0
- package/node_modules/@microwiseai/license-utils/dist/__tests__/machine.test.js.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/index.d.ts +7 -0
- package/node_modules/@microwiseai/license-utils/dist/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/index.js +15 -0
- package/node_modules/@microwiseai/license-utils/dist/index.js.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/id.d.ts +19 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/id.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/id.js +83 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/id.js.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/index.d.ts +6 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/index.js +6 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/index.js.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/instance.d.ts +23 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/instance.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/instance.js +52 -0
- package/node_modules/@microwiseai/license-utils/dist/machine/instance.js.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/date.d.ts +45 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/date.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/date.js +95 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/date.js.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/env.d.ts +16 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/env.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/env.js +22 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/env.js.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/index.d.ts +7 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/index.js +7 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/index.js.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/mask.d.ts +27 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/mask.d.ts.map +1 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/mask.js +67 -0
- package/node_modules/@microwiseai/license-utils/dist/utils/mask.js.map +1 -0
- package/node_modules/@microwiseai/license-utils/package.json +45 -0
- package/node_modules/@microwiseai/telemetry/README.md +86 -0
- package/node_modules/@microwiseai/telemetry/dist/index.d.ts +9 -0
- package/node_modules/@microwiseai/telemetry/dist/index.d.ts.map +1 -0
- package/node_modules/@microwiseai/telemetry/dist/index.js +10 -0
- package/node_modules/@microwiseai/telemetry/dist/index.js.map +1 -0
- package/node_modules/@microwiseai/telemetry/dist/manager.d.ts +71 -0
- package/node_modules/@microwiseai/telemetry/dist/manager.d.ts.map +1 -0
- package/node_modules/@microwiseai/telemetry/dist/manager.js +171 -0
- package/node_modules/@microwiseai/telemetry/dist/manager.js.map +1 -0
- package/node_modules/@microwiseai/telemetry/dist/payload.d.ts +13 -0
- package/node_modules/@microwiseai/telemetry/dist/payload.d.ts.map +1 -0
- package/node_modules/@microwiseai/telemetry/dist/payload.js +35 -0
- package/node_modules/@microwiseai/telemetry/dist/payload.js.map +1 -0
- package/node_modules/@microwiseai/telemetry/dist/types.d.ts +76 -0
- package/node_modules/@microwiseai/telemetry/dist/types.d.ts.map +1 -0
- package/node_modules/@microwiseai/telemetry/dist/types.js +13 -0
- package/node_modules/@microwiseai/telemetry/dist/types.js.map +1 -0
- package/node_modules/@microwiseai/telemetry/package.json +43 -0
- package/node_modules/chalk/license +9 -0
- package/node_modules/chalk/package.json +83 -0
- package/node_modules/chalk/readme.md +297 -0
- package/node_modules/chalk/source/index.d.ts +325 -0
- package/node_modules/chalk/source/index.js +225 -0
- package/node_modules/chalk/source/utilities.js +33 -0
- package/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
- package/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
- package/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
- package/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
- package/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
- package/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
- package/package.json +26 -2
package/dist/lib/gitlab.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* GitLab Registry Access via Registry Proxy
|
|
3
|
+
*
|
|
4
|
+
* IMPORTANT: All package access MUST go through registry-proxy.
|
|
5
|
+
* Direct GitLab API calls are prohibited as they bypass license validation.
|
|
6
|
+
*
|
|
7
|
+
* See: architecture/overview/registry-architecture.md
|
|
8
|
+
*/
|
|
9
|
+
import { getSessionToken, REGISTRY_PROXY_URL } from './config.js';
|
|
2
10
|
import { createGunzip } from 'zlib';
|
|
3
11
|
import { Readable } from 'stream';
|
|
4
12
|
import { extract } from 'tar-stream';
|
|
5
|
-
const GITLAB_API = 'https://gitlab.com/api/v4';
|
|
6
|
-
const GROUP_ID = '110834981';
|
|
7
13
|
/**
|
|
8
14
|
* Parse snapshot spec into name and version
|
|
9
15
|
* @ist/minimal@0.2.1 → { name: "@ist/minimal", version: "0.2.1" }
|
|
@@ -58,64 +64,9 @@ export function repoNameToSnapshotName(repoName) {
|
|
|
58
64
|
return repoName;
|
|
59
65
|
}
|
|
60
66
|
/**
|
|
61
|
-
*
|
|
67
|
+
* Extract snapshot.json from tarball buffer
|
|
62
68
|
*/
|
|
63
|
-
|
|
64
|
-
const token = getGitlabToken();
|
|
65
|
-
if (!token) {
|
|
66
|
-
throw new Error('GitLab token not found');
|
|
67
|
-
}
|
|
68
|
-
const url = `${GITLAB_API}/groups/${GROUP_ID}/packages?package_name=${encodeURIComponent(packageName)}&package_type=generic&per_page=50`;
|
|
69
|
-
const response = await fetch(url, {
|
|
70
|
-
headers: { 'PRIVATE-TOKEN': token },
|
|
71
|
-
});
|
|
72
|
-
if (!response.ok) {
|
|
73
|
-
throw new Error(`GitLab API error: ${response.status}`);
|
|
74
|
-
}
|
|
75
|
-
const packages = await response.json();
|
|
76
|
-
if (version) {
|
|
77
|
-
// Find exact version
|
|
78
|
-
return packages.find(p => p.name === packageName && p.version === version) || null;
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
// Find latest version (first in list, sorted by created_at desc)
|
|
82
|
-
return packages.find(p => p.name === packageName) || null;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Get package file info
|
|
87
|
-
*/
|
|
88
|
-
async function getPackageFile(projectId, packageId) {
|
|
89
|
-
const token = getGitlabToken();
|
|
90
|
-
if (!token) {
|
|
91
|
-
throw new Error('GitLab token not found');
|
|
92
|
-
}
|
|
93
|
-
const url = `${GITLAB_API}/projects/${projectId}/packages/${packageId}/package_files`;
|
|
94
|
-
const response = await fetch(url, {
|
|
95
|
-
headers: { 'PRIVATE-TOKEN': token },
|
|
96
|
-
});
|
|
97
|
-
if (!response.ok) {
|
|
98
|
-
return null;
|
|
99
|
-
}
|
|
100
|
-
const files = await response.json();
|
|
101
|
-
return files[0] || null;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Download and extract snapshot.json from tarball
|
|
105
|
-
*/
|
|
106
|
-
async function downloadAndExtractSnapshot(projectId, packageName, version, fileName) {
|
|
107
|
-
const token = getGitlabToken();
|
|
108
|
-
if (!token) {
|
|
109
|
-
throw new Error('GitLab token not found');
|
|
110
|
-
}
|
|
111
|
-
const url = `${GITLAB_API}/projects/${projectId}/packages/generic/${packageName}/${version}/${fileName}`;
|
|
112
|
-
const response = await fetch(url, {
|
|
113
|
-
headers: { 'PRIVATE-TOKEN': token },
|
|
114
|
-
});
|
|
115
|
-
if (!response.ok) {
|
|
116
|
-
throw new Error(`Failed to download package: ${response.status}`);
|
|
117
|
-
}
|
|
118
|
-
const buffer = Buffer.from(await response.arrayBuffer());
|
|
69
|
+
function extractSnapshotFromBuffer(buffer) {
|
|
119
70
|
return new Promise((resolve, reject) => {
|
|
120
71
|
const extractor = extract();
|
|
121
72
|
let snapshotJson = null;
|
|
@@ -152,117 +103,113 @@ async function downloadAndExtractSnapshot(projectId, packageName, version, fileN
|
|
|
152
103
|
});
|
|
153
104
|
}
|
|
154
105
|
/**
|
|
155
|
-
* Fetch snapshot
|
|
106
|
+
* Fetch snapshot via registry-proxy
|
|
107
|
+
*
|
|
108
|
+
* Uses session token for authentication.
|
|
109
|
+
* Supports "latest" version which proxy resolves to most recent.
|
|
110
|
+
*
|
|
111
|
+
* @param snapshotSpec - Snapshot spec (e.g., "@ist/minimal" or "@ist/minimal@0.2.1")
|
|
112
|
+
* @returns Parsed snapshot.json
|
|
156
113
|
*/
|
|
157
|
-
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
if (!pkg) {
|
|
163
|
-
throw new Error(`Snapshot package not found: ${name}${version ? `@${version}` : ''}`);
|
|
114
|
+
async function fetchSnapshotFromProxy(snapshotSpec) {
|
|
115
|
+
const sessionToken = getSessionToken();
|
|
116
|
+
if (!sessionToken) {
|
|
117
|
+
throw new Error('No session token available. Please activate your license first:\n' +
|
|
118
|
+
' snapshot license activate <KEY>');
|
|
164
119
|
}
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
if
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
try {
|
|
179
|
-
return await fetchSnapshotFromRegistry(snapshotSpec);
|
|
180
|
-
}
|
|
181
|
-
catch {
|
|
182
|
-
// Fall back to repo (for backwards compatibility)
|
|
183
|
-
const token = getGitlabToken();
|
|
184
|
-
if (!token) {
|
|
185
|
-
throw new Error('GitLab token not found');
|
|
120
|
+
const { name, version } = parseSnapshotSpec(snapshotSpec);
|
|
121
|
+
const packageName = snapshotNameToPackageName(name); // @ist/minimal → ist__minimal
|
|
122
|
+
// Use "latest" if no version specified - proxy will resolve to actual version
|
|
123
|
+
const targetVersion = version || 'latest';
|
|
124
|
+
const fileName = `${packageName}-${targetVersion}.tar.gz`;
|
|
125
|
+
const url = `${REGISTRY_PROXY_URL}/generic/${packageName}/${targetVersion}/${fileName}`;
|
|
126
|
+
const response = await fetch(url, {
|
|
127
|
+
headers: { Authorization: `Bearer ${sessionToken}` },
|
|
128
|
+
});
|
|
129
|
+
if (!response.ok) {
|
|
130
|
+
if (response.status === 401) {
|
|
131
|
+
throw new Error('Session token expired or invalid. Please refresh:\n' +
|
|
132
|
+
' snapshot license refresh');
|
|
186
133
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
const project = await findProjectByName(repoName);
|
|
191
|
-
if (!project) {
|
|
192
|
-
throw new Error(`Snapshot not found: ${name}${version ? `@${version}` : ''}`);
|
|
134
|
+
if (response.status === 403) {
|
|
135
|
+
throw new Error('Access denied. This snapshot may require a license.\n' +
|
|
136
|
+
' Check: snapshot license status');
|
|
193
137
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
for (const ref of refs) {
|
|
197
|
-
const url = `${GITLAB_API}/projects/${project.id}/repository/files/snapshot.json/raw?ref=${ref}`;
|
|
198
|
-
const response = await fetch(url, {
|
|
199
|
-
headers: { 'PRIVATE-TOKEN': token },
|
|
200
|
-
});
|
|
201
|
-
if (response.ok) {
|
|
202
|
-
return await response.json();
|
|
203
|
-
}
|
|
138
|
+
if (response.status === 404) {
|
|
139
|
+
throw new Error(`Snapshot not found: ${name}${version ? `@${version}` : ''}`);
|
|
204
140
|
}
|
|
205
|
-
|
|
141
|
+
const errorText = await response.text().catch(() => '');
|
|
142
|
+
throw new Error(`Failed to fetch snapshot: ${response.status} - ${errorText || response.statusText}`);
|
|
206
143
|
}
|
|
144
|
+
const buffer = Buffer.from(await response.arrayBuffer());
|
|
145
|
+
return extractSnapshotFromBuffer(buffer);
|
|
207
146
|
}
|
|
208
147
|
/**
|
|
209
|
-
*
|
|
148
|
+
* Fetch snapshot from registry
|
|
149
|
+
*
|
|
150
|
+
* All access goes through registry-proxy which handles license validation.
|
|
151
|
+
* Direct GitLab API access is not supported.
|
|
152
|
+
*
|
|
153
|
+
* @param snapshotSpec - Snapshot spec (e.g., "@ist/minimal" or "@ist/minimal@0.2.1")
|
|
154
|
+
* @returns Parsed snapshot.json
|
|
210
155
|
*/
|
|
211
|
-
export async function
|
|
212
|
-
|
|
213
|
-
if (!token) {
|
|
214
|
-
throw new Error('GitLab token not found');
|
|
215
|
-
}
|
|
216
|
-
const url = `${GITLAB_API}/groups/${GROUP_ID}/projects?search=${encodeURIComponent(repoName)}&per_page=20`;
|
|
217
|
-
const response = await fetch(url, {
|
|
218
|
-
headers: { 'PRIVATE-TOKEN': token },
|
|
219
|
-
});
|
|
220
|
-
if (!response.ok) {
|
|
221
|
-
throw new Error(`GitLab API error: ${response.status}`);
|
|
222
|
-
}
|
|
223
|
-
const projects = await response.json();
|
|
224
|
-
return projects.find(p => p.path === repoName || p.name === repoName) || null;
|
|
156
|
+
export async function fetchSnapshotFromRepo(snapshotSpec) {
|
|
157
|
+
return fetchSnapshotFromProxy(snapshotSpec);
|
|
225
158
|
}
|
|
226
159
|
/**
|
|
227
|
-
* List all snapshot packages
|
|
160
|
+
* List all snapshot packages
|
|
161
|
+
*
|
|
162
|
+
* Note: This requires registry-proxy support for listing.
|
|
163
|
+
* Currently returns an error as listing endpoint is not yet available.
|
|
164
|
+
*
|
|
165
|
+
* TODO: Implement when registry-proxy supports /list-snapshots endpoint
|
|
228
166
|
*/
|
|
229
167
|
export async function listSnapshotPackages() {
|
|
230
|
-
const
|
|
231
|
-
if (!
|
|
232
|
-
throw new Error('
|
|
168
|
+
const sessionToken = getSessionToken();
|
|
169
|
+
if (!sessionToken) {
|
|
170
|
+
throw new Error('No session token available. Please activate your license first:\n' +
|
|
171
|
+
' snapshot license activate <KEY>');
|
|
233
172
|
}
|
|
234
|
-
|
|
235
|
-
const
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
173
|
+
// Try registry-proxy list endpoint (if available)
|
|
174
|
+
const url = `${REGISTRY_PROXY_URL}/list-snapshots`;
|
|
175
|
+
try {
|
|
176
|
+
const response = await fetch(url, {
|
|
177
|
+
headers: { Authorization: `Bearer ${sessionToken}` },
|
|
178
|
+
});
|
|
179
|
+
if (response.ok) {
|
|
180
|
+
const data = await response.json();
|
|
181
|
+
return data.snapshots || [];
|
|
182
|
+
}
|
|
183
|
+
if (response.status === 404) {
|
|
184
|
+
// Endpoint not available yet - return known snapshots as fallback
|
|
185
|
+
return [
|
|
186
|
+
{ name: '@ist/minimal', version: 'latest' },
|
|
187
|
+
{ name: '@ist/foundation', version: 'latest' },
|
|
188
|
+
{ name: '@ist/full', version: 'latest' },
|
|
189
|
+
];
|
|
190
|
+
}
|
|
191
|
+
throw new Error(`Failed to list snapshots: ${response.status}`);
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
// Network error or endpoint not available - return known snapshots
|
|
195
|
+
if (error instanceof Error && error.message.includes('Failed to list')) {
|
|
196
|
+
throw error;
|
|
197
|
+
}
|
|
198
|
+
return [
|
|
199
|
+
{ name: '@ist/minimal', version: 'latest' },
|
|
200
|
+
{ name: '@ist/foundation', version: 'latest' },
|
|
201
|
+
{ name: '@ist/full', version: 'latest' },
|
|
202
|
+
];
|
|
240
203
|
}
|
|
241
|
-
const packages = await response.json();
|
|
242
|
-
// Filter to snapshot packages (ist__*) and convert names back
|
|
243
|
-
return packages
|
|
244
|
-
.filter(p => p.name.includes('__'))
|
|
245
|
-
.map(p => ({
|
|
246
|
-
name: '@' + p.name.replace('__', '/'),
|
|
247
|
-
version: p.version,
|
|
248
|
-
}));
|
|
249
204
|
}
|
|
250
205
|
/**
|
|
251
|
-
*
|
|
206
|
+
* @deprecated Use listSnapshotPackages instead
|
|
252
207
|
*/
|
|
253
208
|
export async function listSnapshotRepos() {
|
|
254
|
-
const
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
const response = await fetch(url, {
|
|
260
|
-
headers: { 'PRIVATE-TOKEN': token },
|
|
261
|
-
});
|
|
262
|
-
if (!response.ok) {
|
|
263
|
-
throw new Error(`GitLab API error: ${response.status}`);
|
|
264
|
-
}
|
|
265
|
-
const projects = await response.json();
|
|
266
|
-
return projects.filter(p => p.path.startsWith('snapshot.') || p.name.startsWith('snapshot.'));
|
|
209
|
+
const packages = await listSnapshotPackages();
|
|
210
|
+
return packages.map(p => ({
|
|
211
|
+
name: p.name,
|
|
212
|
+
path: snapshotNameToRepoName(p.name),
|
|
213
|
+
}));
|
|
267
214
|
}
|
|
268
215
|
//# sourceMappingURL=gitlab.js.map
|
package/dist/lib/gitlab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package Type Resolver
|
|
3
|
+
*
|
|
4
|
+
* 패키지 타입 판별 및 의존성 해석
|
|
5
|
+
* - skit: skit.yaml 존재 → skit installer로 직접 설치
|
|
6
|
+
* - npm: package.json만 → registry-proxy로 전달 (transitive deps는 proxy가 해석)
|
|
7
|
+
* - generic: 그 외 → glpkg installer
|
|
8
|
+
*/
|
|
9
|
+
import type { Snapshot } from './types.js';
|
|
10
|
+
export type PackageType = 'skit' | 'npm' | 'generic';
|
|
11
|
+
export interface PackageMetadata {
|
|
12
|
+
name: string;
|
|
13
|
+
version: string;
|
|
14
|
+
type: PackageType;
|
|
15
|
+
hasSkit?: boolean;
|
|
16
|
+
hasPackageJson?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface ResolvedDependencies {
|
|
19
|
+
skit: Record<string, string>;
|
|
20
|
+
npm: Record<string, string>;
|
|
21
|
+
generic: Record<string, string>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 패키지 타입 판별
|
|
25
|
+
*
|
|
26
|
+
* 우선순위:
|
|
27
|
+
* 1. snapshot.json에 명시된 installer 타입 (하위호환)
|
|
28
|
+
* 2. 패키지 이름 패턴으로 추론
|
|
29
|
+
* 3. registry 메타데이터 조회
|
|
30
|
+
*/
|
|
31
|
+
export declare function detectPackageType(pkgName: string, options?: {
|
|
32
|
+
skipRegistry?: boolean;
|
|
33
|
+
}): Promise<PackageType>;
|
|
34
|
+
/**
|
|
35
|
+
* Snapshot의 모든 의존성을 타입별로 분류
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveSnapshotDependencies(snapshot: Snapshot, options?: {
|
|
38
|
+
skipRegistry?: boolean;
|
|
39
|
+
}): Promise<ResolvedDependencies>;
|
|
40
|
+
/**
|
|
41
|
+
* 캐시 클리어 (테스트용)
|
|
42
|
+
*/
|
|
43
|
+
export declare function clearPackageTypeCache(): void;
|
|
44
|
+
/**
|
|
45
|
+
* 수동으로 패키지 타입 설정 (테스트/오버라이드용)
|
|
46
|
+
*/
|
|
47
|
+
export declare function setPackageType(pkgName: string, type: PackageType): void;
|
|
48
|
+
//# sourceMappingURL=package-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/package-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAmDD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,OAAO,CAAC,WAAW,CAAC,CAkCtB;AAwCD;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,OAAO,CAAC,oBAAoB,CAAC,CA6B/B;AAmBD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAEvE"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package Type Resolver
|
|
3
|
+
*
|
|
4
|
+
* 패키지 타입 판별 및 의존성 해석
|
|
5
|
+
* - skit: skit.yaml 존재 → skit installer로 직접 설치
|
|
6
|
+
* - npm: package.json만 → registry-proxy로 전달 (transitive deps는 proxy가 해석)
|
|
7
|
+
* - generic: 그 외 → glpkg installer
|
|
8
|
+
*/
|
|
9
|
+
import { getSessionToken, REGISTRY_PROXY_URL } from './config.js';
|
|
10
|
+
// 캐시 (세션 내 재사용)
|
|
11
|
+
const packageTypeCache = new Map();
|
|
12
|
+
/**
|
|
13
|
+
* 패키지 메타데이터 조회 (registry-proxy)
|
|
14
|
+
*/
|
|
15
|
+
async function fetchPackageMetadata(pkgName) {
|
|
16
|
+
const sessionToken = getSessionToken();
|
|
17
|
+
if (!sessionToken) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
// registry-proxy의 메타데이터 엔드포인트 조회
|
|
22
|
+
const url = `${REGISTRY_PROXY_URL}/${pkgName}`;
|
|
23
|
+
const headers = {};
|
|
24
|
+
if (sessionToken) {
|
|
25
|
+
headers['Authorization'] = `Bearer ${sessionToken}`;
|
|
26
|
+
}
|
|
27
|
+
const response = await fetch(url, { headers });
|
|
28
|
+
if (!response.ok) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const data = await response.json();
|
|
32
|
+
// npm registry 형식의 메타데이터에서 skit 여부 확인
|
|
33
|
+
// skit 패키지는 "skit" 필드나 특정 마커가 있음
|
|
34
|
+
const latestVersion = data['dist-tags']?.['latest'];
|
|
35
|
+
const versions = data['versions'];
|
|
36
|
+
if (latestVersion && versions?.[latestVersion]) {
|
|
37
|
+
const versionData = versions[latestVersion];
|
|
38
|
+
return {
|
|
39
|
+
hasSkit: !!versionData['skit'] || !!versionData['skitConfig'],
|
|
40
|
+
hasPackageJson: true, // npm registry에 있으면 package.json 있음
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return { hasPackageJson: true };
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 패키지 타입 판별
|
|
51
|
+
*
|
|
52
|
+
* 우선순위:
|
|
53
|
+
* 1. snapshot.json에 명시된 installer 타입 (하위호환)
|
|
54
|
+
* 2. 패키지 이름 패턴으로 추론
|
|
55
|
+
* 3. registry 메타데이터 조회
|
|
56
|
+
*/
|
|
57
|
+
export async function detectPackageType(pkgName, options) {
|
|
58
|
+
// 1. 캐시 확인
|
|
59
|
+
const cached = packageTypeCache.get(pkgName);
|
|
60
|
+
if (cached) {
|
|
61
|
+
return cached;
|
|
62
|
+
}
|
|
63
|
+
// 2. 패키지 이름 패턴으로 추론 (빠른 판별)
|
|
64
|
+
const inferredType = inferPackageTypeFromName(pkgName);
|
|
65
|
+
if (inferredType !== 'generic') {
|
|
66
|
+
packageTypeCache.set(pkgName, inferredType);
|
|
67
|
+
return inferredType;
|
|
68
|
+
}
|
|
69
|
+
// 3. Registry 메타데이터 조회 (선택적)
|
|
70
|
+
if (!options?.skipRegistry) {
|
|
71
|
+
const metadata = await fetchPackageMetadata(pkgName);
|
|
72
|
+
if (metadata) {
|
|
73
|
+
let type = 'generic';
|
|
74
|
+
if (metadata.hasSkit) {
|
|
75
|
+
type = 'skit';
|
|
76
|
+
}
|
|
77
|
+
else if (metadata.hasPackageJson) {
|
|
78
|
+
type = 'npm';
|
|
79
|
+
}
|
|
80
|
+
packageTypeCache.set(pkgName, type);
|
|
81
|
+
return type;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// 4. 기본값
|
|
85
|
+
packageTypeCache.set(pkgName, 'generic');
|
|
86
|
+
return 'generic';
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 패키지 이름 패턴으로 타입 추론
|
|
90
|
+
*
|
|
91
|
+
* 규칙:
|
|
92
|
+
* - @scope/*-kit, @scope/*kit → skit (높은 확률)
|
|
93
|
+
* - skit.yaml 마커가 있는 알려진 패키지들
|
|
94
|
+
*/
|
|
95
|
+
function inferPackageTypeFromName(pkgName) {
|
|
96
|
+
// 알려진 skit 패키지 패턴
|
|
97
|
+
const skitPatterns = [
|
|
98
|
+
/-kit$/, // @ist/tda-kit
|
|
99
|
+
/kit$/, // 일반적인 kit 접미사
|
|
100
|
+
/^@ist\/.*-skit$/, // 명시적 skit
|
|
101
|
+
];
|
|
102
|
+
for (const pattern of skitPatterns) {
|
|
103
|
+
if (pattern.test(pkgName)) {
|
|
104
|
+
return 'skit';
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// 알려진 npm 전용 패키지 (skit 아닌 것이 확실한)
|
|
108
|
+
const npmOnlyPatterns = [
|
|
109
|
+
/^@types\//, // TypeScript 타입 정의
|
|
110
|
+
/^@babel\//, // Babel 플러그인
|
|
111
|
+
/^@eslint\//, // ESLint 플러그인
|
|
112
|
+
];
|
|
113
|
+
for (const pattern of npmOnlyPatterns) {
|
|
114
|
+
if (pattern.test(pkgName)) {
|
|
115
|
+
return 'npm';
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// 판별 불가 → generic (나중에 registry 조회로 확정)
|
|
119
|
+
return 'generic';
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Snapshot의 모든 의존성을 타입별로 분류
|
|
123
|
+
*/
|
|
124
|
+
export async function resolveSnapshotDependencies(snapshot, options) {
|
|
125
|
+
const result = {
|
|
126
|
+
skit: {},
|
|
127
|
+
npm: {},
|
|
128
|
+
generic: {},
|
|
129
|
+
};
|
|
130
|
+
// 1. Legacy: skits 필드 → 무조건 skit
|
|
131
|
+
if (snapshot.skits) {
|
|
132
|
+
Object.assign(result.skit, snapshot.skits);
|
|
133
|
+
}
|
|
134
|
+
// 2. Legacy: packages 필드 → 타입 판별 필요
|
|
135
|
+
if (snapshot.packages) {
|
|
136
|
+
for (const [name, version] of Object.entries(snapshot.packages)) {
|
|
137
|
+
const type = await detectPackageType(name, options);
|
|
138
|
+
result[type][name] = version;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// 3. New: install 블록 (installer 명시됨 → 하위호환)
|
|
142
|
+
if (snapshot.install) {
|
|
143
|
+
for (const [installerName, packages] of Object.entries(snapshot.install)) {
|
|
144
|
+
const type = installerNameToPackageType(installerName);
|
|
145
|
+
Object.assign(result[type], packages);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Installer 이름을 PackageType으로 변환
|
|
152
|
+
*/
|
|
153
|
+
function installerNameToPackageType(installerName) {
|
|
154
|
+
switch (installerName) {
|
|
155
|
+
case 'skit':
|
|
156
|
+
return 'skit';
|
|
157
|
+
case 'npm-proxy':
|
|
158
|
+
case 'npm':
|
|
159
|
+
return 'npm';
|
|
160
|
+
case 'glpkg':
|
|
161
|
+
case 'gitlab-install':
|
|
162
|
+
default:
|
|
163
|
+
return 'generic';
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* 캐시 클리어 (테스트용)
|
|
168
|
+
*/
|
|
169
|
+
export function clearPackageTypeCache() {
|
|
170
|
+
packageTypeCache.clear();
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* 수동으로 패키지 타입 설정 (테스트/오버라이드용)
|
|
174
|
+
*/
|
|
175
|
+
export function setPackageType(pkgName, type) {
|
|
176
|
+
packageTypeCache.set(pkgName, type);
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=package-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-resolver.js","sourceRoot":"","sources":["../../src/lib/package-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skit Adapter
|
|
3
|
+
*
|
|
4
|
+
* @ist/skit lib 연동을 위한 어댑터
|
|
5
|
+
* - lib가 있으면 직접 호출 (v0.1.8+)
|
|
6
|
+
* - lib가 없으면 CLI fallback
|
|
7
|
+
*
|
|
8
|
+
* @ist/skit lib 인터페이스 (v0.1.8):
|
|
9
|
+
* - installSkit(spec: string, options?: { sessionToken?, onProgress? })
|
|
10
|
+
* - listSkits(options?: { ... })
|
|
11
|
+
*/
|
|
12
|
+
export interface SkitInstallOptions {
|
|
13
|
+
/** Session token for authenticated downloads */
|
|
14
|
+
sessionToken?: string;
|
|
15
|
+
/** Progress callback */
|
|
16
|
+
onProgress?: (message: string) => void;
|
|
17
|
+
/** Silent mode (no console output) */
|
|
18
|
+
silent?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface SkitInstallResult {
|
|
21
|
+
success: boolean;
|
|
22
|
+
name: string;
|
|
23
|
+
version: string;
|
|
24
|
+
installedPath?: string;
|
|
25
|
+
error?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Reset lib loader (for testing)
|
|
29
|
+
*/
|
|
30
|
+
export declare function resetSkitLibLoader(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Install a skit package
|
|
33
|
+
* Uses @ist/skit lib if available, falls back to CLI
|
|
34
|
+
*
|
|
35
|
+
* @param name - Package name (e.g., "@ist/tda-kit")
|
|
36
|
+
* @param version - Version (e.g., "1.0.0")
|
|
37
|
+
* @param options - Install options
|
|
38
|
+
*/
|
|
39
|
+
export declare function installSkitPackage(name: string, version: string, options?: SkitInstallOptions): Promise<SkitInstallResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Check if skit lib is available
|
|
42
|
+
*/
|
|
43
|
+
export declare function isSkitLibAvailable(): Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* Check if skit CLI is available
|
|
46
|
+
*/
|
|
47
|
+
export declare function isSkitCliAvailable(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Get skit availability info
|
|
50
|
+
*/
|
|
51
|
+
export declare function getSkitAvailability(): Promise<{
|
|
52
|
+
lib: boolean;
|
|
53
|
+
cli: boolean;
|
|
54
|
+
preferred: 'lib' | 'cli' | 'none';
|
|
55
|
+
}>;
|
|
56
|
+
//# sourceMappingURL=skit-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skit-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/skit-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAkDD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAkC5B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAO5C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CACnC,CAAC,CASD"}
|