@platforma-sdk/block-tools 2.1.10 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +266 -80
- package/dist/cli.mjs.map +1 -1
- package/dist/cmd/index.d.ts +2 -0
- package/dist/cmd/index.d.ts.map +1 -1
- package/dist/cmd/publish.d.ts +11 -0
- package/dist/cmd/publish.d.ts.map +1 -0
- package/dist/config-DJqN5LSx.js +3 -0
- package/dist/config-DJqN5LSx.js.map +1 -0
- package/dist/{config-jteHItEq.mjs → config-rGaQLD-7.mjs} +634 -609
- package/dist/config-rGaQLD-7.mjs.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +29 -27
- package/dist/registry_v1/config_schema.d.ts +13 -13
- package/dist/v2/build_dist.d.ts +2 -1
- package/dist/v2/build_dist.d.ts.map +1 -1
- package/dist/v2/model/block_components.d.ts +169 -177
- package/dist/v2/model/block_components.d.ts.map +1 -1
- package/dist/v2/model/block_description.d.ts +2873 -0
- package/dist/v2/model/block_description.d.ts.map +1 -0
- package/dist/v2/model/{meta.d.ts → block_meta.d.ts} +1 -1
- package/dist/v2/model/block_meta.d.ts.map +1 -0
- package/dist/v2/model/content_conversion.d.ts +5 -2
- package/dist/v2/model/content_conversion.d.ts.map +1 -1
- package/dist/v2/model/index.d.ts +3 -2079
- package/dist/v2/model/index.d.ts.map +1 -1
- package/dist/v2/registry/registry.d.ts +16 -0
- package/dist/v2/registry/registry.d.ts.map +1 -0
- package/dist/v2/registry/schema_internal.d.ts +7 -0
- package/dist/v2/registry/schema_internal.d.ts.map +1 -0
- package/dist/v2/registry/schema_public.d.ts +2828 -0
- package/dist/v2/registry/schema_public.d.ts.map +1 -0
- package/package.json +11 -10
- package/src/cmd/build-meta.ts +1 -1
- package/src/cmd/index.ts +2 -0
- package/src/cmd/publish.ts +69 -0
- package/src/registry_v1/registry.ts +1 -1
- package/src/v2/build_dist.ts +16 -12
- package/src/v2/model/block_components.ts +14 -10
- package/src/v2/model/block_description.ts +49 -0
- package/src/v2/model/{meta.ts → block_meta.ts} +1 -1
- package/src/v2/model/content_conversion.ts +50 -21
- package/src/v2/model/index.ts +3 -44
- package/src/v2/registry/registry.ts +233 -0
- package/src/v2/registry/schema_internal.ts +13 -0
- package/src/v2/registry/schema_public.ts +90 -0
- package/dist/config-B8NlJ02C.js +0 -3
- package/dist/config-B8NlJ02C.js.map +0 -1
- package/dist/config-jteHItEq.mjs.map +0 -1
- package/dist/v2/model/common.d.ts +0 -3
- package/dist/v2/model/common.d.ts.map +0 -1
- package/dist/v2/model/content_types.d.ts +0 -478
- package/dist/v2/model/content_types.d.ts.map +0 -1
- package/dist/v2/model/meta.d.ts.map +0 -1
- package/dist/v2/registry/schema.d.ts +0 -15
- package/dist/v2/registry/schema.d.ts.map +0 -1
- package/src/v2/model/common.ts +0 -2
- package/src/v2/model/content_types.ts +0 -233
- package/src/v2/registry/schema.ts +0 -29
package/dist/cli.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.mjs","sources":["../src/cmd/build-meta.ts","../src/cmd/build-model.ts","../src/cmd/pack-block.ts","../src/registry_v1/flags.ts","../src/cmd/upload-package-v1.ts","../src/cmd/index.ts"],"sourcesContent":["import { Command, Flags } from '@oclif/core';\nimport path from 'path';\nimport fs from 'fs';\nimport { loadPackDescriptionRaw } from '../v2';\nimport { BlockPackMetaDescription, BlockPackMetaEmbed } from '../v2/model/meta';\n\nexport default class BuildMeta extends Command {\n static override description =\n 'Extracts meta information from blocks package.json and outputs meta.json with embedded binary ' +\n 'and textual information linked from the meta section.';\n\n static flags = {\n modulePath: Flags.string({\n char: 'i',\n summary: 'input module path',\n helpValue: '<path>',\n default: '.'\n }),\n\n destination: Flags.string({\n char: 'o',\n summary: 'output meta.json file',\n helpValue: '<path>',\n required: true\n })\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(BuildMeta);\n const modulePath = path.resolve(flags.modulePath);\n const descriptionRaw = await loadPackDescriptionRaw(modulePath);\n const metaEmbedded = await BlockPackMetaEmbed.parseAsync(\n BlockPackMetaDescription(modulePath).parse(descriptionRaw.meta)\n );\n\n await fs.promises.writeFile(path.resolve(flags.destination), JSON.stringify(metaEmbedded));\n }\n}\n","import { Command, Flags } from '@oclif/core';\nimport fs from 'fs';\nimport path from 'path';\n\nasync function getFileContent(path: string) {\n try {\n return await fs.promises.readFile(path, 'utf8');\n } catch (error: any) {\n if (error.code === 'ENOENT') {\n return undefined;\n }\n throw error;\n }\n}\n\nexport default class BuildModel extends Command {\n static override description =\n 'Extracts and outputs block model JSON from pre-built block model module';\n\n static flags = {\n modulePath: Flags.string({\n char: 'i',\n summary: 'input module path',\n helpValue: '<path>',\n default: '.'\n }),\n\n sourceBundle: Flags.string({\n char: 'b',\n summary: 'bundled model code to embed into the model for callback-based rendering to work',\n helpValue: '<path>',\n default: './dist/bundle.js'\n }),\n\n destination: Flags.string({\n char: 'o',\n summary: 'output model file',\n helpValue: '<path>',\n default: './dist/model.json'\n })\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(BuildModel);\n const modulePath = path.resolve(flags.modulePath); // i.e. folder with package.json file\n let { model, platforma } = require(modulePath);\n\n if (!model) model = platforma;\n if (!model) throw new Error('\"model\" export not found');\n\n const { config } = model;\n\n if (!config)\n throw new Error(\n 'Malformed \"model\" object, check it is created with \"BlockModel\" ' +\n 'and \".done()\" is executed as the call in the chain.'\n );\n\n if (\n !('canRun' in config || 'inputsValid' in config) ||\n !('outputs' in config) ||\n !('sections' in config)\n )\n throw new Error('\"config\" has unexpected structure');\n\n const code = await getFileContent(flags.sourceBundle);\n if (code !== undefined) {\n config.code = {\n type: 'plain',\n content: code\n };\n }\n\n await fs.promises.writeFile(path.resolve(flags.destination), JSON.stringify(config));\n }\n}\n","import { Command, Flags } from '@oclif/core';\nimport { loadPackDescription } from '../v2/source_package';\nimport path from 'path';\nimport { buildBlockPackDist } from '../v2/build_dist';\n\nexport default class PackBlock extends Command {\n static description =\n 'Builds block pack and outputs a block pack manifest consolidating all ' +\n 'references assets into a single folder';\n\n static flags = {\n modulePath: Flags.string({\n char: 'i',\n summary: 'input module path',\n helpValue: '<path>',\n default: '.'\n }),\n\n destinationPath: Flags.string({\n char: 'o',\n summary: 'output folder',\n helpValue: '<path>',\n default: './block-pack'\n })\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(PackBlock);\n const description = await loadPackDescription(path.resolve(flags.modulePath));\n await buildBlockPackDist(description, path.resolve(flags.destinationPath));\n }\n}\n","import { Flags } from '@oclif/core';\nimport path from 'node:path';\n\nexport interface TargetFile {\n src: string;\n destName: string;\n}\n\nfunction parseTargetFile(arg: string): TargetFile {\n const match = arg.match(/(?<destName>[^\\/\\\\]+)=(?<src>.*)/);\n if (match) {\n const { src, destName } = match.groups!;\n return { src, destName };\n } else {\n return { src: arg, destName: path.basename(arg) };\n }\n}\n\nexport const targetFile = Flags.custom<TargetFile>({\n summary: 'target files to upload',\n helpValue: 'file_path | package_name=file_path',\n parse: async (arg) => parseTargetFile(arg)\n});\n","import { Command, Flags } from '@oclif/core';\nimport { getConfig } from '../registry_v1/config';\nimport { targetFile } from '../registry_v1/flags';\nimport fs from 'node:fs';\nimport YAML from 'yaml';\nimport { PlRegPackageConfigDataShard } from '../registry_v1/config_schema';\nimport { OclifLoggerAdapter } from '@milaboratories/ts-helpers-oclif';\n\ntype BasicConfigField = keyof PlRegPackageConfigDataShard &\n ('registry' | 'organization' | 'package' | 'version');\nconst BasicConfigFields: BasicConfigField[] = ['registry', 'organization', 'package', 'version'];\n\nexport default class UploadPackageV1 extends Command {\n static description = 'Uploads V1 package and refreshes the registry';\n\n static flags = {\n registry: Flags.string({\n char: 'r',\n summary: 'full address of the registry or alias from .pl.reg',\n helpValue: '<address|alias>',\n env: 'PL_REGISTRY'\n }),\n\n organization: Flags.string({\n char: 'o',\n summary: 'target organisation',\n env: 'PL_PACKAGE_ORGANIZATION'\n }),\n\n package: Flags.string({\n char: 'p',\n summary: 'target package',\n env: 'PL_PACKAGE_NAME'\n }),\n\n version: Flags.string({\n char: 'v',\n summary: 'target version',\n env: 'PL_PACKAGE_VERSION'\n }),\n\n meta: Flags.file({\n char: 'm',\n summary: 'json file containing meta information to associate with tha package',\n exists: true\n }),\n\n file: targetFile({\n char: 'f',\n summary: 'package files',\n multiple: true,\n default: []\n }),\n\n refresh: Flags.boolean({\n summary: 'refresh repository after adding the package',\n default: true,\n allowNo: true,\n env: 'PL_REGISTRY_REFRESH'\n })\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(UploadPackageV1);\n const configFromFlags: PlRegPackageConfigDataShard = PlRegPackageConfigDataShard.parse({});\n\n for (const field of BasicConfigFields) if (flags[field]) configFromFlags[field] = flags[field];\n\n if (flags.meta) {\n if (flags.meta.endsWith('.json'))\n configFromFlags.meta = JSON.parse(\n await fs.promises.readFile(flags.meta, { encoding: 'utf-8' })\n );\n else if (flags.meta.endsWith('.yaml'))\n configFromFlags.meta = YAML.parse(\n await fs.promises.readFile(flags.meta, { encoding: 'utf-8' })\n );\n }\n\n for (const targetFile of flags.file) {\n configFromFlags.files[targetFile.destName] = targetFile.src;\n }\n\n const conf = await getConfig(configFromFlags);\n\n this.log(YAML.stringify(conf.conf));\n\n const registry = conf.createRegistry(new OclifLoggerAdapter(this));\n const name = conf.fullPackageName;\n\n const builder = registry.constructNewPackage(name);\n\n for (const [dst, src] of Object.entries(conf.conf.files)) {\n this.log(`Uploading ${src} -> ${dst} ...`);\n const content = await fs.promises.readFile(src);\n await builder.addFile(dst, content);\n }\n\n this.log(`Uploading meta information...`);\n await builder.writeMeta(conf.conf.meta);\n await builder.finish();\n\n if (flags.refresh) await registry.updateIfNeeded();\n }\n}\n","import BuildMeta from './build-meta';\nimport BuildModel from './build-model';\nimport PackBlock from './pack-block';\nimport UploadPackageV1 from './upload-package-v1';\n\n// prettier-ignore\nexport const COMMANDS = {\n 'upload-package-v1': UploadPackageV1,\n 'pack': PackBlock,\n 'build-model': BuildModel,\n 'build-meta': BuildMeta,\n};\n"],"names":["_BuildMeta","Command","flags","modulePath","path","descriptionRaw","loadPackDescriptionRaw","metaEmbedded","BlockPackMetaEmbed","BlockPackMetaDescription","fs","__publicField","Flags","BuildMeta","getFileContent","error","_BuildModel","model","platforma","config","code","BuildModel","_PackBlock","description","loadPackDescription","buildBlockPackDist","PackBlock","parseTargetFile","arg","match","src","destName","targetFile","BasicConfigFields","_UploadPackageV1","configFromFlags","PlRegPackageConfigDataShard","field","YAML","conf","getConfig","registry","OclifLoggerAdapter","name","builder","dst","content","UploadPackageV1","COMMANDS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.mjs","sources":["../src/cmd/build-meta.ts","../src/cmd/build-model.ts","../src/cmd/pack-block.ts","../src/v2/registry/schema_public.ts","../src/v2/registry/schema_internal.ts","../src/v2/registry/registry.ts","../src/cmd/publish.ts","../src/registry_v1/flags.ts","../src/cmd/upload-package-v1.ts","../src/cmd/index.ts"],"sourcesContent":["import { Command, Flags } from '@oclif/core';\nimport path from 'path';\nimport fs from 'fs';\nimport { loadPackDescriptionRaw } from '../v2';\nimport { BlockPackMetaDescription, BlockPackMetaEmbed } from '../v2/model/block_meta';\n\nexport default class BuildMeta extends Command {\n static override description =\n 'Extracts meta information from blocks package.json and outputs meta.json with embedded binary ' +\n 'and textual information linked from the meta section.';\n\n static flags = {\n modulePath: Flags.string({\n char: 'i',\n summary: 'input module path',\n helpValue: '<path>',\n default: '.'\n }),\n\n destination: Flags.string({\n char: 'o',\n summary: 'output meta.json file',\n helpValue: '<path>',\n required: true\n })\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(BuildMeta);\n const modulePath = path.resolve(flags.modulePath);\n const descriptionRaw = await loadPackDescriptionRaw(modulePath);\n const metaEmbedded = await BlockPackMetaEmbed.parseAsync(\n BlockPackMetaDescription(modulePath).parse(descriptionRaw.meta)\n );\n\n await fs.promises.writeFile(path.resolve(flags.destination), JSON.stringify(metaEmbedded));\n }\n}\n","import { Command, Flags } from '@oclif/core';\nimport fs from 'fs';\nimport path from 'path';\n\nasync function getFileContent(path: string) {\n try {\n return await fs.promises.readFile(path, 'utf8');\n } catch (error: any) {\n if (error.code === 'ENOENT') {\n return undefined;\n }\n throw error;\n }\n}\n\nexport default class BuildModel extends Command {\n static override description =\n 'Extracts and outputs block model JSON from pre-built block model module';\n\n static flags = {\n modulePath: Flags.string({\n char: 'i',\n summary: 'input module path',\n helpValue: '<path>',\n default: '.'\n }),\n\n sourceBundle: Flags.string({\n char: 'b',\n summary: 'bundled model code to embed into the model for callback-based rendering to work',\n helpValue: '<path>',\n default: './dist/bundle.js'\n }),\n\n destination: Flags.string({\n char: 'o',\n summary: 'output model file',\n helpValue: '<path>',\n default: './dist/model.json'\n })\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(BuildModel);\n const modulePath = path.resolve(flags.modulePath); // i.e. folder with package.json file\n let { model, platforma } = require(modulePath);\n\n if (!model) model = platforma;\n if (!model) throw new Error('\"model\" export not found');\n\n const { config } = model;\n\n if (!config)\n throw new Error(\n 'Malformed \"model\" object, check it is created with \"BlockModel\" ' +\n 'and \".done()\" is executed as the call in the chain.'\n );\n\n if (\n !('canRun' in config || 'inputsValid' in config) ||\n !('outputs' in config) ||\n !('sections' in config)\n )\n throw new Error('\"config\" has unexpected structure');\n\n const code = await getFileContent(flags.sourceBundle);\n if (code !== undefined) {\n config.code = {\n type: 'plain',\n content: code\n };\n }\n\n await fs.promises.writeFile(path.resolve(flags.destination), JSON.stringify(config));\n }\n}\n","import { Command, Flags } from '@oclif/core';\nimport { loadPackDescription } from '../v2/source_package';\nimport path from 'path';\nimport { buildBlockPackDist } from '../v2/build_dist';\n\nexport default class PackBlock extends Command {\n static description =\n 'Builds block pack and outputs a block pack manifest consolidating all ' +\n 'references assets into a single folder';\n\n static flags = {\n modulePath: Flags.string({\n char: 'i',\n summary: 'input module path',\n helpValue: '<path>',\n default: '.'\n }),\n\n destinationPath: Flags.string({\n char: 'o',\n summary: 'output folder',\n helpValue: '<path>',\n default: './block-pack'\n })\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(PackBlock);\n const description = await loadPackDescription(path.resolve(flags.modulePath));\n await buildBlockPackDist(description, path.resolve(flags.destinationPath));\n }\n}\n","import {\n BlockComponentsManifest,\n BlockPackDescriptionManifest,\n BlockPackId,\n BlockPackIdNoVersion,\n BlockPackMeta,\n ContentRelativeBinary,\n ContentRelativeText,\n CreateBlockPackDescriptionSchema\n} from '@milaboratories/pl-model-middle-layer';\nimport { z } from 'zod';\nimport { RelativeContentReader, relativeToExplicitBytes, relativeToExplicitText } from '../model';\n\nconst MainPrefix = 'v2/';\n\nexport const ManifestFileName = 'manifest.json';\n\nexport function packageContentPrefix(bp: BlockPackId): string {\n return `${MainPrefix}${bp.organization}/${bp.name}/${bp.version}`;\n}\n\nexport const ManifestSuffix = '/' + ManifestFileName;\n\n// export function payloadFilePath(bp: BlockPackId, file: string): string {\n// return `${MainPrefix}${bp.organization}/${bp.name}/${bp.version}/${file}`;\n// }\n\nexport const PackageOverview = z.object({\n schema: z.literal('v2'),\n versions: z.array(BlockPackDescriptionManifest)\n});\nexport type PackageOverview = z.infer<typeof PackageOverview>;\n\nexport function packageOverviewPath(bp: BlockPackIdNoVersion): string {\n return `${MainPrefix}${bp.organization}/${bp.name}/overview.json`;\n}\n\nexport const GlobalOverviewPath = `${MainPrefix}overview.json`;\n\nexport function GlobalOverviewEntry<const Description extends z.ZodTypeAny>(\n descriptionType: Description\n) {\n return z.object({\n id: BlockPackIdNoVersion,\n allVersions: z.array(z.string()),\n latest: descriptionType\n });\n}\n\nexport function GlobalOverview<const Description extends z.ZodTypeAny>(\n descriptionType: Description\n) {\n return z.object({\n schema: z.literal('v2'),\n packages: z.array(GlobalOverviewEntry(descriptionType))\n });\n}\n\nexport const GlobalOverviewReg = GlobalOverview(BlockPackDescriptionManifest);\nexport type GlobalOverviewReg = z.infer<typeof GlobalOverviewReg>;\n\nexport function GlobalOverviewToExplicitBinaryBytes(reader: RelativeContentReader) {\n return GlobalOverview(\n CreateBlockPackDescriptionSchema(\n BlockComponentsManifest,\n BlockPackMeta(\n ContentRelativeText.transform(relativeToExplicitText(reader)),\n ContentRelativeBinary.transform(relativeToExplicitBytes(reader))\n )\n )\n );\n}\nexport type GlobalOverviewExplicitBinaryBytes = z.infer<\n ReturnType<typeof GlobalOverviewToExplicitBinaryBytes>\n>;\n\nexport function GlobalOverviewToExplicitBinaryBase64(reader: RelativeContentReader) {\n return GlobalOverview(\n CreateBlockPackDescriptionSchema(\n BlockComponentsManifest,\n BlockPackMeta(\n ContentRelativeText.transform(relativeToExplicitText(reader)),\n ContentRelativeBinary.transform(relativeToExplicitBytes(reader))\n )\n )\n );\n}\nexport type GlobalOverviewExplicitBinaryBase64 = z.infer<\n ReturnType<typeof GlobalOverviewToExplicitBinaryBase64>\n>;\n","import { BlockPackId } from '@milaboratories/pl-model-middle-layer';\n\nexport const VersionUpdatesPrefix = '_updates_v2/per_package_version/';\n\nexport function packageUpdateSeedPath(bp: BlockPackId, seed: string): string {\n return `${VersionUpdatesPrefix}${bp.organization}/${bp.name}/${bp.version}/${seed}`;\n}\n\nexport const PackageUpdatePattern =\n /(?<packageKeyWithoutVersion>(?<organization>[^\\/]+)\\/(?<name>[^\\/]+))\\/(?<version>[^\\/]+)\\/(?<seed>[^\\/]+)$/;\n\nexport const GlobalUpdateSeedInFile = '_updates_v2/_global_update_in';\nexport const GlobalUpdateSeedOutFile = '_updates_v2/_global_update_out';\n","import { MiLogger } from '@milaboratories/ts-helpers';\nimport { compare as compareSemver, satisfies } from 'semver';\nimport { RegistryStorage } from '../../lib/storage';\nimport { BlockPackIdNoVersion, BlockPackManifest } from '@milaboratories/pl-model-middle-layer';\nimport {\n GlobalUpdateSeedInFile,\n GlobalUpdateSeedOutFile,\n PackageUpdatePattern,\n packageUpdateSeedPath,\n VersionUpdatesPrefix\n} from './schema_internal';\nimport {\n GlobalOverviewReg,\n GlobalOverviewPath,\n ManifestSuffix,\n packageContentPrefix,\n PackageOverview,\n packageOverviewPath,\n ManifestFileName\n} from './schema_public';\nimport { BlockPackDescriptionManifestAddRelativePathPrefix, RelativeContentReader } from '../model';\nimport { randomUUID } from 'node:crypto';\n\ntype PackageUpdateInfo = {\n package: BlockPackIdNoVersion;\n versions: Set<String>;\n};\n\nexport class BlockRegistryV2 {\n constructor(\n private readonly storage: RegistryStorage,\n private readonly logger?: MiLogger\n ) {}\n\n private async updateRegistry() {\n this.logger?.info('Initiating registry refresh...');\n\n // reading update requests\n const packagesToUpdate = new Map<string, PackageUpdateInfo>();\n const seedPaths: string[] = [];\n const rawSeedPaths = await this.storage.listFiles(VersionUpdatesPrefix);\n this.logger?.info('Packages to be updated:');\n for (const seedPath of rawSeedPaths) {\n const match = seedPath.match(PackageUpdatePattern);\n if (!match) continue;\n seedPaths.push(seedPath);\n const { packageKeyWithoutVersion, organization, name, version, seed } = match.groups!;\n\n let update = packagesToUpdate.get(packageKeyWithoutVersion);\n let added = false;\n if (!update) {\n packagesToUpdate.set(packageKeyWithoutVersion, {\n package: { organization, name },\n versions: new Set([version])\n });\n added = true;\n } else if (!update.versions.has(version)) {\n update.versions.add(version);\n added = true;\n }\n this.logger?.info(` - ${organization}:${name}:${version} added:${added}`);\n }\n\n // loading global overview\n const overviewContent = await this.storage.getFile(GlobalOverviewPath);\n const overview: GlobalOverviewReg =\n overviewContent === undefined\n ? { schema: 'v2', packages: [] }\n : GlobalOverviewReg.parse(JSON.parse(overviewContent.toString()));\n let overviewPackages = overview.packages;\n this.logger?.info(`Global overview loaded, ${overviewPackages.length} records`);\n\n // updating packages\n for (const [, packageInfo] of packagesToUpdate.entries()) {\n // reading existing overview\n const overviewFile = packageOverviewPath(packageInfo.package);\n const pOverviewContent = await this.storage.getFile(overviewFile);\n let packageOverview: PackageOverview =\n pOverviewContent === undefined\n ? { schema: 'v2', versions: [] }\n : PackageOverview.parse(JSON.parse(pOverviewContent.toString()));\n this.logger?.info(\n `Updating ${packageInfo.package.organization}:${packageInfo.package.name} overview, ${packageOverview.versions.length} records`\n );\n\n // removing versions that we will update\n const newVersions = packageOverview.versions.filter(\n (e) => !packageInfo.versions.has(e.id.version)\n );\n\n // reading new entries\n for (const [v] of packageInfo.versions.entries()) {\n const version = v.toString();\n const manifestContent = await this.storage.getFile(\n packageContentPrefix({\n ...packageInfo.package,\n version\n }) + ManifestSuffix\n );\n if (!manifestContent) continue; // absent package\n newVersions.push(\n BlockPackDescriptionManifestAddRelativePathPrefix(version).parse(\n BlockPackManifest.parse(JSON.parse(manifestContent.toString('utf8'))).description\n )\n );\n }\n\n // sorting entries according to version\n newVersions.sort((e1, e2) => compareSemver(e2.id.version, e1.id.version));\n\n // write package overview back\n await this.storage.putFile(\n overviewFile,\n Buffer.from(\n JSON.stringify({ schema: 'v2', versions: newVersions } satisfies PackageOverview)\n )\n );\n this.logger?.info(`Done (${newVersions.length} records)`);\n\n // patching corresponding entry in overview\n overviewPackages = overviewPackages.filter(\n (e) =>\n e.id.organization !== packageInfo.package.organization ||\n e.id.name !== packageInfo.package.name\n );\n overviewPackages.push({\n id: {\n organization: packageInfo.package.organization,\n name: packageInfo.package.name\n },\n allVersions: newVersions.map((e) => e.id.version).reverse(),\n latest: BlockPackDescriptionManifestAddRelativePathPrefix(packageInfo.package.name).parse(\n newVersions[0]\n )\n });\n }\n\n // writing global overview\n await this.storage.putFile(\n GlobalOverviewPath,\n Buffer.from(\n JSON.stringify({ schema: 'v2', packages: overviewPackages } satisfies GlobalOverviewReg)\n )\n );\n this.logger?.info(`Global overview updated (${overviewPackages.length} records)`);\n\n // deleting seeds\n await this.storage.deleteFiles(...seedPaths.map((sp) => `${VersionUpdatesPrefix}${sp}`));\n this.logger?.info(`Version update requests cleared`);\n }\n\n public async updateIfNeeded(force: boolean = false): Promise<void> {\n // implementation of main convergence algorithm\n\n this.logger?.info(`Checking if registry requires refresh...`);\n const updateRequestSeed = await this.storage.getFile(GlobalUpdateSeedInFile);\n const currentUpdatedSeed = await this.storage.getFile(GlobalUpdateSeedOutFile);\n if (!force && updateRequestSeed === undefined && currentUpdatedSeed === undefined) return;\n if (\n !force &&\n updateRequestSeed !== undefined &&\n currentUpdatedSeed !== undefined &&\n updateRequestSeed.equals(currentUpdatedSeed)\n )\n return;\n\n await this.updateRegistry();\n\n if (updateRequestSeed) {\n await this.storage.putFile(GlobalUpdateSeedOutFile, updateRequestSeed);\n this.logger?.info(`Refresh finished`);\n }\n }\n\n public async getPackageOverview(\n name: BlockPackIdNoVersion\n ): Promise<undefined | PackageOverview> {\n const content = await this.storage.getFile(packageOverviewPath(name));\n if (content === undefined) return undefined;\n return PackageOverview.parse(JSON.parse(content.toString()));\n }\n\n public async getGlobalOverview(): Promise<undefined | GlobalOverviewReg> {\n const content = await this.storage.getFile(GlobalOverviewPath);\n if (content === undefined) return undefined;\n return GlobalOverviewReg.parse(JSON.parse(content.toString()));\n }\n\n // public async getGlobalOverviewExplicitBytes(): Promise<undefined | GlobalOverviewReg> {\n // const content = await this.storage.getFile(GlobalOverviewPath);\n // if (content === undefined) return undefined;\n // return GlobalOverviewReg.parse(JSON.parse(content.toString()));\n // }\n\n public async publishPackage(\n manifest: BlockPackManifest,\n fileReader: RelativeContentReader\n ): Promise<void> {\n const prefix = packageContentPrefix(manifest.description.id);\n // uploading content files\n for (const f of manifest.files) {\n const bytes = await fileReader(f.name);\n if (bytes.length !== f.size)\n throw new Error(\n `Actual file size don't match file size from the manifest file for ${f.name} (actual = ${bytes.length}; manifest = ${f.size})`\n );\n const sha256 = Buffer.from(await crypto.subtle.digest('sha-256', bytes))\n .toString('hex')\n .toUpperCase();\n if (sha256 !== f.sha256.toUpperCase())\n throw new Error(\n `Actual file SHA-256 don't match the checksum from the manifest file for ${f.name} (actual = ${sha256}; manifest = ${f.sha256.toUpperCase()})`\n );\n\n const dst = prefix + '/' + f.name;\n this.logger?.info(`Uploading ${f.name} -> ${dst} ...`);\n await this.storage.putFile(dst, bytes);\n }\n\n // uploading manifest as the last upload action\n const manifestDst = prefix + '/' + ManifestFileName;\n this.logger?.info(`Uploading manifest to ${manifestDst} ...`);\n await this.storage.putFile(manifestDst, Buffer.from(JSON.stringify(manifest)));\n\n // adding update seed\n const seed = randomUUID();\n const seedPath = packageUpdateSeedPath(manifest.description.id, seed);\n this.logger?.info(`Creating update seed at ${seedPath} ...`);\n await this.storage.putFile(seedPath, Buffer.from(seed));\n this.logger?.info(`Touching global update seed ${GlobalUpdateSeedInFile} ...`);\n await this.storage.putFile(GlobalUpdateSeedInFile, Buffer.from(seed));\n }\n}\n","import { Command, Flags } from '@oclif/core';\nimport fs from 'node:fs';\nimport { OclifLoggerAdapter } from '@milaboratories/ts-helpers-oclif';\nimport { ManifestFileName } from '../v2/registry/schema_public';\nimport { BlockPackManifest } from '@milaboratories/pl-model-middle-layer';\nimport { storageByUrl } from '../lib/storage';\nimport { BlockRegistryV2 } from '../v2/registry/registry';\nimport path from 'node:path';\n\nexport default class Publish extends Command {\n static description =\n 'Publishes the block package and refreshes the registry (for v2 block-pack schema)';\n\n static flags = {\n registry: Flags.string({\n char: 'r',\n summary: 'full address of the registry',\n helpValue: '<address>',\n env: 'PL_REGISTRY',\n required: true\n }),\n\n manifest: Flags.file({\n char: 'm',\n summary: 'manifest file path',\n exists: true,\n default: `./block-pack/${ManifestFileName}`\n }),\n\n refresh: Flags.boolean({\n summary: 'refresh repository after adding the package',\n default: true,\n allowNo: true,\n env: 'PL_REGISTRY_REFRESH'\n })\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Publish);\n\n // if (flags.meta) {\n // if (flags.meta.endsWith('.json'))\n // configFromFlags.meta = JSON.parse(\n // await fs.promises.readFile(flags.meta, { encoding: 'utf-8' })\n // );\n // else if (flags.meta.endsWith('.yaml'))\n // configFromFlags.meta = YAML.parse(\n // await fs.promises.readFile(flags.meta, { encoding: 'utf-8' })\n // );\n // }\n\n const manifestPath = path.resolve(flags.manifest);\n const manifest = BlockPackManifest.parse(\n JSON.parse(await fs.promises.readFile(manifestPath, { encoding: 'utf-8' }))\n );\n const manifestRoot = path.dirname(manifestPath);\n\n this.log(`Manifest root = ${manifestRoot}`);\n\n const storage = storageByUrl(flags.registry);\n const registry = new BlockRegistryV2(storage, new OclifLoggerAdapter(this));\n\n await registry.publishPackage(manifest, async (file) =>\n Buffer.from(await fs.promises.readFile(path.resolve(manifestRoot, file)))\n );\n\n if (flags.refresh) await registry.updateIfNeeded();\n }\n}\n","import { Flags } from '@oclif/core';\nimport path from 'node:path';\n\nexport interface TargetFile {\n src: string;\n destName: string;\n}\n\nfunction parseTargetFile(arg: string): TargetFile {\n const match = arg.match(/(?<destName>[^\\/\\\\]+)=(?<src>.*)/);\n if (match) {\n const { src, destName } = match.groups!;\n return { src, destName };\n } else {\n return { src: arg, destName: path.basename(arg) };\n }\n}\n\nexport const targetFile = Flags.custom<TargetFile>({\n summary: 'target files to upload',\n helpValue: 'file_path | package_name=file_path',\n parse: async (arg) => parseTargetFile(arg)\n});\n","import { Command, Flags } from '@oclif/core';\nimport { getConfig } from '../registry_v1/config';\nimport { targetFile } from '../registry_v1/flags';\nimport fs from 'node:fs';\nimport YAML from 'yaml';\nimport { PlRegPackageConfigDataShard } from '../registry_v1/config_schema';\nimport { OclifLoggerAdapter } from '@milaboratories/ts-helpers-oclif';\n\ntype BasicConfigField = keyof PlRegPackageConfigDataShard &\n ('registry' | 'organization' | 'package' | 'version');\nconst BasicConfigFields: BasicConfigField[] = ['registry', 'organization', 'package', 'version'];\n\nexport default class UploadPackageV1 extends Command {\n static description = 'Uploads V1 package and refreshes the registry';\n\n static flags = {\n registry: Flags.string({\n char: 'r',\n summary: 'full address of the registry or alias from .pl.reg',\n helpValue: '<address|alias>',\n env: 'PL_REGISTRY'\n }),\n\n organization: Flags.string({\n char: 'o',\n summary: 'target organisation',\n env: 'PL_PACKAGE_ORGANIZATION'\n }),\n\n package: Flags.string({\n char: 'p',\n summary: 'target package',\n env: 'PL_PACKAGE_NAME'\n }),\n\n version: Flags.string({\n char: 'v',\n summary: 'target version',\n env: 'PL_PACKAGE_VERSION'\n }),\n\n meta: Flags.file({\n char: 'm',\n summary: 'json file containing meta information to associate with tha package',\n exists: true\n }),\n\n file: targetFile({\n char: 'f',\n summary: 'package files',\n multiple: true,\n default: []\n }),\n\n refresh: Flags.boolean({\n summary: 'refresh repository after adding the package',\n default: true,\n allowNo: true,\n env: 'PL_REGISTRY_REFRESH'\n })\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(UploadPackageV1);\n const configFromFlags: PlRegPackageConfigDataShard = PlRegPackageConfigDataShard.parse({});\n\n for (const field of BasicConfigFields) if (flags[field]) configFromFlags[field] = flags[field];\n\n if (flags.meta) {\n if (flags.meta.endsWith('.json'))\n configFromFlags.meta = JSON.parse(\n await fs.promises.readFile(flags.meta, { encoding: 'utf-8' })\n );\n else if (flags.meta.endsWith('.yaml'))\n configFromFlags.meta = YAML.parse(\n await fs.promises.readFile(flags.meta, { encoding: 'utf-8' })\n );\n }\n\n for (const targetFile of flags.file) {\n configFromFlags.files[targetFile.destName] = targetFile.src;\n }\n\n const conf = await getConfig(configFromFlags);\n\n this.log(YAML.stringify(conf.conf));\n\n const registry = conf.createRegistry(new OclifLoggerAdapter(this));\n const name = conf.fullPackageName;\n\n const builder = registry.constructNewPackage(name);\n\n for (const [dst, src] of Object.entries(conf.conf.files)) {\n this.log(`Uploading ${src} -> ${dst} ...`);\n const content = await fs.promises.readFile(src);\n await builder.addFile(dst, content);\n }\n\n this.log(`Uploading meta information...`);\n await builder.writeMeta(conf.conf.meta);\n await builder.finish();\n\n if (flags.refresh) await registry.updateIfNeeded();\n }\n}\n","import BuildMeta from './build-meta';\nimport BuildModel from './build-model';\nimport PackBlock from './pack-block';\nimport Publish from './publish';\nimport UploadPackageV1 from './upload-package-v1';\n\n// prettier-ignore\nexport const COMMANDS = {\n 'upload-package-v1': UploadPackageV1,\n 'pack': PackBlock,\n 'build-model': BuildModel,\n 'build-meta': BuildMeta,\n 'publish': Publish,\n};\n"],"names":["_BuildMeta","Command","flags","modulePath","path","descriptionRaw","loadPackDescriptionRaw","metaEmbedded","BlockPackMetaEmbed","BlockPackMetaDescription","fs","__publicField","Flags","BuildMeta","getFileContent","error","_BuildModel","model","platforma","config","code","BuildModel","_PackBlock","description","loadPackDescription","buildBlockPackDist","PackBlock","MainPrefix","ManifestFileName","packageContentPrefix","bp","ManifestSuffix","PackageOverview","z","BlockPackDescriptionManifest","packageOverviewPath","GlobalOverviewPath","GlobalOverviewEntry","descriptionType","BlockPackIdNoVersion","GlobalOverview","GlobalOverviewReg","VersionUpdatesPrefix","packageUpdateSeedPath","seed","PackageUpdatePattern","GlobalUpdateSeedInFile","GlobalUpdateSeedOutFile","BlockRegistryV2","storage","logger","_a","packagesToUpdate","seedPaths","rawSeedPaths","_b","seedPath","match","packageKeyWithoutVersion","organization","name","version","update","added","_c","overviewContent","overviewPackages","_d","packageInfo","overviewFile","pOverviewContent","packageOverview","_e","newVersions","e","v","manifestContent","BlockPackDescriptionManifestAddRelativePathPrefix","BlockPackManifest","e1","e2","compareSemver","_f","_g","sp","_h","force","updateRequestSeed","currentUpdatedSeed","content","manifest","fileReader","prefix","bytes","sha256","dst","manifestDst","randomUUID","_Publish","manifestPath","manifestRoot","storageByUrl","registry","OclifLoggerAdapter","file","Publish","parseTargetFile","arg","src","destName","targetFile","BasicConfigFields","_UploadPackageV1","configFromFlags","PlRegPackageConfigDataShard","field","YAML","conf","getConfig","builder","UploadPackageV1","COMMANDS"],"mappings":"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"}
|
package/dist/cmd/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { default as BuildMeta } from './build-meta';
|
|
2
2
|
import { default as BuildModel } from './build-model';
|
|
3
3
|
import { default as PackBlock } from './pack-block';
|
|
4
|
+
import { default as Publish } from './publish';
|
|
4
5
|
import { default as UploadPackageV1 } from './upload-package-v1';
|
|
5
6
|
export declare const COMMANDS: {
|
|
6
7
|
'upload-package-v1': typeof UploadPackageV1;
|
|
7
8
|
pack: typeof PackBlock;
|
|
8
9
|
'build-model': typeof BuildModel;
|
|
9
10
|
'build-meta': typeof BuildMeta;
|
|
11
|
+
publish: typeof Publish;
|
|
10
12
|
};
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cmd/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cmd/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAGlD,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cmd/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAGlD,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Publish extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
registry: import('@oclif/core/interfaces').OptionFlag<string, import('@oclif/core/interfaces').CustomOptions>;
|
|
6
|
+
manifest: import('@oclif/core/interfaces').OptionFlag<string, import('@oclif/core/interfaces').CustomOptions>;
|
|
7
|
+
refresh: import('@oclif/core/interfaces').BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=publish.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/cmd/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAS7C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SACoE;IAEtF,MAAM,CAAC,KAAK;;;;MAsBV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+BlC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";var Mt=Object.defineProperty;var Xt=(r,e,t)=>e in r?Mt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Y=(r,e,t)=>Xt(r,typeof e!="symbol"?e+"":e,t);const P=require("@milaboratories/pl-model-middle-layer"),L=require("zod"),T=require("node:path"),x=require("node:fs/promises"),qt=require("mime-types"),Jt=require("tar"),at=require("@milaboratories/resolve-helper"),ct=require("@milaboratories/ts-helpers"),Ht=require("yaml"),Wt=require("node:os"),Yt=require("node:crypto"),G=require("node:path/posix"),lt=require("@aws-sdk/client-s3"),Kt=require("node:fs");function ne(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const Ie=ne(qt),Zt=ne(Jt),je=ne(Wt),J=ne(Kt);function ft(r){return L.z.string().transform((e,t)=>{const s=at.tryResolve(r,e);return s===void 0?(t.addIssue({code:L.z.ZodIssueCode.custom,message:`Can't resolve ${e} against ${r}`}),L.z.NEVER):{type:"absolute-file",file:s}})}function ut(r,...e){return L.z.string().transform((t,s)=>{const o=t.endsWith("/")?t:`${t}/`;for(const a of e){const c=at.tryResolve(r,o+a);if(c!==void 0){if(!c.endsWith(a))throw new Error(`Unexpected resolve result ${c} with index file ${a}`);return{type:"absolute-folder",folder:c.slice(0,c.length-a.length)}}}return s.addIssue({code:L.z.ZodIssueCode.custom,message:`Can't resolve ${t} folder against ${r}, no index file found (${e.join(", ")})`}),L.z.NEVER})}function Re(r){return e=>e.type==="relative"?{type:"absolute-file",file:T.resolve(r,e.path)}:e}function pt(){return async r=>r.type==="absolute-file"?await x.readFile(r.file,{encoding:"utf-8"}):r.content}function ht(){return async r=>{if(r.type==="absolute-file"){const e=Ie.lookup(r.file);if(!e)throw new Error(`Can't recognize mime type of the file: ${r.file}.`);return{type:"explicit-base64",mimeType:e,content:await x.readFile(r.file,{encoding:"base64"})}}else return r}}function re(r,e){return async t=>{if(t.type==="absolute-file"){const s=T.basename(t.file),o=T.resolve(r,s);return e==null||e.push(s),await x.cp(t.file,o),{type:"relative",path:s}}else return t}}function Et(r,e,t){if(!e.endsWith(".tgz"))throw new Error(`Unexpected tgz file name: ${e}`);return async s=>{const o=T.resolve(r,e);return await Zt.create({gzip:!0,file:o,cwd:s.folder},[s.folder]),t==null||t.push(e),{type:"relative",path:e}}}function Qt(r){return async e=>e.type==="explicit-string"?e:{type:"explicit-string",content:(await r(e.path)).toString("utf8")}}function er(r){return async e=>{if(e.type==="explicit-base64")return e;const t=Ie.lookup(e.path);if(!t)throw new Error(`Can't recognize mime type of the file: ${e.path}.`);return{type:"explicit-base64",mimeType:t,content:(await r(e.path)).toString("base64")}}}function tr(r){return async e=>{if(e.type==="explicit-base64")return{type:"explicit-bytes",mimeType:e.mimeType,content:Buffer.from(e.content,"base64")};const t=Ie.lookup(e.path);if(!t)throw new Error(`Can't recognize mime type of the file: ${e.path}.`);return{type:"explicit-bytes",mimeType:t,content:await r(e.path)}}}function gt(r){return P.BlockPackMeta(P.DescriptionContentText.transform(Re(r)),P.DescriptionContentBinary.transform(Re(r)))}function dt(r,e){return P.BlockPackMeta(P.ContentAbsoluteTextLocal.transform(re(r,e)),P.ContentAbsoluteBinaryLocal.transform(re(r,e)))}const rr=P.BlockPackMeta(P.ContentAbsoluteTextLocal.transform(pt()),P.ContentAbsoluteBinaryLocal.transform(ht())).pipe(P.BlockPackMetaEmbeddedContent);function $t(r){return P.BlockComponents(ft(r),ut(r,"index.html"))}function mt(r,e){return P.BlockComponents(P.ContentAbsoluteBinaryLocal.transform(re(r,e)),P.ContentAbsoluteFolder.transform(Et(r,"ui.tgz",e))).pipe(P.BlockComponentsManifest)}function Se(r){return P.CreateBlockPackDescriptionSchema($t(r),gt(r))}function Rt(r,e){return P.CreateBlockPackDescriptionSchema(mt(r,e),dt(r,e)).pipe(P.BlockPackDescriptionManifest)}function sr(r){const e=P.addPrefixToRelative(r);return P.BlockPackDescriptionManifest.pipe(P.CreateBlockPackDescriptionSchema(P.BlockComponents(P.ContentRelative.transform(e),P.ContentRelative.transform(e)),P.BlockPackMeta(P.ContentRelativeText.transform(e),P.ContentRelativeBinary.transform(e)))).pipe(P.BlockPackDescriptionManifest)}async function nr(r,e){await x.mkdir(e,{recursive:!0});const t=[],s=await Rt(e,t).parseAsync(r),o=await Promise.all(t.map(async c=>{const R=await x.readFile(T.resolve(e,c)),n=Buffer.from(await crypto.subtle.digest("sha-256",R)).toString("hex");return{name:c,size:R.length,sha256:n}})),a=P.BlockPackManifest.parse({schema:"v2",description:s,files:o});return await x.writeFile(T.resolve(e,P.BlockPackManifestFile),JSON.stringify(a)),a}async function Ne(r,e){try{return e(await x.readFile(r))}catch(t){if(t.code=="ENOENT")return;throw new Error("",{cause:t})}}const se="block",ir=/(?:@[a-zA-Z0-9-.]+\/)?(?<organization>[a-zA-Z0-9-]+)\.(?<name>[a-zA-Z0-9-]+)/;function Oe(r){const e=r.match(ir);if(!e)throw new Error(`Malformed package name (${r}), can't infer organization and block pack name.`);const{name:t,organization:s}=e.groups;return{name:t,organization:s}}async function or(r){const e=T.resolve(r,"package.json");try{const t=await Ne(e,c=>JSON.parse(c.toString("utf-8")));if(t===void 0)return;const s=t[se];if(s===void 0)return;const o={...P.BlockPackDescriptionFromPackageJsonRaw.parse(s),id:{...Oe(ct.notEmpty(t.name,`"name" not found in ${e}`)),version:P.SemVer.parse(t.version)}},a=await Se(r).safeParseAsync(o);return a.success?a.data:void 0}catch{return}}async function vt(r){const e=T.resolve(r,"package.json"),t=JSON.parse(await x.readFile(e,{encoding:"utf-8"})),s=t[se];if(s===void 0)throw new Error(`Block description (field ${se}) not found in ${e}.`);return{...P.BlockPackDescriptionFromPackageJsonRaw.parse(s),id:{...Oe(ct.notEmpty(t.name,`"name" not found in ${e}`)),version:P.SemVer.parse(t.version)}}}async function ar(r){const e=await vt(r);return await Se(r).parseAsync(e)}class cr{constructor(e,t,s){this.client=e,this.bucket=t,this.root=s}async getFile(e){try{return Buffer.from(await(await this.client.getObject({Bucket:this.bucket,Key:G.join(this.root,e)})).Body.transformToByteArray())}catch(t){if(t.name==="NoSuchKey")return;throw t}}async listFiles(e){const t=G.join(this.root,e),s=lt.paginateListObjectsV2({client:this.client},{Bucket:this.bucket,Prefix:t}),o=[];for await(const a of s)o.push(...a.Contents.map(c=>G.relative(t,c.Key)));return o}async putFile(e,t){await this.client.putObject({Bucket:this.bucket,Key:G.join(this.root,e),Body:t})}async deleteFiles(...e){const t=await this.client.deleteObjects({Bucket:this.bucket,Delete:{Objects:e.map(s=>({Key:G.join(this.root,s)}))}});if(t.Errors!==void 0&&t.Errors.length>0)throw new Error(`Errors encountered while deleting files: ${t.Errors.join(`
|
|
2
|
+
`)}`)}}class lr{constructor(e){Y(this,"root");this.root=T.resolve(e)}toAbsolutePath(e){if(G.isAbsolute(e))throw new Error("absolute path");return T.resolve(this.root,e.split(G.sep).join(T.sep))}async getFile(e){try{return await J.promises.readFile(this.toAbsolutePath(e))}catch(t){if(t.code=="ENOENT")return;throw new Error("",{cause:t})}}async listFiles(e){try{const t=this.toAbsolutePath(e);return(await J.promises.readdir(t,{recursive:!0,withFileTypes:!0})).filter(s=>s.isFile()).map(s=>T.relative(t,T.resolve(s.path,s.name)).split(T.sep).join(G.sep))}catch(t){if(t.code=="ENOENT")return[];throw new Error("",{cause:t})}}async putFile(e,t){const s=this.toAbsolutePath(e);await J.promises.mkdir(T.dirname(s),{recursive:!0}),await J.promises.writeFile(s,t)}async deleteFiles(...e){for(const t of e)await J.promises.rm(this.toAbsolutePath(t))}}function wt(r){const e=new URL(r,`file:${T.resolve(".").split(T.sep).join(G.sep)}/`);switch(e.protocol){case"file:":const t=T.resolve(e.pathname);return new lr(t);case"s3:":const s={},o=e.searchParams.get("region");o&&(s.region=o);const a=e.hostname;return new cr(new lt.S3(s),a,e.pathname.replace(/^\//,""));default:throw new Error(`Unknown protocol: ${e.protocol}`)}}function fr(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var ve={exports:{}};const ur="2.0.0",Pt=256,pr=Number.MAX_SAFE_INTEGER||9007199254740991,hr=16,Er=Pt-6,gr=["major","premajor","minor","preminor","patch","prepatch","prerelease"];var ie={MAX_LENGTH:Pt,MAX_SAFE_COMPONENT_LENGTH:hr,MAX_SAFE_BUILD_LENGTH:Er,MAX_SAFE_INTEGER:pr,RELEASE_TYPES:gr,SEMVER_SPEC_VERSION:ur,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};const dr=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};var oe=dr;(function(r,e){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:o}=ie,a=oe;e=r.exports={};const c=e.re=[],R=e.safeRe=[],n=e.src=[],i=e.t={};let f=0;const h="[a-zA-Z0-9-]",S=[["\\s",1],["\\d",o],[h,s]],E=F=>{for(const[A,k]of S)F=F.split(`${A}*`).join(`${A}{0,${k}}`).split(`${A}+`).join(`${A}{1,${k}}`);return F},u=(F,A,k)=>{const C=E(A),I=f++;a(F,I,A),i[F]=I,n[I]=A,c[I]=new RegExp(A,k?"g":void 0),R[I]=new RegExp(C,k?"g":void 0)};u("NUMERICIDENTIFIER","0|[1-9]\\d*"),u("NUMERICIDENTIFIERLOOSE","\\d+"),u("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${h}*`),u("MAINVERSION",`(${n[i.NUMERICIDENTIFIER]})\\.(${n[i.NUMERICIDENTIFIER]})\\.(${n[i.NUMERICIDENTIFIER]})`),u("MAINVERSIONLOOSE",`(${n[i.NUMERICIDENTIFIERLOOSE]})\\.(${n[i.NUMERICIDENTIFIERLOOSE]})\\.(${n[i.NUMERICIDENTIFIERLOOSE]})`),u("PRERELEASEIDENTIFIER",`(?:${n[i.NUMERICIDENTIFIER]}|${n[i.NONNUMERICIDENTIFIER]})`),u("PRERELEASEIDENTIFIERLOOSE",`(?:${n[i.NUMERICIDENTIFIERLOOSE]}|${n[i.NONNUMERICIDENTIFIER]})`),u("PRERELEASE",`(?:-(${n[i.PRERELEASEIDENTIFIER]}(?:\\.${n[i.PRERELEASEIDENTIFIER]})*))`),u("PRERELEASELOOSE",`(?:-?(${n[i.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${n[i.PRERELEASEIDENTIFIERLOOSE]})*))`),u("BUILDIDENTIFIER",`${h}+`),u("BUILD",`(?:\\+(${n[i.BUILDIDENTIFIER]}(?:\\.${n[i.BUILDIDENTIFIER]})*))`),u("FULLPLAIN",`v?${n[i.MAINVERSION]}${n[i.PRERELEASE]}?${n[i.BUILD]}?`),u("FULL",`^${n[i.FULLPLAIN]}$`),u("LOOSEPLAIN",`[v=\\s]*${n[i.MAINVERSIONLOOSE]}${n[i.PRERELEASELOOSE]}?${n[i.BUILD]}?`),u("LOOSE",`^${n[i.LOOSEPLAIN]}$`),u("GTLT","((?:<|>)?=?)"),u("XRANGEIDENTIFIERLOOSE",`${n[i.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),u("XRANGEIDENTIFIER",`${n[i.NUMERICIDENTIFIER]}|x|X|\\*`),u("XRANGEPLAIN",`[v=\\s]*(${n[i.XRANGEIDENTIFIER]})(?:\\.(${n[i.XRANGEIDENTIFIER]})(?:\\.(${n[i.XRANGEIDENTIFIER]})(?:${n[i.PRERELEASE]})?${n[i.BUILD]}?)?)?`),u("XRANGEPLAINLOOSE",`[v=\\s]*(${n[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[i.XRANGEIDENTIFIERLOOSE]})(?:${n[i.PRERELEASELOOSE]})?${n[i.BUILD]}?)?)?`),u("XRANGE",`^${n[i.GTLT]}\\s*${n[i.XRANGEPLAIN]}$`),u("XRANGELOOSE",`^${n[i.GTLT]}\\s*${n[i.XRANGEPLAINLOOSE]}$`),u("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),u("COERCE",`${n[i.COERCEPLAIN]}(?:$|[^\\d])`),u("COERCEFULL",n[i.COERCEPLAIN]+`(?:${n[i.PRERELEASE]})?(?:${n[i.BUILD]})?(?:$|[^\\d])`),u("COERCERTL",n[i.COERCE],!0),u("COERCERTLFULL",n[i.COERCEFULL],!0),u("LONETILDE","(?:~>?)"),u("TILDETRIM",`(\\s*)${n[i.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",u("TILDE",`^${n[i.LONETILDE]}${n[i.XRANGEPLAIN]}$`),u("TILDELOOSE",`^${n[i.LONETILDE]}${n[i.XRANGEPLAINLOOSE]}$`),u("LONECARET","(?:\\^)"),u("CARETTRIM",`(\\s*)${n[i.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",u("CARET",`^${n[i.LONECARET]}${n[i.XRANGEPLAIN]}$`),u("CARETLOOSE",`^${n[i.LONECARET]}${n[i.XRANGEPLAINLOOSE]}$`),u("COMPARATORLOOSE",`^${n[i.GTLT]}\\s*(${n[i.LOOSEPLAIN]})$|^$`),u("COMPARATOR",`^${n[i.GTLT]}\\s*(${n[i.FULLPLAIN]})$|^$`),u("COMPARATORTRIM",`(\\s*)${n[i.GTLT]}\\s*(${n[i.LOOSEPLAIN]}|${n[i.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",u("HYPHENRANGE",`^\\s*(${n[i.XRANGEPLAIN]})\\s+-\\s+(${n[i.XRANGEPLAIN]})\\s*$`),u("HYPHENRANGELOOSE",`^\\s*(${n[i.XRANGEPLAINLOOSE]})\\s+-\\s+(${n[i.XRANGEPLAINLOOSE]})\\s*$`),u("STAR","(<|>)?=?\\s*\\*"),u("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),u("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(ve,ve.exports);var W=ve.exports;const $r=Object.freeze({loose:!0}),mr=Object.freeze({}),Rr=r=>r?typeof r!="object"?$r:r:mr;var ke=Rr;const Ge=/^[0-9]+$/,It=(r,e)=>{const t=Ge.test(r),s=Ge.test(e);return t&&s&&(r=+r,e=+e),r===e?0:t&&!s?-1:s&&!t?1:r<e?-1:1},vr=(r,e)=>It(e,r);var St={compareIdentifiers:It,rcompareIdentifiers:vr};const K=oe,{MAX_LENGTH:xe,MAX_SAFE_INTEGER:Z}=ie,{safeRe:Ue,t:ze}=W,wr=ke,{compareIdentifiers:z}=St;let Pr=class j{constructor(e,t){if(t=wr(t),e instanceof j){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>xe)throw new TypeError(`version is longer than ${xe} characters`);K("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const s=e.trim().match(t.loose?Ue[ze.LOOSE]:Ue[ze.FULL]);if(!s)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>Z||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Z||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Z||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){const a=+o;if(a>=0&&a<Z)return a}return o}):this.prerelease=[],this.build=s[5]?s[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(K("SemVer.compare",this.version,this.options,e),!(e instanceof j)){if(typeof e=="string"&&e===this.version)return 0;e=new j(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof j||(e=new j(e,this.options)),z(this.major,e.major)||z(this.minor,e.minor)||z(this.patch,e.patch)}comparePre(e){if(e instanceof j||(e=new j(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const s=this.prerelease[t],o=e.prerelease[t];if(K("prerelease compare",t,s,o),s===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(s===void 0)return-1;if(s===o)continue;return z(s,o)}while(++t)}compareBuild(e){e instanceof j||(e=new j(e,this.options));let t=0;do{const s=this.build[t],o=e.build[t];if(K("build compare",t,s,o),s===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(s===void 0)return-1;if(s===o)continue;return z(s,o)}while(++t)}inc(e,t,s){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,s);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,s);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,s),this.inc("pre",t,s);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,s),this.inc("pre",t,s);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const o=Number(s)?1:0;if(!t&&s===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[o];else{let a=this.prerelease.length;for(;--a>=0;)typeof this.prerelease[a]=="number"&&(this.prerelease[a]++,a=-2);if(a===-1){if(t===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(t){let a=[t,o];s===!1&&(a=[t]),z(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=a):this.prerelease=a}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var D=Pr;const Ve=D,Ir=(r,e,t=!1)=>{if(r instanceof Ve)return r;try{return new Ve(r,e)}catch(s){if(!t)return null;throw s}};var V=Ir;const Sr=V,Nr=(r,e)=>{const t=Sr(r,e);return t?t.version:null};var Or=Nr;const kr=V,yr=(r,e)=>{const t=kr(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};var Lr=yr;const Me=D,Tr=(r,e,t,s,o)=>{typeof t=="string"&&(o=s,s=t,t=void 0);try{return new Me(r instanceof Me?r.version:r,t).inc(e,s,o).version}catch{return null}};var Ar=Tr;const Xe=V,Cr=(r,e)=>{const t=Xe(r,null,!0),s=Xe(e,null,!0),o=t.compare(s);if(o===0)return null;const a=o>0,c=a?t:s,R=a?s:t,n=!!c.prerelease.length;if(!!R.prerelease.length&&!n)return!R.patch&&!R.minor?"major":c.patch?"patch":c.minor?"minor":"major";const f=n?"pre":"";return t.major!==s.major?f+"major":t.minor!==s.minor?f+"minor":t.patch!==s.patch?f+"patch":"prerelease"};var Fr=Cr;const Dr=D,br=(r,e)=>new Dr(r,e).major;var _r=br;const Br=D,jr=(r,e)=>new Br(r,e).minor;var Gr=jr;const xr=D,Ur=(r,e)=>new xr(r,e).patch;var zr=Ur;const Vr=V,Mr=(r,e)=>{const t=Vr(r,e);return t&&t.prerelease.length?t.prerelease:null};var Xr=Mr;const qe=D,qr=(r,e,t)=>new qe(r,t).compare(new qe(e,t));var _=qr;const Jr=_,Hr=(r,e,t)=>Jr(e,r,t);var Wr=Hr;const Yr=_,Kr=(r,e)=>Yr(r,e,!0);var Zr=Kr;const Je=D,Qr=(r,e,t)=>{const s=new Je(r,t),o=new Je(e,t);return s.compare(o)||s.compareBuild(o)};var ye=Qr;const es=ye,ts=(r,e)=>r.sort((t,s)=>es(t,s,e));var rs=ts;const ss=ye,ns=(r,e)=>r.sort((t,s)=>ss(s,t,e));var is=ns;const os=_,as=(r,e,t)=>os(r,e,t)>0;var ae=as;const cs=_,ls=(r,e,t)=>cs(r,e,t)<0;var Le=ls;const fs=_,us=(r,e,t)=>fs(r,e,t)===0;var Nt=us;const ps=_,hs=(r,e,t)=>ps(r,e,t)!==0;var Ot=hs;const Es=_,gs=(r,e,t)=>Es(r,e,t)>=0;var Te=gs;const ds=_,$s=(r,e,t)=>ds(r,e,t)<=0;var Ae=$s;const ms=Nt,Rs=Ot,vs=ae,ws=Te,Ps=Le,Is=Ae,Ss=(r,e,t,s)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return ms(r,t,s);case"!=":return Rs(r,t,s);case">":return vs(r,t,s);case">=":return ws(r,t,s);case"<":return Ps(r,t,s);case"<=":return Is(r,t,s);default:throw new TypeError(`Invalid operator: ${e}`)}};var kt=Ss;const Ns=D,Os=V,{safeRe:Q,t:ee}=W,ks=(r,e)=>{if(r instanceof Ns)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(e.includePrerelease?Q[ee.COERCEFULL]:Q[ee.COERCE]);else{const n=e.includePrerelease?Q[ee.COERCERTLFULL]:Q[ee.COERCERTL];let i;for(;(i=n.exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),n.lastIndex=i.index+i[1].length+i[2].length;n.lastIndex=-1}if(t===null)return null;const s=t[2],o=t[3]||"0",a=t[4]||"0",c=e.includePrerelease&&t[5]?`-${t[5]}`:"",R=e.includePrerelease&&t[6]?`+${t[6]}`:"";return Os(`${s}.${o}.${a}${c}${R}`,e)};var ys=ks;class Ls{constructor(){this.max=1e3,this.map=new Map}get(e){const t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){const o=this.map.keys().next().value;this.delete(o)}this.map.set(e,t)}return this}}var Ts=Ls,pe,He;function B(){if(He)return pe;He=1;const r=/\s+/g;class e{constructor(l,$){if($=o($),l instanceof e)return l.loose===!!$.loose&&l.includePrerelease===!!$.includePrerelease?l:new e(l.raw,$);if(l instanceof a)return this.raw=l.value,this.set=[[l]],this.formatted=void 0,this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=l.trim().replace(r," "),this.set=this.raw.split("||").map(g=>this.parseRange(g.trim())).filter(g=>g.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const g=this.set[0];if(this.set=this.set.filter(m=>!F(m[0])),this.set.length===0)this.set=[g];else if(this.set.length>1){for(const m of this.set)if(m.length===1&&A(m[0])){this.set=[m];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let l=0;l<this.set.length;l++){l>0&&(this.formatted+="||");const $=this.set[l];for(let g=0;g<$.length;g++)g>0&&(this.formatted+=" "),this.formatted+=$[g].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(l){const g=((this.options.includePrerelease&&E)|(this.options.loose&&u))+":"+l,m=s.get(g);if(m)return m;const d=this.options.loose,v=d?n[i.HYPHENRANGELOOSE]:n[i.HYPHENRANGE];l=l.replace(v,zt(this.options.includePrerelease)),c("hyphen replace",l),l=l.replace(n[i.COMPARATORTRIM],f),c("comparator trim",l),l=l.replace(n[i.TILDETRIM],h),c("tilde trim",l),l=l.replace(n[i.CARETTRIM],S),c("caret trim",l);let N=l.split(" ").map(y=>C(y,this.options)).join(" ").split(/\s+/).map(y=>Ut(y,this.options));d&&(N=N.filter(y=>(c("loose invalid filter",y,this.options),!!y.match(n[i.COMPARATORLOOSE])))),c("range list",N);const w=new Map,O=N.map(y=>new a(y,this.options));for(const y of O){if(F(y))return[y];w.set(y.value,y)}w.size>1&&w.has("")&&w.delete("");const b=[...w.values()];return s.set(g,b),b}intersects(l,$){if(!(l instanceof e))throw new TypeError("a Range is required");return this.set.some(g=>k(g,$)&&l.set.some(m=>k(m,$)&&g.every(d=>m.every(v=>d.intersects(v,$)))))}test(l){if(!l)return!1;if(typeof l=="string")try{l=new R(l,this.options)}catch{return!1}for(let $=0;$<this.set.length;$++)if(Vt(this.set[$],l,this.options))return!0;return!1}}pe=e;const t=Ts,s=new t,o=ke,a=ce(),c=oe,R=D,{safeRe:n,t:i,comparatorTrimReplace:f,tildeTrimReplace:h,caretTrimReplace:S}=W,{FLAG_INCLUDE_PRERELEASE:E,FLAG_LOOSE:u}=ie,F=p=>p.value==="<0.0.0-0",A=p=>p.value==="",k=(p,l)=>{let $=!0;const g=p.slice();let m=g.pop();for(;$&&g.length;)$=g.every(d=>m.intersects(d,l)),m=g.pop();return $},C=(p,l)=>(c("comp",p,l),p=_t(p,l),c("caret",p),p=M(p,l),c("tildes",p),p=jt(p,l),c("xrange",p),p=xt(p,l),c("stars",p),p),I=p=>!p||p.toLowerCase()==="x"||p==="*",M=(p,l)=>p.trim().split(/\s+/).map($=>X($,l)).join(" "),X=(p,l)=>{const $=l.loose?n[i.TILDELOOSE]:n[i.TILDE];return p.replace($,(g,m,d,v,N)=>{c("tilde",p,g,m,d,v,N);let w;return I(m)?w="":I(d)?w=`>=${m}.0.0 <${+m+1}.0.0-0`:I(v)?w=`>=${m}.${d}.0 <${m}.${+d+1}.0-0`:N?(c("replaceTilde pr",N),w=`>=${m}.${d}.${v}-${N} <${m}.${+d+1}.0-0`):w=`>=${m}.${d}.${v} <${m}.${+d+1}.0-0`,c("tilde return",w),w})},_t=(p,l)=>p.trim().split(/\s+/).map($=>Bt($,l)).join(" "),Bt=(p,l)=>{c("caret",p,l);const $=l.loose?n[i.CARETLOOSE]:n[i.CARET],g=l.includePrerelease?"-0":"";return p.replace($,(m,d,v,N,w)=>{c("caret",p,m,d,v,N,w);let O;return I(d)?O="":I(v)?O=`>=${d}.0.0${g} <${+d+1}.0.0-0`:I(N)?d==="0"?O=`>=${d}.${v}.0${g} <${d}.${+v+1}.0-0`:O=`>=${d}.${v}.0${g} <${+d+1}.0.0-0`:w?(c("replaceCaret pr",w),d==="0"?v==="0"?O=`>=${d}.${v}.${N}-${w} <${d}.${v}.${+N+1}-0`:O=`>=${d}.${v}.${N}-${w} <${d}.${+v+1}.0-0`:O=`>=${d}.${v}.${N}-${w} <${+d+1}.0.0-0`):(c("no pr"),d==="0"?v==="0"?O=`>=${d}.${v}.${N}${g} <${d}.${v}.${+N+1}-0`:O=`>=${d}.${v}.${N}${g} <${d}.${+v+1}.0-0`:O=`>=${d}.${v}.${N} <${+d+1}.0.0-0`),c("caret return",O),O})},jt=(p,l)=>(c("replaceXRanges",p,l),p.split(/\s+/).map($=>Gt($,l)).join(" ")),Gt=(p,l)=>{p=p.trim();const $=l.loose?n[i.XRANGELOOSE]:n[i.XRANGE];return p.replace($,(g,m,d,v,N,w)=>{c("xRange",p,g,m,d,v,N,w);const O=I(d),b=O||I(v),y=b||I(N),q=y;return m==="="&&q&&(m=""),w=l.includePrerelease?"-0":"",O?m===">"||m==="<"?g="<0.0.0-0":g="*":m&&q?(b&&(v=0),N=0,m===">"?(m=">=",b?(d=+d+1,v=0,N=0):(v=+v+1,N=0)):m==="<="&&(m="<",b?d=+d+1:v=+v+1),m==="<"&&(w="-0"),g=`${m+d}.${v}.${N}${w}`):b?g=`>=${d}.0.0${w} <${+d+1}.0.0-0`:y&&(g=`>=${d}.${v}.0${w} <${d}.${+v+1}.0-0`),c("xRange return",g),g})},xt=(p,l)=>(c("replaceStars",p,l),p.trim().replace(n[i.STAR],"")),Ut=(p,l)=>(c("replaceGTE0",p,l),p.trim().replace(n[l.includePrerelease?i.GTE0PRE:i.GTE0],"")),zt=p=>(l,$,g,m,d,v,N,w,O,b,y,q)=>(I(g)?$="":I(m)?$=`>=${g}.0.0${p?"-0":""}`:I(d)?$=`>=${g}.${m}.0${p?"-0":""}`:v?$=`>=${$}`:$=`>=${$}${p?"-0":""}`,I(O)?w="":I(b)?w=`<${+O+1}.0.0-0`:I(y)?w=`<${O}.${+b+1}.0-0`:q?w=`<=${O}.${b}.${y}-${q}`:p?w=`<${O}.${b}.${+y+1}-0`:w=`<=${w}`,`${$} ${w}`.trim()),Vt=(p,l,$)=>{for(let g=0;g<p.length;g++)if(!p[g].test(l))return!1;if(l.prerelease.length&&!$.includePrerelease){for(let g=0;g<p.length;g++)if(c(p[g].semver),p[g].semver!==a.ANY&&p[g].semver.prerelease.length>0){const m=p[g].semver;if(m.major===l.major&&m.minor===l.minor&&m.patch===l.patch)return!0}return!1}return!0};return pe}var he,We;function ce(){if(We)return he;We=1;const r=Symbol("SemVer ANY");class e{static get ANY(){return r}constructor(f,h){if(h=t(h),f instanceof e){if(f.loose===!!h.loose)return f;f=f.value}f=f.trim().split(/\s+/).join(" "),c("comparator",f,h),this.options=h,this.loose=!!h.loose,this.parse(f),this.semver===r?this.value="":this.value=this.operator+this.semver.version,c("comp",this)}parse(f){const h=this.options.loose?s[o.COMPARATORLOOSE]:s[o.COMPARATOR],S=f.match(h);if(!S)throw new TypeError(`Invalid comparator: ${f}`);this.operator=S[1]!==void 0?S[1]:"",this.operator==="="&&(this.operator=""),S[2]?this.semver=new R(S[2],this.options.loose):this.semver=r}toString(){return this.value}test(f){if(c("Comparator.test",f,this.options.loose),this.semver===r||f===r)return!0;if(typeof f=="string")try{f=new R(f,this.options)}catch{return!1}return a(f,this.operator,this.semver,this.options)}intersects(f,h){if(!(f instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new n(f.value,h).test(this.value):f.operator===""?f.value===""?!0:new n(this.value,h).test(f.semver):(h=t(h),h.includePrerelease&&(this.value==="<0.0.0-0"||f.value==="<0.0.0-0")||!h.includePrerelease&&(this.value.startsWith("<0.0.0")||f.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&f.operator.startsWith(">")||this.operator.startsWith("<")&&f.operator.startsWith("<")||this.semver.version===f.semver.version&&this.operator.includes("=")&&f.operator.includes("=")||a(this.semver,"<",f.semver,h)&&this.operator.startsWith(">")&&f.operator.startsWith("<")||a(this.semver,">",f.semver,h)&&this.operator.startsWith("<")&&f.operator.startsWith(">")))}}he=e;const t=ke,{safeRe:s,t:o}=W,a=kt,c=oe,R=D,n=B();return he}const As=B(),Cs=(r,e,t)=>{try{e=new As(e,t)}catch{return!1}return e.test(r)};var le=Cs;const Fs=B(),Ds=(r,e)=>new Fs(r,e).set.map(t=>t.map(s=>s.value).join(" ").trim().split(" "));var bs=Ds;const _s=D,Bs=B(),js=(r,e,t)=>{let s=null,o=null,a=null;try{a=new Bs(e,t)}catch{return null}return r.forEach(c=>{a.test(c)&&(!s||o.compare(c)===-1)&&(s=c,o=new _s(s,t))}),s};var Gs=js;const xs=D,Us=B(),zs=(r,e,t)=>{let s=null,o=null,a=null;try{a=new Us(e,t)}catch{return null}return r.forEach(c=>{a.test(c)&&(!s||o.compare(c)===1)&&(s=c,o=new xs(s,t))}),s};var Vs=zs;const Ee=D,Ms=B(),Ye=ae,Xs=(r,e)=>{r=new Ms(r,e);let t=new Ee("0.0.0");if(r.test(t)||(t=new Ee("0.0.0-0"),r.test(t)))return t;t=null;for(let s=0;s<r.set.length;++s){const o=r.set[s];let a=null;o.forEach(c=>{const R=new Ee(c.semver.version);switch(c.operator){case">":R.prerelease.length===0?R.patch++:R.prerelease.push(0),R.raw=R.format();case"":case">=":(!a||Ye(R,a))&&(a=R);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${c.operator}`)}}),a&&(!t||Ye(t,a))&&(t=a)}return t&&r.test(t)?t:null};var qs=Xs;const Js=B(),Hs=(r,e)=>{try{return new Js(r,e).range||"*"}catch{return null}};var Ws=Hs;const Ys=D,yt=ce(),{ANY:Ks}=yt,Zs=B(),Qs=le,Ke=ae,Ze=Le,en=Ae,tn=Te,rn=(r,e,t,s)=>{r=new Ys(r,s),e=new Zs(e,s);let o,a,c,R,n;switch(t){case">":o=Ke,a=en,c=Ze,R=">",n=">=";break;case"<":o=Ze,a=tn,c=Ke,R="<",n="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Qs(r,e,s))return!1;for(let i=0;i<e.set.length;++i){const f=e.set[i];let h=null,S=null;if(f.forEach(E=>{E.semver===Ks&&(E=new yt(">=0.0.0")),h=h||E,S=S||E,o(E.semver,h.semver,s)?h=E:c(E.semver,S.semver,s)&&(S=E)}),h.operator===R||h.operator===n||(!S.operator||S.operator===R)&&a(r,S.semver))return!1;if(S.operator===n&&c(r,S.semver))return!1}return!0};var Ce=rn;const sn=Ce,nn=(r,e,t)=>sn(r,e,">",t);var on=nn;const an=Ce,cn=(r,e,t)=>an(r,e,"<",t);var ln=cn;const Qe=B(),fn=(r,e,t)=>(r=new Qe(r,t),e=new Qe(e,t),r.intersects(e,t));var un=fn;const pn=le,hn=_;var En=(r,e,t)=>{const s=[];let o=null,a=null;const c=r.sort((f,h)=>hn(f,h,t));for(const f of c)pn(f,e,t)?(a=f,o||(o=f)):(a&&s.push([o,a]),a=null,o=null);o&&s.push([o,null]);const R=[];for(const[f,h]of s)f===h?R.push(f):!h&&f===c[0]?R.push("*"):h?f===c[0]?R.push(`<=${h}`):R.push(`${f} - ${h}`):R.push(`>=${f}`);const n=R.join(" || "),i=typeof e.raw=="string"?e.raw:String(e);return n.length<i.length?n:e};const et=B(),Fe=ce(),{ANY:ge}=Fe,H=le,De=_,gn=(r,e,t={})=>{if(r===e)return!0;r=new et(r,t),e=new et(e,t);let s=!1;e:for(const o of r.set){for(const a of e.set){const c=$n(o,a,t);if(s=s||c!==null,c)continue e}if(s)return!1}return!0},dn=[new Fe(">=0.0.0-0")],tt=[new Fe(">=0.0.0")],$n=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===ge){if(e.length===1&&e[0].semver===ge)return!0;t.includePrerelease?r=dn:r=tt}if(e.length===1&&e[0].semver===ge){if(t.includePrerelease)return!0;e=tt}const s=new Set;let o,a;for(const E of r)E.operator===">"||E.operator===">="?o=rt(o,E,t):E.operator==="<"||E.operator==="<="?a=st(a,E,t):s.add(E.semver);if(s.size>1)return null;let c;if(o&&a){if(c=De(o.semver,a.semver,t),c>0)return null;if(c===0&&(o.operator!==">="||a.operator!=="<="))return null}for(const E of s){if(o&&!H(E,String(o),t)||a&&!H(E,String(a),t))return null;for(const u of e)if(!H(E,String(u),t))return!1;return!0}let R,n,i,f,h=a&&!t.includePrerelease&&a.semver.prerelease.length?a.semver:!1,S=o&&!t.includePrerelease&&o.semver.prerelease.length?o.semver:!1;h&&h.prerelease.length===1&&a.operator==="<"&&h.prerelease[0]===0&&(h=!1);for(const E of e){if(f=f||E.operator===">"||E.operator===">=",i=i||E.operator==="<"||E.operator==="<=",o){if(S&&E.semver.prerelease&&E.semver.prerelease.length&&E.semver.major===S.major&&E.semver.minor===S.minor&&E.semver.patch===S.patch&&(S=!1),E.operator===">"||E.operator===">="){if(R=rt(o,E,t),R===E&&R!==o)return!1}else if(o.operator===">="&&!H(o.semver,String(E),t))return!1}if(a){if(h&&E.semver.prerelease&&E.semver.prerelease.length&&E.semver.major===h.major&&E.semver.minor===h.minor&&E.semver.patch===h.patch&&(h=!1),E.operator==="<"||E.operator==="<="){if(n=st(a,E,t),n===E&&n!==a)return!1}else if(a.operator==="<="&&!H(a.semver,String(E),t))return!1}if(!E.operator&&(a||o)&&c!==0)return!1}return!(o&&i&&!a&&c!==0||a&&f&&!o&&c!==0||S||h)},rt=(r,e,t)=>{if(!r)return e;const s=De(r.semver,e.semver,t);return s>0?r:s<0||e.operator===">"&&r.operator===">="?e:r},st=(r,e,t)=>{if(!r)return e;const s=De(r.semver,e.semver,t);return s<0?r:s>0||e.operator==="<"&&r.operator==="<="?e:r};var mn=gn;const de=W,nt=ie,Rn=D,it=St,vn=V,wn=Or,Pn=Lr,In=Ar,Sn=Fr,Nn=_r,On=Gr,kn=zr,yn=Xr,Ln=_,Tn=Wr,An=Zr,Cn=ye,Fn=rs,Dn=is,bn=ae,_n=Le,Bn=Nt,jn=Ot,Gn=Te,xn=Ae,Un=kt,zn=ys,Vn=ce(),Mn=B(),Xn=le,qn=bs,Jn=Gs,Hn=Vs,Wn=qs,Yn=Ws,Kn=Ce,Zn=on,Qn=ln,ei=un,ti=En,ri=mn;var Lt={parse:vn,valid:wn,clean:Pn,inc:In,diff:Sn,major:Nn,minor:On,patch:kn,prerelease:yn,compare:Ln,rcompare:Tn,compareLoose:An,compareBuild:Cn,sort:Fn,rsort:Dn,gt:bn,lt:_n,eq:Bn,neq:jn,gte:Gn,lte:xn,cmp:Un,coerce:zn,Comparator:Vn,Range:Mn,satisfies:Xn,toComparators:qn,maxSatisfying:Jn,minSatisfying:Hn,minVersion:Wn,validRange:Yn,outside:Kn,gtr:Zn,ltr:Qn,intersects:ei,simplifyRange:ti,subset:ri,SemVer:Rn,re:de.re,src:de.src,tokens:de.t,SEMVER_SPEC_VERSION:nt.SEMVER_SPEC_VERSION,RELEASE_TYPES:nt.RELEASE_TYPES,compareIdentifiers:it.compareIdentifiers,rcompareIdentifiers:it.rcompareIdentifiers};const si=fr(Lt),ni=L.z.string().regex(/^(?:s3:|file:)/),Tt=L.z.object({organization:L.z.string(),package:L.z.string(),version:P.SemVer.optional(),files:L.z.record(L.z.string().regex(/^[^\/]+$/),L.z.string()).default({}),meta:L.z.object({}).passthrough()}),At=L.z.object({registries:L.z.record(L.z.string(),ni).default({}),registry:L.z.string().optional()}),be=At.merge(Tt).required({registry:!0,version:!0}),fe=be.partial().required({registries:!0,files:!0}),Ct="pl.package.json",Ft="pl.package.yaml",ue="v1/";function ii(r){return`${ue}${r.organization}/${r.package}/${r.version}`}function _e(r,e){return`${ue}${r.organization}/${r.package}/${r.version}/${e}`}function we(r){return`${ue}${r.organization}/${r.package}/overview.json`}const te=`${ue}overview.json`,Be="meta.json",Pe="_updates_v1/per_package_version/";function oi(r,e){return`${Pe}${r.organization}/${r.package}/${r.version}/${e}`}const ai=/(?<packageKeyWithoutVersion>(?<organization>[^\/]+)\/(?<pkg>[^\/]+))\/(?<version>[^\/]+)\/(?<seed>[^\/]+)$/,Dt="_updates_v1/_global_update_in",ot="_updates_v1/_global_update_out";class ci{constructor(e,t){this.storage=e,this.logger=t}constructNewPackage(e){return new li(this.storage,e)}async updateRegistry(){var c,R,n,i,f,h,S,E;(c=this.logger)==null||c.info("Initiating registry refresh...");const e=new Map,t=[],s=await this.storage.listFiles(Pe);(R=this.logger)==null||R.info("Packages to be updated:");for(const u of s){const F=u.match(ai);if(!F)continue;t.push(u);const{packageKeyWithoutVersion:A,organization:k,pkg:C,version:I,seed:M}=F.groups;let X=e.get(A);X?X.versions.has(I)||X.versions.add(I):e.set(A,{package:{organization:k,package:C},versions:new Set([I])}),(n=this.logger)==null||n.info(` - ${k}:${C}:${I}`)}const o=await this.storage.getFile(te);let a=o===void 0?[]:JSON.parse(o.toString());(i=this.logger)==null||i.info(`Global overview loaded, ${a.length} records`);for(const[,u]of e.entries()){const F=we(u.package),A=await this.storage.getFile(F);let k=A===void 0?[]:JSON.parse(A.toString());(f=this.logger)==null||f.info(`Updating ${u.package.organization}:${u.package.package} overview, ${k.length} records`),k=k.filter(C=>!u.versions.has(C.version));for(const[C]of u.versions.entries()){const I=C.toString(),M=await this.storage.getFile(_e({...u.package,version:I},Be));M&&k.push({version:I,meta:JSON.parse(M.toString())})}k.sort((C,I)=>si.compare(I.version,C.version)),await this.storage.putFile(F,Buffer.from(JSON.stringify(k))),(h=this.logger)==null||h.info(`Done (${k.length} records)`),a=a.filter(C=>C.organization!==u.package.organization||C.package!==u.package.package),a.push({organization:u.package.organization,package:u.package.package,allVersions:k.map(C=>C.version).reverse(),latestVersion:k[0].version,latestMeta:k[0].meta})}await this.storage.putFile(te,Buffer.from(JSON.stringify(a))),(S=this.logger)==null||S.info(`Global overview updated (${a.length} records)`),await this.storage.deleteFiles(...t.map(u=>`${Pe}${u}`)),(E=this.logger)==null||E.info("Version update requests cleared")}async updateIfNeeded(e=!1){var o,a;(o=this.logger)==null||o.info("Checking if registry requires refresh...");const t=await this.storage.getFile(Dt),s=await this.storage.getFile(ot);!e&&t===void 0&&s===void 0||!e&&t!==void 0&&s!==void 0&&t.equals(s)||(await this.updateRegistry(),t&&(await this.storage.putFile(ot,t),(a=this.logger)==null||a.info("Refresh finished")))}async getPackageOverview(e){const t=await this.storage.getFile(we(e));if(t!==void 0)return JSON.parse(t.toString())}async getGlobalOverview(){const e=await this.storage.getFile(te);if(e!==void 0)return JSON.parse(e.toString())}}class li{constructor(e,t){Y(this,"metaAdded",!1);Y(this,"seed",Yt.randomUUID());this.storage=e,this.name=t}async addFile(e,t){await this.storage.putFile(_e(this.name,e),t)}async writeMeta(e){await this.addFile(Be,Buffer.from(JSON.stringify(e))),this.metaAdded=!0}async finish(){if(!this.metaAdded)throw new Error("meta not added");await this.storage.putFile(oi(this.name,this.seed),Buffer.of(0)),await this.storage.putFile(Dt,Buffer.from(this.seed))}}function U(r,e){return e===void 0?r:{...r,...e,registries:{...r.registries,...e.registries},files:{...r.files,...e.files}}}async function $e(r){return Ne(r,e=>fe.parse(JSON.parse(e.toString())))}async function me(r){return Ne(r,e=>fe.parse(Ht.parse(e.toString())))}async function fi(){let r=fe.parse({});return r=U(r,await $e("./.pl.reg.json")),r=U(r,await me("./.pl.reg.yaml")),r=U(r,await $e(`${je.homedir()}/.pl.reg.json`)),r=U(r,await me(`${je.homedir()}/.pl.reg.yaml`)),r=U(r,await $e(Ct)),r=U(r,await me(Ft)),r}class bt{constructor(e){this.conf=e}createRegistry(e){let t=this.conf.registry;if(!t.startsWith("file:")&&!t.startsWith("s3:")){const s=this.conf.registries[t];if(!s)throw new Error(`Registry with alias "${t}" not found`);t=s}return new ci(wt(t),e)}get fullPackageName(){return{organization:this.conf.organization,package:this.conf.package,version:this.conf.version}}}async function ui(r){const e=await fi();return new bt(be.parse(U(e,r)))}exports.BlockComponentsConsolidate=mt;exports.BlockComponentsDescription=$t;exports.BlockDescriptionPackageJsonField=se;exports.BlockPackDescriptionConsolidateToFolder=Rt;exports.BlockPackDescriptionManifestAddRelativePathPrefix=sr;exports.BlockPackMetaConsolidate=dt;exports.BlockPackMetaDescription=gt;exports.BlockPackMetaEmbed=rr;exports.GlobalOverviewPath=te;exports.MetaFile=Be;exports.PlPackageConfigData=Tt;exports.PlPackageJsonConfigFile=Ct;exports.PlPackageYamlConfigFile=Ft;exports.PlRegCommonConfigData=At;exports.PlRegFullPackageConfigData=be;exports.PlRegPackageConfig=bt;exports.PlRegPackageConfigDataShard=fe;exports.ResolvedBlockPackDescriptionFromPackageJson=Se;exports.ResolvedModuleFile=ft;exports.ResolvedModuleFolder=ut;exports.absoluteToBase64=ht;exports.absoluteToString=pt;exports.buildBlockPackDist=nr;exports.cpAbsoluteToRelative=re;exports.getConfig=ui;exports.loadPackDescription=ar;exports.loadPackDescriptionRaw=vt;exports.mapLocalToAbsolute=Re;exports.packFolderToRelativeTgz=Et;exports.packageContentPrefix=ii;exports.packageOverviewPath=we;exports.parsePackageName=Oe;exports.payloadFilePath=_e;exports.relativeToExplicitBinary64=er;exports.relativeToExplicitBytes=tr;exports.relativeToExplicitText=Qt;exports.semver=Lt;exports.storageByUrl=wt;exports.tryLoadPackDescription=or;
|
|
3
|
+
//# sourceMappingURL=config-DJqN5LSx.js.map
|