@cmflow/cli 3.4.0-beta.3 → 3.4.0-beta.30
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 +120 -106
- package/dist/bin/cmrelease.mjs +152 -148
- package/dist/common-CfQycsia.mjs +4 -0
- package/dist/common-CfQycsia.mjs.map +1 -0
- package/dist/{compile-packages-C3W4j84x.mjs → compile-packages-B6nhQT4A.mjs} +4 -2
- package/dist/{compile-packages-C3W4j84x.mjs.map → compile-packages-B6nhQT4A.mjs.map} +1 -1
- package/dist/docker-COfShgcQ.mjs +36 -0
- package/dist/docker-COfShgcQ.mjs.map +1 -0
- package/dist/{docker-clean-tags-BM66YJe3.mjs → docker-clean-tags-ltkwDm3w.mjs} +4 -2
- package/dist/{docker-clean-tags-BM66YJe3.mjs.map → docker-clean-tags-ltkwDm3w.mjs.map} +1 -1
- package/dist/{docker-publish-DCVRkc5l.mjs → docker-publish-DQFIuqCn.mjs} +4 -2
- package/dist/{docker-publish-DCVRkc5l.mjs.map → docker-publish-DQFIuqCn.mjs.map} +1 -1
- package/dist/{find-packages-MKlLERHA.mjs → find-packages-CIHA2-RE.mjs} +12 -10
- package/dist/{find-packages-MKlLERHA.mjs.map → find-packages-CIHA2-RE.mjs.map} +1 -1
- package/dist/get-config-Bojgeyi0.mjs +11 -0
- package/dist/get-config-Bojgeyi0.mjs.map +1 -0
- package/dist/index-B7dZdFg6.d.mts +267 -0
- package/dist/index.d.mts +2036 -0
- package/dist/index.mjs +34 -0
- package/dist/index.mjs.map +1 -0
- package/dist/{npm-DHki_SHg.mjs → npm-Ckg6sg0g.mjs} +4 -2
- package/dist/npm-Ckg6sg0g.mjs.map +1 -0
- package/dist/rolldown-runtime-DQqWX4ve.mjs +3 -0
- package/dist/semantic/core/analyze-commits.d.mts +7 -0
- package/dist/semantic/core/analyze-commits.mjs +4 -0
- package/dist/semantic/core/analyze-commits.mjs.map +1 -0
- package/dist/semantic/core/conditional.d.mts +16 -0
- package/dist/semantic/core/conditional.mjs +4 -0
- package/dist/semantic/core/conditional.mjs.map +1 -0
- package/dist/semantic/core/exit.d.mts +7 -0
- package/dist/semantic/core/exit.mjs +4 -0
- package/dist/semantic/core/exit.mjs.map +1 -0
- package/dist/semantic/core/prepare/artifacts.d.mts +7 -0
- package/dist/semantic/core/prepare/artifacts.mjs +4 -0
- package/dist/semantic/core/prepare/artifacts.mjs.map +1 -0
- package/dist/semantic/core/prepare/bump-version.d.mts +7 -0
- package/dist/semantic/core/prepare/bump-version.mjs +4 -0
- package/dist/semantic/core/prepare/bump-version.mjs.map +1 -0
- package/dist/semantic/core/prepare/commit.d.mts +7 -0
- package/dist/semantic/core/prepare/commit.mjs +4 -0
- package/dist/semantic/core/prepare/commit.mjs.map +1 -0
- package/dist/semantic/core/prepare/release-info.d.mts +9 -0
- package/dist/semantic/core/prepare/release-info.mjs +4 -0
- package/dist/semantic/core/prepare/release-info.mjs.map +1 -0
- package/dist/semantic/core/publish-packages.d.mts +11 -0
- package/dist/semantic/core/publish-packages.mjs +7 -0
- package/dist/semantic/core/publish-packages.mjs.map +1 -0
- package/dist/semantic/core/push-release.d.mts +8 -0
- package/dist/semantic/core/push-release.mjs +4 -0
- package/dist/semantic/core/push-release.mjs.map +1 -0
- package/dist/semantic/core/run.d.mts +14 -0
- package/dist/semantic/core/run.mjs +4 -0
- package/dist/semantic/core/run.mjs.map +1 -0
- package/dist/semantic/core/sync-repository.d.mts +7 -0
- package/dist/semantic/core/sync-repository.mjs +4 -0
- package/dist/semantic/core/sync-repository.mjs.map +1 -0
- package/dist/semantic/core/verify-conditions.d.mts +7 -0
- package/dist/semantic/core/verify-conditions.mjs +4 -0
- package/dist/semantic/core/verify-conditions.mjs.map +1 -0
- package/dist/semantic/core/verify-release.d.mts +7 -0
- package/dist/semantic/core/verify-release.mjs +4 -0
- package/dist/semantic/core/verify-release.mjs.map +1 -0
- package/dist/semantic/docker/publish.d.mts +7 -0
- package/dist/semantic/docker/publish.mjs +4 -0
- package/dist/semantic/docker/publish.mjs.map +1 -0
- package/dist/semantic/docker/success.d.mts +7 -0
- package/dist/semantic/docker/success.mjs +4 -0
- package/dist/semantic/docker/success.mjs.map +1 -0
- package/dist/semver-BEj6Vrs4.mjs +4 -0
- package/dist/{semver-DfG5T6W4.mjs.map → semver-BEj6Vrs4.mjs.map} +1 -1
- package/dist/source-DS6vboEb.mjs +9 -0
- package/dist/{source-CZqdi7bj.mjs.map → source-DS6vboEb.mjs.map} +1 -1
- package/dist/{write-package-DiCHz3W9.mjs → write-package-CZMoWfOT.mjs} +8 -6
- package/dist/{write-package-DiCHz3W9.mjs.map → write-package-CZMoWfOT.mjs.map} +1 -1
- package/dist/{write-packages-CR0XLQhM.mjs → write-packages-iAGBE9Qr.mjs} +6 -4
- package/dist/{write-packages-CR0XLQhM.mjs.map → write-packages-iAGBE9Qr.mjs.map} +1 -1
- package/package.json +16 -9
- package/dist/common-Dm4NPnuV.mjs +0 -2
- package/dist/common-Dm4NPnuV.mjs.map +0 -1
- package/dist/docker-DIPmaasN.mjs +0 -34
- package/dist/docker-DIPmaasN.mjs.map +0 -1
- package/dist/get-config-sVSMVDr6.mjs +0 -9
- package/dist/get-config-sVSMVDr6.mjs.map +0 -1
- package/dist/npm-DHki_SHg.mjs.map +0 -1
- package/dist/semver-DfG5T6W4.mjs +0 -2
- package/dist/source-CZqdi7bj.mjs +0 -7
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { fileURLToPath as __cliFileURLToPath } from "node:url";
|
|
2
|
+
const __filename = __cliFileURLToPath(import.meta.url);
|
|
3
|
+
import{i as e,t}from"./rolldown-runtime-DQqWX4ve.mjs";import{t as n}from"./source-DS6vboEb.mjs";import{t as r}from"./semver-BEj6Vrs4.mjs";import{n as i,t as a}from"./write-package-CZMoWfOT.mjs";import{n as o,t as s}from"./find-packages-CIHA2-RE.mjs";import{join as c}from"path";import{existsSync as l,readFileSync as u}from"node:fs";import{dirname as d}from"node:path";var f=t(((e,t)=>{
|
|
2
4
|
/*!
|
|
3
5
|
* normalize-path <https://github.com/jonschlinkert/normalize-path>
|
|
4
6
|
*
|
|
5
7
|
* Copyright (c) 2014-2018, Jon Schlinkert.
|
|
6
8
|
* Released under the MIT License.
|
|
7
9
|
*/
|
|
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=
|
|
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=
|
|
10
|
-
//# sourceMappingURL=write-packages-
|
|
10
|
+
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(`
|
|
11
|
+
`).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};
|
|
12
|
+
//# sourceMappingURL=write-packages-iAGBE9Qr.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-packages-
|
|
1
|
+
{"version":3,"file":"write-packages-iAGBE9Qr.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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cmflow/cli",
|
|
3
|
-
"version": "3.4.0-beta.
|
|
3
|
+
"version": "3.4.0-beta.30",
|
|
4
4
|
"description": "An awesome Git Flow",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "camfou",
|
|
@@ -9,11 +9,18 @@
|
|
|
9
9
|
"cmrelease": "./dist/bin/cmrelease.mjs"
|
|
10
10
|
},
|
|
11
11
|
"type": "module",
|
|
12
|
-
"main": "./dist/
|
|
13
|
-
"module": "./dist/
|
|
12
|
+
"main": "./dist/index.mjs",
|
|
13
|
+
"module": "./dist/index.mjs",
|
|
14
|
+
"types": "./dist/index.d.mts",
|
|
14
15
|
"exports": {
|
|
15
|
-
".":
|
|
16
|
-
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./dist/index.d.mts",
|
|
18
|
+
"import": "./dist/index.mjs"
|
|
19
|
+
},
|
|
20
|
+
"./semantic/*": {
|
|
21
|
+
"types": "./dist/semantic/*.d.mts",
|
|
22
|
+
"import": "./dist/semantic/*.mjs"
|
|
23
|
+
}
|
|
17
24
|
},
|
|
18
25
|
"scripts": {
|
|
19
26
|
"build": "tsdown",
|
|
@@ -30,11 +37,12 @@
|
|
|
30
37
|
},
|
|
31
38
|
"dependencies": {
|
|
32
39
|
"@clack/prompts": "^1.7.0",
|
|
33
|
-
"semantic-release": ">=
|
|
40
|
+
"semantic-release": ">=25.0.9",
|
|
41
|
+
"tsx": "^4.19.0"
|
|
34
42
|
},
|
|
35
43
|
"devDependencies": {
|
|
36
|
-
"@semantic-release/github": "
|
|
37
|
-
"@semantic-release/release-notes-generator": ">=14.
|
|
44
|
+
"@semantic-release/github": "12.0.9",
|
|
45
|
+
"@semantic-release/release-notes-generator": ">=14.1.1",
|
|
38
46
|
"@types/fs-extra": "^11.0.4",
|
|
39
47
|
"@types/lodash": "^4.17.0",
|
|
40
48
|
"@types/node": "24.1.0",
|
|
@@ -61,7 +69,6 @@
|
|
|
61
69
|
"split": "1.0.1",
|
|
62
70
|
"ts-morph": "^25.0.1",
|
|
63
71
|
"tsdown": "^0.22.14",
|
|
64
|
-
"tsx": "^4.19.0",
|
|
65
72
|
"typescript": "^7.0.2",
|
|
66
73
|
"vitest": "^3.0.8",
|
|
67
74
|
"yaml": "^2.0.0"
|
package/dist/common-Dm4NPnuV.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{S as e,T as t,k as n,n as r,w as i}from"./get-config-sVSMVDr6.mjs";import"./docker-DIPmaasN.mjs";import{t as a}from"./npm-DHki_SHg.mjs";import{t as o}from"./source-CZqdi7bj.mjs";import{existsSync as s}from"node:fs";import{dirname as c,join as l,resolve as u}from"node:path";import{cancel as d,isCancel as f,log as p,spinner as m}from"@clack/prompts";import{pathToFileURL as h}from"node:url";const g=new class extends i{constructor(){super(`bun`)}newVersion(e){return this.pm(`version`,`--no-git-tag-version`,e)}pm(...e){return this.sync(`pm`,...e)}run(...e){return super.run(`run`,...e)}install(...e){return super.run(`install`,...e)}restore(){return super.run(`install`,`--frozen-lockfile`)}},_=new class extends i{constructor(){super(`lerna`)}newVersion(e){return this.version(e,`--exact`,`--yes`,`--no-git-tag-version`,`--no-push`)}version(...e){return this.sync(`version`,...e)}run(...e){return super.run(`run`,...e)}install(...e){return super.run(`install`,...e)}},v=new class extends i{constructor(){super(`pnpm`)}newVersion(e){return this.version(`--no-git-tag-version`,e)}version(...e){return this.sync(`version`,...e)}run(...e){return super.run(`run`,...e)}install(...e){return super.run(`install`,...e)}restore(){return super.run(`install`,`--frozen-lockfile`)}},y=new class extends i{constructor(){super(`yarn`)}newVersion(e){return this.version(`--no-git-tag-version`,`--new-version`,e)}version(...e){return this.sync(`version`,...e)}run(...e){return super.run(...e)}install(...e){return super.run(`install`,...e)}restore(){return super.run(`install`,`--immutable`)}};function b(t){let{logger:n,config:{SCM_TOKEN:r,REPOSITORY_URL:i,ORIGIN:a,GIT_USER_NAME:o,GIT_USER_EMAIL:s,GIT_DISABLE_SSL:c}}=t;if(o&&s&&(e.config(`--global`,`user.name`,`"${o}"`),e.config(`--global`,`user.email`,`"${s}"`)),c&&(n.info(`Disable SSL verification`),e.config(`--global`,`http.sslVerify`,`false`)),r){let t=(i??``).replace(`https://`,``);n.info(`Configure remote repository ${t}`),e.remote(`remove`,a??`origin`).sync(),e.remote(`add`,a??`origin`,`https://${r}@${t}`).sync()}}function x(e){return e===`bun`?g:e===`yarn`?y:e===`pnpm`?v:a}var S=t(),C=n(o(),1);function w(e=process.cwd()){let t=u(e);for(;;){let e=l(t,`release.config.mjs`);if(s(e))return e;let n=c(t);if(n===t)return;t=n}}async function T(e){let t=w(e);if(!t)return{};try{let e=await import(h(t).href);return e.default??e}catch(e){return console.error(`Error while loading release.config.mjs`,e),{}}}async function E(e,t){if(e.enabled&&!e.enabled())return;if(t.dryRun){p.info(`Dry run: ${e.title}`);return}let n=e.skip?.();if(n){p.info(`${e.title} ${typeof n==`string`?`(${n})`:`(skipped)`}`);return}let r=e.task();if(Array.isArray(r)){for(let e of r)await E(e,t);return}let i=m();i.start(e.title);try{(0,S.isObservable)(r)?await new Promise((e,t)=>r.subscribe({complete:e,error:t})):await r,i.stop(e.title)}catch(t){throw i.stop(`${e.title} failed`),t}}async function D(e,t){for(let n of e)await E(n,t)}async function O(e,t){try{let n=r(),i={...await T(),...n,branch:{name:n.BRANCH_NAME},config:n,dryRun:t.dryRun,logger:console,verbose:t.verbose},a=new e;if(a.mapContext&&(i=a.mapContext(t,i)),a.prompt){let e=await a.prompt(i);if(f(e)){d(`Operation cancelled.`);return}i={...i,...e}}a.verifyConditions?.(i),await D(a.getTasks(i),i),a.success?.(i)}catch(e){p.error(C.default.red(String(e))),t.verbose&&console.error(String(e.stack??``).replace(String(e),``)),process.exit(-1)}}process.on(`unhandledRejection`,()=>{});export{v as a,y as i,x as n,_ as o,b as r,g as s,O as t};
|
|
2
|
-
//# sourceMappingURL=common-Dm4NPnuV.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common-Dm4NPnuV.mjs","names":["isObservable","chalk"],"sources":["../src/common/cli/bun.ts","../src/common/cli/lerna.ts","../src/common/cli/pnpm.ts","../src/common/cli/yarn.ts","../src/common/configure-git-workspace.ts","../src/common/get-package-manager.ts","../src/common/get-release-config.ts","../src/common/run-command.ts"],"sourcesContent":["import { Cli } from \"./cli.js\";\n\nclass BunCli extends Cli {\n constructor() {\n super(\"bun\");\n }\n\n newVersion(version: string) {\n return this.pm(\"version\", \"--no-git-tag-version\", version);\n }\n\n pm(...args: string[]) {\n return this.sync(\"pm\", ...args);\n }\n\n run(...args: string[]) {\n return super.run(\"run\", ...args);\n }\n\n install(...args: string[]) {\n return super.run(\"install\", ...args);\n }\n\n /**\n * Reinstall dependencies without bun.lock mutation\n * @returns {Promise<unknown>}\n */\n restore() {\n return super.run(\"install\", \"--frozen-lockfile\");\n }\n}\n\nexport const bun = new BunCli();\n","import { Cli } from \"./cli.js\";\n\nclass LernaCli extends Cli {\n constructor() {\n super(\"lerna\");\n }\n\n newVersion(version: string) {\n return this.version(version, \"--exact\", \"--yes\", \"--no-git-tag-version\", \"--no-push\");\n }\n\n version(...args: string[]) {\n return this.sync(\"version\", ...args);\n }\n\n run(...args: string[]) {\n return super.run(\"run\", ...args);\n }\n\n install(...args: string[]) {\n return super.run(\"install\", ...args);\n }\n}\n\nexport const lerna = new LernaCli();\n","import { Cli } from \"./cli.js\";\n\nclass PnpmCli extends Cli {\n constructor() {\n super(\"pnpm\");\n }\n\n newVersion(version: string) {\n // pnpm follows npm's version CLI semantics\n return this.version(\"--no-git-tag-version\", version);\n }\n\n version(...args: string[]) {\n return this.sync(\"version\", ...args);\n }\n\n run(...args: string[]) {\n return super.run(\"run\", ...args);\n }\n\n install(...args: string[]) {\n return super.run(\"install\", ...args);\n }\n\n /**\n * Reinstall dependencies without pnpm-lock.yaml mutation\n * @returns {Promise<unknown>}\n */\n restore() {\n return super.run(\"install\", \"--frozen-lockfile\");\n }\n}\n\nexport const pnpm = new PnpmCli();\n","import { Cli } from \"./cli.js\";\n\nclass YarnCli extends Cli {\n constructor() {\n super(\"yarn\");\n }\n\n newVersion(version: string) {\n return this.version(\"--no-git-tag-version\", \"--new-version\", version);\n }\n\n version(...args: string[]) {\n return this.sync(\"version\", ...args);\n }\n\n run(...args: string[]) {\n return super.run(...args);\n }\n\n install(...args: string[]) {\n return super.run(\"install\", ...args);\n }\n\n /**\n * Reinstall dependencies without yarn.lock mutation\n * @returns {Promise<unknown>}\n */\n restore() {\n return super.run(\"install\", \"--immutable\");\n }\n}\n\nexport const yarn = new YarnCli();\n","import { git } from \"./cli/git.js\";\nimport type { CmContext } from \"./interfaces\";\n\nexport function configureGitWorkspace(context: CmContext) {\n const {\n logger,\n config: { SCM_TOKEN, REPOSITORY_URL, ORIGIN, GIT_USER_NAME, GIT_USER_EMAIL, GIT_DISABLE_SSL }\n } = context;\n\n if (GIT_USER_NAME && GIT_USER_EMAIL) {\n git.config(\"--global\", \"user.name\", `\"${GIT_USER_NAME}\"`);\n git.config(\"--global\", \"user.email\", `\"${GIT_USER_EMAIL}\"`);\n }\n\n if (GIT_DISABLE_SSL) {\n logger.info(\"Disable SSL verification\");\n git.config(\"--global\", \"http.sslVerify\", \"false\");\n }\n\n if (SCM_TOKEN) {\n const repository = (REPOSITORY_URL ?? \"\").replace(\"https://\", \"\");\n\n logger.info(`Configure remote repository ${repository}`);\n git.remote(\"remove\", ORIGIN ?? \"origin\").sync();\n git.remote(\"add\", ORIGIN ?? \"origin\", `https://${SCM_TOKEN}@${repository}`).sync();\n }\n}\n","import { bun } from \"./cli/bun.js\";\nimport { npm } from \"./cli/npm.js\";\nimport { pnpm } from \"./cli/pnpm.js\";\nimport { yarn } from \"./cli/yarn.js\";\n\nexport function getPackageManager(pkgManager: string) {\n if (pkgManager === \"bun\") {\n return bun;\n }\n\n return pkgManager === \"yarn\" ? yarn : pkgManager === \"pnpm\" ? pnpm : npm;\n}\n","import { existsSync } from \"node:fs\";\nimport { dirname, join, resolve } from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\n\nexport function findReleaseConfig(cwd = process.cwd()): string | undefined {\n let directory = resolve(cwd);\n\n while (true) {\n const configPath = join(directory, \"release.config.mjs\");\n if (existsSync(configPath)) return configPath;\n\n const parentDirectory = dirname(directory);\n if (parentDirectory === directory) return undefined;\n directory = parentDirectory;\n }\n}\n\nexport async function getReleaseConfig(cwd?: string): Promise<Record<string, unknown>> {\n const configPath = findReleaseConfig(cwd);\n if (!configPath) return {};\n\n try {\n const module = await import(pathToFileURL(configPath).href);\n return module.default ?? module;\n } catch (error) {\n console.error(\"Error while loading release.config.mjs\", error);\n return {};\n }\n}\n","import chalk from \"chalk\";\nimport { cancel, isCancel, log, spinner } from \"@clack/prompts\";\nimport { isObservable } from \"rxjs\";\n\nimport type { CmContext, CmTask, CommandConstructor } from \"./interfaces/index.js\";\nimport { getConfig } from \"./get-config.js\";\nimport { getReleaseConfig } from \"./get-release-config.js\";\n\nasync function runTask(task: CmTask, context: CmContext): Promise<void> {\n if (task.enabled && !task.enabled()) return;\n\n if (context.dryRun) {\n log.info(`Dry run: ${task.title}`);\n return;\n }\n\n const skipped = task.skip?.();\n if (skipped) {\n log.info(`${task.title} ${typeof skipped === \"string\" ? `(${skipped})` : \"(skipped)\"}`);\n return;\n }\n\n const result = task.task();\n if (Array.isArray(result)) {\n for (const child of result) await runTask(child as CmTask, context);\n return;\n }\n\n const progress = spinner();\n progress.start(task.title);\n try {\n if (isObservable(result)) {\n await new Promise<void>((resolve, reject) => result.subscribe({ complete: resolve, error: reject }));\n } else {\n await result;\n }\n progress.stop(task.title);\n } catch (error) {\n progress.stop(`${task.title} failed`);\n throw error;\n }\n}\n\nasync function createTasksRunner(tasks: CmTask[], context: CmContext): Promise<void> {\n for (const task of tasks) await runTask(task, context);\n}\n\nexport async function runCommand(\n klass: CommandConstructor,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n opts: Record<string, any>\n): Promise<void> {\n try {\n const config = getConfig();\n\n let context = {\n ...(await getReleaseConfig()),\n ...config,\n branch: { name: config.BRANCH_NAME as string },\n config,\n dryRun: opts.dryRun as boolean | undefined,\n logger: console,\n verbose: opts.verbose as number | undefined\n } as unknown as CmContext;\n\n const command = new klass();\n\n if (command.mapContext) {\n context = command.mapContext(opts as Record<string, unknown>, context);\n }\n\n if (command.prompt) {\n const answers = await command.prompt(context);\n if (isCancel(answers)) {\n cancel(\"Operation cancelled.\");\n return;\n }\n context = {\n ...context,\n ...answers\n };\n }\n\n command.verifyConditions?.(context);\n\n const tasks = command.getTasks(context);\n\n await createTasksRunner(tasks, context);\n\n command.success?.(context);\n } catch (er) {\n log.error(chalk.red(String(er)));\n if (opts.verbose) {\n console.error(String((er as Error).stack ?? \"\").replace(String(er), \"\"));\n }\n process.exit(-1);\n }\n}\n\nprocess.on(\"unhandledRejection\", () => {\n // avoid extra promise rejection when using toObservable\n});\n"],"mappings":"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"}
|