@cmflow/cli 3.4.0-beta.6 → 3.4.0-beta.8
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/README.md +11 -14
- package/dist/bin/cm.mjs +2 -2
- package/dist/common-DvEL7rzl.mjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/semantic/core/prepare/artifacts.mjs +1 -1
- package/dist/semantic/core/publish-packages.mjs.map +1 -1
- package/dist/semantic/core/push-release.mjs.map +1 -1
- package/dist/{write-packages--jWqJCd-.mjs → write-packages-CdhvWsMw.mjs} +2 -2
- package/dist/{write-packages--jWqJCd-.mjs.map → write-packages-CdhvWsMw.mjs.map} +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"../../../get-config-D9xSS1Lq.mjs";import{n as t,t as n}from"../../../write-packages
|
|
1
|
+
import{n as e}from"../../../get-config-D9xSS1Lq.mjs";import{n as t,t as n}from"../../../write-packages-CdhvWsMw.mjs";async function r(r,i){i.config=e(),await t(i),await n({...i,version:i.nextRelease.version})}export{r as prepare};
|
|
2
2
|
//# sourceMappingURL=artifacts.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-packages.mjs","names":["chalk"],"sources":["../../../src/common/packages/publish-packages.ts","../../../src/semantic/core/publish-packages.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { npm } from \"../cli/npm.js\";\nimport type { CmContext, PackageJson } from \"../interfaces/index.js\";\nimport { findPackages } from \"./find-packages.js\";\n\ninterface PublishPackageLocation {\n cwd: string;\n url: string;\n tag?: string;\n}\n\nfunction isLatestTagError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n return /Cannot implicitly apply the \"latest\" tag/.test(\n [error.message, (error as Error & { stdout?: string }).stdout, (error as Error & { stderr?: string }).stderr].filter(Boolean).join(\"\\n\")\n );\n}\n\nasync function writeNpmrc(directory: string, registries: string[], scope: string, trustedPublishing: boolean): Promise<string> {\n const npmrcPath = path.join(directory, \".npmrc\");\n const content = registries\n .map((url) => {\n const registry = url.replace(/^https?:/, \"\").replace(/\\/$/, \"\");\n\n if (registry.includes(\"github\")) {\n return `${scope}:registry=https:${registry}\\n${registry}/:_authToken=\\${GH_TOKEN}`;\n }\n\n if (registry.includes(\"npmjs\")) {\n return trustedPublishing ? \"\" : `${registry}/:_authToken=\\${NPM_TOKEN}`;\n }\n\n return `${registry}/:_authToken=\\${NODE_AUTH_TOKEN}`;\n })\n .filter(Boolean)\n .join(\"\\n\");\n\n await fs.writeFile(npmrcPath, content, \"utf8\");\n return npmrcPath;\n}\n\nexport async function publishPackage(pkg: PackageJson, { cwd, url, tag }: PublishPackageLocation, context: CmContext): Promise<void> {\n const trustedPublishing = context.trustedPublishing ?? context.config.trustedPublishing;\n const npmrcPath = await writeNpmrc(cwd, [url], pkg.name.split(\"/\")[0], trustedPublishing);\n\n if (context.options?.dryRun) {\n npm\n .pack()\n .cwd(cwd)\n .sync({ env: { ...process.env, NPM_TOKEN: \"test\" } });\n return;\n }\n\n const access = context.config.npmAccess;\n const args = [\"--ignore-scripts\", \"--userconfig\", npmrcPath, \"--access\", access, \"--registry\", url];\n\n if (tag) {\n args.push(\"--tag\", tag);\n }\n\n await npm.publish(...args).cwd(cwd);\n}\n\nexport async function publishPackages(context: CmContext): Promise<void> {\n if (context.config.skipNpmPublish) {\n context.logger.info(\"Publish packages skipped (flow.skipNpmPublish is enabled).\");\n return;\n }\n\n const registry = context.registry ?? context.config.registry;\n const urls = [...new Set([...(context.registries ?? context.config.registries), registry].filter(Boolean))];\n const fallbackTag = context.npmFallbackDistTag ?? context.config.npmFallbackDistTag;\n\n const errors: { pkg: PackageJson; registry?: string; error: unknown }[] = [];\n const packages = await findPackages(context);\n\n const promises = packages\n .filter(({ pkg }) => !pkg.private)\n .map(async ({ distPath, pkg }) => {\n try {\n const packageRegistries = pkg.flow?.registries ?? urls;\n\n for (const url of packageRegistries) {\n try {\n context.logger.info(`Publish package ${chalk.cyan(pkg.name)} on ${url}`);\n\n await publishPackage(pkg, { cwd: distPath, url }, context);\n } catch (error) {\n if (isLatestTagError(error)) {\n const tag = context.npmFallbackDistTag || \"latest\";\n\n context.logger.info(`Retry ${chalk.cyan(pkg.name)} with an explicit ${fallbackTag} tag.`);\n\n await publishPackage(pkg, { cwd: distPath, url, tag }, context);\n } else {\n errors.push({ pkg, registry: url, error });\n }\n }\n }\n } catch (error) {\n errors.push({ pkg, error });\n }\n });\n\n await Promise.all(promises);\n\n if (errors.length) {\n throw new Error(\n `Some packages have not been published:\\n${errors\n .map(({ pkg, registry: failedRegistry, error }) =>\n [pkg.name, failedRegistry, error instanceof Error ? error.message : String(error)].filter(Boolean).join(\" - \")\n )\n .join(\"\\n\")}`\n );\n }\n}\n","import { getConfig } from \"../../common/get-config.js\";\nimport type { SemanticContext } from \"../../common/interfaces/index.js\";\nimport { publishPackages } from \"../../common/packages/publish-packages.js\";\n\nexport interface PublishPackagesOptions {\n dryRun?: boolean;\n}\n\n/** Semantic Release plugin adapter. */\nexport async function publish(options: PublishPackagesOptions, context: SemanticContext): Promise<void> {\n context.config = getConfig();\n\n await publishPackages({ ...context, ...options });\n}\n"],"mappings":"gUAaA,SAAS,EAAiB,EAAyB,
|
|
1
|
+
{"version":3,"file":"publish-packages.mjs","names":["chalk"],"sources":["../../../src/common/packages/publish-packages.ts","../../../src/semantic/core/publish-packages.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { npm } from \"../cli/npm.js\";\nimport type { CmContext, PackageJson } from \"../interfaces/index.js\";\nimport { findPackages } from \"./find-packages.js\";\n\ninterface PublishPackageLocation {\n cwd: string;\n url: string;\n tag?: string;\n}\n\nfunction isLatestTagError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false;\n }\n return /Cannot implicitly apply the \"latest\" tag/.test(\n [error.message, (error as Error & { stdout?: string }).stdout, (error as Error & { stderr?: string }).stderr].filter(Boolean).join(\"\\n\")\n );\n}\n\nasync function writeNpmrc(directory: string, registries: string[], scope: string, trustedPublishing: boolean): Promise<string> {\n const npmrcPath = path.join(directory, \".npmrc\");\n const content = registries\n .map((url) => {\n const registry = url.replace(/^https?:/, \"\").replace(/\\/$/, \"\");\n\n if (registry.includes(\"github\")) {\n return `${scope}:registry=https:${registry}\\n${registry}/:_authToken=\\${GH_TOKEN}`;\n }\n\n if (registry.includes(\"npmjs\")) {\n return trustedPublishing ? \"\" : `${registry}/:_authToken=\\${NPM_TOKEN}`;\n }\n\n return `${registry}/:_authToken=\\${NODE_AUTH_TOKEN}`;\n })\n .filter(Boolean)\n .join(\"\\n\");\n\n await fs.writeFile(npmrcPath, content, \"utf8\");\n return npmrcPath;\n}\n\nexport async function publishPackage(pkg: PackageJson, { cwd, url, tag }: PublishPackageLocation, context: CmContext): Promise<void> {\n const trustedPublishing = context.trustedPublishing ?? context.config.trustedPublishing;\n const npmrcPath = await writeNpmrc(cwd, [url], pkg.name.split(\"/\")[0], trustedPublishing);\n\n if (context.options?.dryRun) {\n npm\n .pack()\n .cwd(cwd)\n .sync({ env: { ...process.env, NPM_TOKEN: \"test\" } });\n return;\n }\n\n const access = context.config.npmAccess;\n const args = [\"--ignore-scripts\", \"--userconfig\", npmrcPath, \"--access\", access, \"--registry\", url];\n\n if (tag) {\n args.push(\"--tag\", tag);\n }\n\n await npm.publish(...args).cwd(cwd);\n}\n\nexport async function publishPackages(context: CmContext): Promise<void> {\n if (context.config.skipNpmPublish) {\n context.logger.info(\"Publish packages skipped (flow.skipNpmPublish is enabled).\");\n return;\n }\n\n const registry = context.registry ?? context.config.registry;\n const urls = [...new Set([...(context.registries ?? context.config.registries), registry].filter(Boolean))];\n const fallbackTag = context.npmFallbackDistTag ?? context.config.npmFallbackDistTag;\n\n const errors: { pkg: PackageJson; registry?: string; error: unknown }[] = [];\n const packages = await findPackages(context);\n\n const promises = packages\n .filter(({ pkg }) => !pkg.private)\n .map(async ({ distPath, pkg }) => {\n try {\n const packageRegistries = pkg.flow?.registries ?? urls;\n\n for (const url of packageRegistries) {\n try {\n context.logger.info(`Publish package ${chalk.cyan(pkg.name)} on ${url}`);\n\n await publishPackage(pkg, { cwd: distPath, url }, context);\n } catch (error) {\n if (isLatestTagError(error)) {\n const tag = context.npmFallbackDistTag || \"latest\";\n\n context.logger.info(`Retry ${chalk.cyan(pkg.name)} with an explicit ${fallbackTag} tag.`);\n\n await publishPackage(pkg, { cwd: distPath, url, tag }, context);\n } else {\n errors.push({ pkg, registry: url, error });\n }\n }\n }\n } catch (error) {\n errors.push({ pkg, error });\n }\n });\n\n await Promise.all(promises);\n\n if (errors.length) {\n throw new Error(\n `Some packages have not been published:\\n${errors\n .map(({ pkg, registry: failedRegistry, error }) =>\n [pkg.name, failedRegistry, error instanceof Error ? error.message : String(error)].filter(Boolean).join(\" - \")\n )\n .join(\"\\n\")}`\n );\n }\n}\n","import { getConfig } from \"../../common/get-config.js\";\nimport type { SemanticContext } from \"../../common/interfaces/index.js\";\nimport { publishPackages } from \"../../common/packages/publish-packages.js\";\n\nexport interface PublishPackagesOptions {\n dryRun?: boolean;\n}\n\n/** Semantic Release plugin adapter. */\nexport async function publish(options: PublishPackagesOptions, context: SemanticContext): Promise<void> {\n context.config = getConfig();\n\n await publishPackages({ ...context, ...options });\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-release.mjs","names":[],"sources":["../../../src/semantic/core/push-release.ts"],"sourcesContent":["import { getConfig, git } from \"../../common/index.js\";\nimport type { SemanticContext } from \"../../common/interfaces/index.js\";\n\n/** Push the release commit and semantic-release tag before publishing packages to npm. */\nexport function publish(_: Record<string, unknown>, context: SemanticContext): void {\n if (context.options?.dryRun) return;\n\n context.config = getConfig();\n const tag = context.nextRelease?.gitTag;\n if (!tag) throw new Error(\"No release tag is available to push before publishing packages.\");\n\n const origin = context.config.ORIGIN as string;\n const branchRef = `HEAD:refs/heads/${context.branch.name}`;\n context.logger.info(`Push ${context.branch.name} and ${tag} before publishing packages.`);\n git.push(\"--quiet\", origin, branchRef, `refs/tags/${tag}`).sync();\n}\n"],"mappings":"2FAIA,SAAgB,EAAQ,EAA4B,EAAgC,CAClF,GAAI,EAAQ,SAAS,
|
|
1
|
+
{"version":3,"file":"push-release.mjs","names":[],"sources":["../../../src/semantic/core/push-release.ts"],"sourcesContent":["import { getConfig, git } from \"../../common/index.js\";\nimport type { SemanticContext } from \"../../common/interfaces/index.js\";\n\n/** Push the release commit and semantic-release tag before publishing packages to npm. */\nexport function publish(_: Record<string, unknown>, context: SemanticContext): void {\n if (context.options?.dryRun) {\n return;\n }\n\n context.config = getConfig();\n const tag = context.nextRelease?.gitTag;\n if (!tag) {\n throw new Error(\"No release tag is available to push before publishing packages.\");\n }\n\n const origin = context.config.ORIGIN as string;\n const branchRef = `HEAD:refs/heads/${context.branch.name}`;\n context.logger.info(`Push ${context.branch.name} and ${tag} before publishing packages.`);\n git.push(\"--quiet\", origin, branchRef, `refs/tags/${tag}`).sync();\n}\n"],"mappings":"2FAIA,SAAgB,EAAQ,EAA4B,EAAgC,CAClF,GAAI,EAAQ,SAAS,OACnB,OAGF,EAAQ,OAAS,EAAU,EAC3B,IAAM,EAAM,EAAQ,aAAa,OACjC,GAAI,CAAC,EACH,MAAU,MAAM,iEAAiE,EAGnF,IAAM,EAAS,EAAQ,OAAO,OACxB,EAAY,mBAAmB,EAAQ,OAAO,OACpD,EAAQ,OAAO,KAAK,QAAQ,EAAQ,OAAO,KAAK,OAAO,EAAI,6BAA6B,EACxF,EAAI,KAAK,UAAW,EAAQ,EAAW,aAAa,GAAK,CAAC,CAAC,KAAK,CAClE"}
|
|
@@ -6,5 +6,5 @@ import{i as e,t}from"./rolldown-runtime-Csi-cuKc.mjs";import{t as n}from"./sourc
|
|
|
6
6
|
* Released under the MIT License.
|
|
7
7
|
*/
|
|
8
8
|
t.exports=function(e,t){if(typeof e!=`string`)throw TypeError(`expected path to be a string`);if(e===`\\`||e===`/`)return`/`;var n=e.length;if(n<=1)return e;var r=``;if(n>4&&e[3]===`\\`){var i=e[2];(i===`?`||i===`.`)&&e.slice(0,2)===`\\\\`&&(e=e.slice(2),r=`//`)}var a=e.split(/[/\\]+/);return t!==!1&&a[a.length-1]===``&&a.pop(),r+a.join(`/`)}})),p=e(i(),1),m=e(f(),1);async function h(e,t={}){return(await o(e,t)).map(e=>(0,m.default)(e))}async function g(e,{baseDir:t,outputDir:n}){let r=(await h(e,{cwd:t,dot:!0,absolute:!0})).map(e=>p.default.copy(e,e.replace(t,n)));await Promise.all(r)}function _(e){return l(e)?u(e,{encoding:`utf8`}).split(`
|
|
9
|
-
`).filter(Boolean).map(e=>`!${e}`):[]}async function v(e){let t=(await s(e)).map(async e=>{let t=d(e.path);await g([`*`,`*/**`,`.*`,`**/.*`,`!package.json`,`!tsconfig.compile.json`,`!test/**`,`!package-lock.json`,`!yarn.lock`,`!node_modules/**`,..._(e.path.replace(`package.json`,`.npmignore`))],{baseDir:t,outputDir:e.distPath})});await Promise.all(t)}var y=e(r(),1),b=e(n(),1);function x(e={},t,n,r){let{char:i=``}=n,{silent:a,logger:o}=r;return Object.entries(e).forEach(([n,r])=>{if(t.has(n)){let s=r.replace(/^\^/,``),c=t.get(n);y.default.valid(s)&&y.default.valid(c)&&y.default.lt(s,c)&&(e[n]=i+c,!a&&o.info(`Update`,b.default.blue(n),b.default.cyan(s),`to`,b.default.cyan(i+c)))}}),e}async function S(e){let{silent:t,logger:n,config:{BRANCH_NAME:r,npmDistTag:i},dependencies:o=new Map,pkgMapper:l=({pkg:e})=>e}=e,u=i;r&&[`alpha`,`beta`,`rc`].includes(r)&&(u=r);let d=await s(e);d.map(({pkg:t})=>{t.version=e.version,o.set(t.name,t.version)});let f=d.map(async({distPath:r,
|
|
10
|
-
//# sourceMappingURL=write-packages
|
|
9
|
+
`).filter(Boolean).map(e=>`!${e}`):[]}async function v(e){let t=(await s(e)).map(async e=>{let t=d(e.path);await g([`*`,`*/**`,`.*`,`**/.*`,`!package.json`,`!tsconfig.compile.json`,`!test/**`,`!package-lock.json`,`!yarn.lock`,`!node_modules/**`,..._(e.path.replace(`package.json`,`.npmignore`))],{baseDir:t,outputDir:e.distPath})});await Promise.all(t)}var y=e(r(),1),b=e(n(),1);function x(e={},t,n,r){let{char:i=``}=n,{silent:a,logger:o}=r;return Object.entries(e).forEach(([n,r])=>{if(t.has(n)){let s=r.replace(/^\^/,``),c=t.get(n);y.default.valid(s)&&y.default.valid(c)&&y.default.lt(s,c)&&(e[n]=i+c,!a&&o.info(`Update`,b.default.blue(n),b.default.cyan(s),`to`,b.default.cyan(i+c)))}}),e}async function S(e){let{silent:t,logger:n,config:{BRANCH_NAME:r,npmDistTag:i},dependencies:o=new Map,pkgMapper:l=({pkg:e})=>e}=e,u=i;r&&[`alpha`,`beta`,`rc`].includes(r)&&(u=r);let d=await s(e);d.map(({pkg:t})=>{t.version=e.version,o.set(t.name,t.version)});let f=d.map(async({distPath:r,pkg:i})=>(t||n.info(`Write package.json`,b.default.cyan(i.name)),i.dependencies=x(i.dependencies,o,{},e),i.devDependencies=x(i.devDependencies,o,{},e),i.peerDependencies=x(i.peerDependencies,o,{char:`^`},e),i=l({pkg:i}),u&&(i.publishConfig={...i.publishConfig,tag:u}),i.main?.includes(`/src/index.ts`)&&(i.main=`./lib/index.js`,i.typings=`lib/index.d.ts`),Object.entries(i.dependencies||{}).forEach(([t,n])=>{i.dependencies&&n.startsWith(`workspace:`)&&(i.dependencies[t]=n.replace(`workspace:*`,e.version))}),Object.entries(i.devDependencies||{}).forEach(([t,n])=>{i.devDependencies&&n.startsWith(`workspace:`)&&(i.devDependencies[t]=n.replace(`workspace:*`,e.version))}),a(c(r,`package.json`),i)));await Promise.all(f)}export{v as n,S as t};
|
|
10
|
+
//# sourceMappingURL=write-packages-CdhvWsMw.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-packages
|
|
1
|
+
{"version":3,"file":"write-packages-CdhvWsMw.mjs","names":["normalizePath","fs","dirname","semver","chalk","chalk"],"sources":["../../../node_modules/normalize-path/index.js","../src/common/glob.ts","../src/common/copy.ts","../src/common/packages/copy-packages.ts","../src/common/packages/update-versions.ts","../src/common/packages/write-packages.ts"],"sourcesContent":["/*!\n * normalize-path <https://github.com/jonschlinkert/normalize-path>\n *\n * Copyright (c) 2014-2018, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nmodule.exports = function(path, stripTrailing) {\n if (typeof path !== 'string') {\n throw new TypeError('expected path to be a string');\n }\n\n if (path === '\\\\' || path === '/') return '/';\n\n var len = path.length;\n if (len <= 1) return path;\n\n // ensure that win32 namespaces has two leading slashes, so that the path is\n // handled properly by the win32 version of path.parse() after being normalized\n // https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces\n var prefix = '';\n if (len > 4 && path[3] === '\\\\') {\n var ch = path[2];\n if ((ch === '?' || ch === '.') && path.slice(0, 2) === '\\\\\\\\') {\n path = path.slice(2);\n prefix = '//';\n }\n }\n\n var segs = path.split(/[/\\\\]+/);\n if (stripTrailing !== false && segs[segs.length - 1] === '') {\n segs.pop();\n }\n return prefix + segs.join('/');\n};\n","import { globby, globbySync, type Options } from \"globby\";\nimport normalizePath from \"normalize-path\";\n\nexport function globSync(patterns: string[], options: Options = {}): string[] {\n return (globbySync(patterns, options) as unknown as string[]).map((file) => normalizePath(file));\n}\n\nexport async function globAsync(patterns: string[], options: Options = {}): Promise<string[]> {\n const files = await globby(patterns, options);\n return (files as unknown as string[]).map((file) => normalizePath(file));\n}\n","import fs from \"fs-extra\";\nimport { globAsync } from \"./glob.js\";\n\nexport async function copy(patterns: string[], { baseDir, outputDir }: { baseDir: string; outputDir: string }): Promise<void> {\n const files = await globAsync(patterns, {\n cwd: baseDir,\n dot: true,\n absolute: true\n });\n\n const promises = files.map((file: string) => fs.copy(file, file.replace(baseDir, outputDir)));\n\n await Promise.all(promises);\n}\n","import { existsSync, readFileSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { copy } from \"../copy.js\";\nimport type { CmContext } from \"../interfaces/index.js\";\nimport { findPackages } from \"./find-packages.js\";\n\nfunction getPatternsFormNmpIgnore(file: string): string[] {\n if (existsSync(file)) {\n return readFileSync(file, { encoding: \"utf8\" })\n .split(\"\\n\")\n .filter(Boolean)\n .map((o) => `!${o}`);\n }\n\n return [];\n}\n\nexport async function copyPackages(context: CmContext): Promise<void> {\n const packages = await findPackages(context);\n\n const promises = packages.map(async (pkg) => {\n const pkgDir = dirname(pkg.path);\n const file = pkg.path.replace(\"package.json\", \".npmignore\");\n\n const patterns = [\n \"*\",\n \"*/**\",\n \".*\",\n \"**/.*\",\n \"!package.json\",\n \"!tsconfig.compile.json\",\n \"!test/**\",\n \"!package-lock.json\",\n \"!yarn.lock\",\n \"!node_modules/**\",\n ...getPatternsFormNmpIgnore(file)\n ];\n\n await copy(patterns, {\n baseDir: pkgDir,\n outputDir: pkg.distPath\n });\n });\n\n await Promise.all(promises);\n}\n","import semver from \"semver\";\nimport chalk from \"chalk\";\nimport type { CmContext } from \"../interfaces/index.js\";\n\nexport function updateVersions(\n field: Record<string, string> = {},\n dependencies: Map<string, string>,\n options: { char?: string },\n context: CmContext<{ silent?: boolean }>\n) {\n const { char = \"\" } = options;\n const { silent, logger } = context;\n\n Object.entries(field).forEach(([mod, version]) => {\n if (dependencies.has(mod)) {\n const currentVersion = version.replace(/^\\^/, \"\");\n const newVersion = dependencies.get(mod)!;\n if (semver.valid(currentVersion) && semver.valid(newVersion) && semver.lt(currentVersion, newVersion)) {\n field[mod] = char + newVersion;\n\n void (!silent && logger.info(\"Update\", chalk.blue(mod), chalk.cyan(currentVersion), \"to\", chalk.cyan(char + newVersion)));\n }\n }\n });\n\n return field;\n}\n","import chalk from \"chalk\";\nimport { join } from \"path\";\nimport type { CmContext, PackageJson } from \"../interfaces/index.js\";\nimport { findPackages } from \"./find-packages.js\";\nimport { updateVersions } from \"./update-versions.js\";\nimport { writePackage } from \"./write-package.js\";\n\ntype WritePackagesOptions = CmContext<{\n silent?: boolean;\n version: string;\n dependencies?: Map<string, string>;\n pkgMapper?: (input: { pkg: PackageJson }) => PackageJson;\n}>;\nexport async function writePackages(context: WritePackagesOptions) {\n const {\n silent,\n logger,\n config: { BRANCH_NAME, npmDistTag },\n dependencies = new Map(),\n pkgMapper = ({ pkg }) => pkg\n } = context;\n\n let distTag = npmDistTag;\n\n if (BRANCH_NAME && [\"alpha\", \"beta\", \"rc\"].includes(BRANCH_NAME)) {\n distTag = BRANCH_NAME;\n }\n\n const packages = await findPackages(context);\n\n packages.map(({ pkg }) => {\n // set the same version for all packages (root version)\n pkg.version = context.version;\n dependencies.set(pkg.name, pkg.version);\n });\n\n const promises = packages.map(async ({ distPath, pkg }) => {\n if (!silent) {\n logger.info(\"Write package.json\", chalk.cyan(pkg.name));\n }\n\n pkg.dependencies = updateVersions(pkg.dependencies, dependencies, {}, context);\n pkg.devDependencies = updateVersions(pkg.devDependencies, dependencies, {}, context);\n pkg.peerDependencies = updateVersions(pkg.peerDependencies, dependencies, { char: \"^\" }, context);\n pkg = pkgMapper({ pkg });\n\n if (distTag) {\n pkg.publishConfig = {\n ...pkg.publishConfig,\n tag: distTag\n };\n }\n\n if (pkg.main?.includes(\"/src/index.ts\")) {\n pkg.main = \"./lib/index.js\";\n pkg.typings = \"lib/index.d.ts\";\n }\n\n Object.entries(pkg.dependencies || {}).forEach(([name, version]) => {\n if (pkg.dependencies && version.startsWith(\"workspace:\")) {\n pkg.dependencies[name] = version.replace(\"workspace:*\", context.version);\n }\n });\n\n Object.entries(pkg.devDependencies || {}).forEach(([name, version]) => {\n if (pkg.devDependencies && version.startsWith(\"workspace:\")) {\n pkg.devDependencies[name] = version.replace(\"workspace:*\", context.version);\n }\n });\n\n return writePackage(join(distPath, \"package.json\"), pkg);\n });\n\n await Promise.all(promises);\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|