@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 CHANGED
@@ -97,16 +97,16 @@ Configure package build and publication defaults in the root `package.json`:
97
97
  }
98
98
  ```
99
99
 
100
- | Option | Default | Purpose |
101
- | --- | --- | --- |
102
- | `outputDir` | `dist` | Destination directory for generated package artifacts. |
103
- | `buildCmd` | `build` | Root package script run by `cm packages build`. |
104
- | `npmAccess` | `public` | npm access passed to `npm publish`. |
105
- | `npmDistTag` | `publishConfig.tag` | Dist-tag written in generated package manifests. |
106
- | `npmFallbackDistTag` | `latest` | Tag used when npm rejects an implicit `latest` tag. |
107
- | `registries` | `[]` | Additional registries to publish to. |
108
- | `skipNpmPublish` | `false` | Builds release artifacts but skips npm publication. |
109
- | `trustedPublishing` | `false` | Enables npm trusted publishing; no npmjs token is written to `.npmrc`. |
100
+ | Option | Default | Purpose |
101
+ | -------------------- | ------------------- | ---------------------------------------------------------------------- |
102
+ | `outputDir` | `dist` | Destination directory for generated package artifacts. |
103
+ | `buildCmd` | `build` | Root package script run by `cm packages build`. |
104
+ | `npmAccess` | `public` | npm access passed to `npm publish`. |
105
+ | `npmDistTag` | `publishConfig.tag` | Dist-tag written in generated package manifests. |
106
+ | `npmFallbackDistTag` | `latest` | Tag used when npm rejects an implicit `latest` tag. |
107
+ | `registries` | `[]` | Additional registries to publish to. |
108
+ | `skipNpmPublish` | `false` | Builds release artifacts but skips npm publication. |
109
+ | `trustedPublishing` | `false` | Enables npm trusted publishing; no npmjs token is written to `.npmrc`. |
110
110
 
111
111
  A workspace package may set its own `flow.registries` array to replace the root registries for that package.
112
112
 
@@ -129,10 +129,7 @@ For a workspace release, the publish sequence must push the release branch and t
129
129
  import { defineConfig } from "@cmflow/cli";
130
130
 
131
131
  export default defineConfig({
132
- prepare: [
133
- "@cmflow/cli/semantic/core/prepare/bump-version",
134
- "@cmflow/cli/semantic/core/prepare/commit"
135
- ],
132
+ prepare: ["@cmflow/cli/semantic/core/prepare/bump-version", "@cmflow/cli/semantic/core/prepare/commit"],
136
133
  publish: [
137
134
  "@cmflow/cli/semantic/core/push-release",
138
135
  "@cmflow/cli/semantic/core/publish-packages",
package/dist/bin/cm.mjs CHANGED
@@ -30052,7 +30052,7 @@ function findReleaseConfig(cwd = process.cwd()) {
30052
30052
  const configPath = join(directory, "release.config.mjs");
30053
30053
  if (existsSync(configPath)) return configPath;
30054
30054
  const parentDirectory = dirname(directory);
30055
- if (parentDirectory === directory) return void 0;
30055
+ if (parentDirectory === directory) return;
30056
30056
  directory = parentDirectory;
30057
30057
  }
30058
30058
  }
@@ -45702,7 +45702,7 @@ async function writePackages(context) {
45702
45702
  pkg.version = context.version;
45703
45703
  dependencies.set(pkg.name, pkg.version);
45704
45704
  });
45705
- const promises = packages.map(async ({ distPath, name, path, pkg }) => {
45705
+ const promises = packages.map(async ({ distPath, pkg }) => {
45706
45706
  if (!silent) logger.info("Write package.json", import_source.default.cyan(pkg.name));
45707
45707
  pkg.dependencies = updateVersions(pkg.dependencies, dependencies, {}, context);
45708
45708
  pkg.devDependencies = updateVersions(pkg.devDependencies, dependencies, {}, context);
@@ -1 +1 @@
1
- {"version":3,"file":"common-DvEL7rzl.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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"}
1
+ {"version":3,"file":"common-DvEL7rzl.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)) {\n return configPath;\n }\n\n const parentDirectory = dirname(directory);\n if (parentDirectory === directory) {\n return undefined;\n }\n directory = parentDirectory;\n }\n}\n\nexport async function getReleaseConfig(cwd?: string): Promise<Record<string, unknown>> {\n const configPath = findReleaseConfig(cwd);\n if (!configPath) {\n return {};\n }\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()) {\n return;\n }\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) {\n await runTask(child as CmTask, context);\n }\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) {\n await runTask(task, context);\n }\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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"}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{i as e,n as t,r as n,t as r}from"./rolldown-runtime-Csi-cuKc.mjs";import{S as i,T as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,l as h,m as g,n as _,o as v,p as y,r as b,s as x,t as S,u as C,v as w,w as T,x as E,y as D}from"./get-config-D9xSS1Lq.mjs";import{a as ee,i as O,n as te,o as k,r as A,s as ne,t as re}from"./common-DvEL7rzl.mjs";import{n as ie,r as j,t as ae}from"./docker-nm7ubWPx.mjs";import{t as oe}from"./npm-BKRyPuCX.mjs";import{t as se}from"./source-CHDdP5eQ.mjs";import{t as M}from"./docker-clean-tags-C8fsKmA7.mjs";import{t as N}from"./docker-publish-CwInm1oK.mjs";import{t as ce}from"./semver-Bgw8dAW8.mjs";import{n as le,t as ue}from"./compile-packages-Cd19TaUb.mjs";import{n as de,t as fe}from"./write-packages--jWqJCd-.mjs";import{isCancel as pe,select as me,text as he}from"@clack/prompts";import ge from"semantic-release";var _e=a();function ve(e){let{output:t=[]}=e;return{title:`Refresh local repository`,task:()=>[{title:`Git fetch`,task:()=>i.fetch(`--prune`).toObservable().pipe((0,_e.tap)(e=>t.push(e)),(0,_e.catchError)(e=>(t.push(e),_e.EMPTY)))}]}}var ye=class{mapContext(e,t){return{...t,output:[]}}getTasks(e){return[ve(e)]}success(){let e=i.branchesInfos(`-r`);for(let{branch:t,date:n,creation:r,author:i}of e)console.log(`${n}\t${r}\t${i}\t${t}`)}},be=r(((e,t)=>{var n=/[|\\{}()[\]^$+*?.]/g;t.exports=function(e){if(typeof e!=`string`)throw TypeError(`Expected a string`);return e.replace(n,`\\$&`)}})),P=r(((e,t)=>{let n=be(),{platform:r}=process,i={tick:`✔`,cross:`✖`,star:`★`,square:`▇`,squareSmall:`◻`,squareSmallFilled:`◼`,play:`▶`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,circleQuestionMark:`?⃝`,bullet:`●`,dot:`․`,line:`─`,ellipsis:`…`,pointer:`❯`,pointerSmall:`›`,info:`ℹ`,warning:`⚠`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,heart:`♥`,nodejs:`⬢`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,questionMarkPrefix:`?⃝`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneSeventh:`⅐`,oneEighth:`⅛`,oneNinth:`⅑`,oneTenth:`⅒`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`},a={tick:`√`,cross:`×`,star:`*`,square:`█`,squareSmall:`[ ]`,squareSmallFilled:`[█]`,play:`►`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,circleQuestionMark:`(?)`,bullet:`*`,dot:`.`,line:`─`,ellipsis:`...`,pointer:`>`,pointerSmall:`»`,info:`i`,warning:`‼`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,heart:i.heart,nodejs:`♦`,arrowUp:i.arrowUp,arrowDown:i.arrowDown,arrowLeft:i.arrowLeft,arrowRight:i.arrowRight,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,questionMarkPrefix:`?`,oneHalf:`1/2`,oneThird:`1/3`,oneQuarter:`1/4`,oneFifth:`1/5`,oneSixth:`1/6`,oneSeventh:`1/7`,oneEighth:`1/8`,oneNinth:`1/9`,oneTenth:`1/10`,twoThirds:`2/3`,twoFifths:`2/5`,threeQuarters:`3/4`,threeFifths:`3/5`,threeEighths:`3/8`,fourFifths:`4/5`,fiveSixths:`5/6`,fiveEighths:`5/8`,sevenEighths:`7/8`};r===`linux`&&(i.questionMarkPrefix=`?`);let o=r===`win32`?a:i;t.exports=Object.assign(e=>{if(o===i)return e;for(let[t,r]of Object.entries(i))r!==o[t]&&(e=e.replace(new RegExp(n(r),`g`),o[t]));return e},o),t.exports.main=i,t.exports.windows=a})),F=e(se(),1),I=e(P(),1),xe=class{mapContext(e,t){return{...t}}getTasks(e){return[{title:`Clean docker tags`,task:()=>M(e)}]}success(){console.log(F.default.green(I.default.tick),`Docker tags cleaned`)}},Se=class{mapContext(e,t){return{...t,config:_()}}getTasks(e){return[{title:`Configure workspace`,task:()=>A(e)}]}},Ce=class{mapContext(e,t){return{...t,target:e.target,config:_()}}getTasks(e){return[{title:`Deploy on docker`,task:()=>N(e)}]}success(){console.log(F.default.green(I.default.tick),`Docker image deployed`)}},we=class{mapContext(e,t){return{...t,output:[]}}getTasks(e){return[ve(e)]}success(e){let t=e.output??[];console.log(t.filter(e=>!e.match(`Fetching`)).join(`
1
+ import{i as e,n as t,r as n,t as r}from"./rolldown-runtime-Csi-cuKc.mjs";import{S as i,T as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,l as h,m as g,n as _,o as v,p as y,r as b,s as x,t as S,u as C,v as w,w as T,x as E,y as D}from"./get-config-D9xSS1Lq.mjs";import{a as ee,i as O,n as te,o as k,r as A,s as ne,t as re}from"./common-DvEL7rzl.mjs";import{n as ie,r as j,t as ae}from"./docker-nm7ubWPx.mjs";import{t as oe}from"./npm-BKRyPuCX.mjs";import{t as se}from"./source-CHDdP5eQ.mjs";import{t as M}from"./docker-clean-tags-C8fsKmA7.mjs";import{t as N}from"./docker-publish-CwInm1oK.mjs";import{t as ce}from"./semver-Bgw8dAW8.mjs";import{n as le,t as ue}from"./compile-packages-Cd19TaUb.mjs";import{n as de,t as fe}from"./write-packages-CdhvWsMw.mjs";import{isCancel as pe,select as me,text as he}from"@clack/prompts";import ge from"semantic-release";var _e=a();function ve(e){let{output:t=[]}=e;return{title:`Refresh local repository`,task:()=>[{title:`Git fetch`,task:()=>i.fetch(`--prune`).toObservable().pipe((0,_e.tap)(e=>t.push(e)),(0,_e.catchError)(e=>(t.push(e),_e.EMPTY)))}]}}var ye=class{mapContext(e,t){return{...t,output:[]}}getTasks(e){return[ve(e)]}success(){let e=i.branchesInfos(`-r`);for(let{branch:t,date:n,creation:r,author:i}of e)console.log(`${n}\t${r}\t${i}\t${t}`)}},be=r(((e,t)=>{var n=/[|\\{}()[\]^$+*?.]/g;t.exports=function(e){if(typeof e!=`string`)throw TypeError(`Expected a string`);return e.replace(n,`\\$&`)}})),P=r(((e,t)=>{let n=be(),{platform:r}=process,i={tick:`✔`,cross:`✖`,star:`★`,square:`▇`,squareSmall:`◻`,squareSmallFilled:`◼`,play:`▶`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,circleQuestionMark:`?⃝`,bullet:`●`,dot:`․`,line:`─`,ellipsis:`…`,pointer:`❯`,pointerSmall:`›`,info:`ℹ`,warning:`⚠`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,heart:`♥`,nodejs:`⬢`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,questionMarkPrefix:`?⃝`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneSeventh:`⅐`,oneEighth:`⅛`,oneNinth:`⅑`,oneTenth:`⅒`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`},a={tick:`√`,cross:`×`,star:`*`,square:`█`,squareSmall:`[ ]`,squareSmallFilled:`[█]`,play:`►`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,circleQuestionMark:`(?)`,bullet:`*`,dot:`.`,line:`─`,ellipsis:`...`,pointer:`>`,pointerSmall:`»`,info:`i`,warning:`‼`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,heart:i.heart,nodejs:`♦`,arrowUp:i.arrowUp,arrowDown:i.arrowDown,arrowLeft:i.arrowLeft,arrowRight:i.arrowRight,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,questionMarkPrefix:`?`,oneHalf:`1/2`,oneThird:`1/3`,oneQuarter:`1/4`,oneFifth:`1/5`,oneSixth:`1/6`,oneSeventh:`1/7`,oneEighth:`1/8`,oneNinth:`1/9`,oneTenth:`1/10`,twoThirds:`2/3`,twoFifths:`2/5`,threeQuarters:`3/4`,threeFifths:`3/5`,threeEighths:`3/8`,fourFifths:`4/5`,fiveSixths:`5/6`,fiveEighths:`5/8`,sevenEighths:`7/8`};r===`linux`&&(i.questionMarkPrefix=`?`);let o=r===`win32`?a:i;t.exports=Object.assign(e=>{if(o===i)return e;for(let[t,r]of Object.entries(i))r!==o[t]&&(e=e.replace(new RegExp(n(r),`g`),o[t]));return e},o),t.exports.main=i,t.exports.windows=a})),F=e(se(),1),I=e(P(),1),xe=class{mapContext(e,t){return{...t}}getTasks(e){return[{title:`Clean docker tags`,task:()=>M(e)}]}success(){console.log(F.default.green(I.default.tick),`Docker tags cleaned`)}},Se=class{mapContext(e,t){return{...t,config:_()}}getTasks(e){return[{title:`Configure workspace`,task:()=>A(e)}]}},Ce=class{mapContext(e,t){return{...t,target:e.target,config:_()}}getTasks(e){return[{title:`Deploy on docker`,task:()=>N(e)}]}success(){console.log(F.default.green(I.default.tick),`Docker image deployed`)}},we=class{mapContext(e,t){return{...t,output:[]}}getTasks(e){return[ve(e)]}success(e){let t=e.output??[];console.log(t.filter(e=>!e.match(`Fetching`)).join(`
2
2
  `))}};const L=({config:{E2E_CMD:e,PACKAGE_MANAGER:t},skipTest:n,skipUnit:r,skipE2E:a})=>[{title:`Unit test`,skip:()=>!!(n||r),task:()=>te(t).run(`test`)},{title:`E2E test`,skip:()=>!!(n||a),task:()=>te(t).run(e||`test_e2e`)},{title:`Reset changes`,skip:()=>!!n,task:()=>i.reset(`--hard`)}];async function Te({featureBranch:e,origin:t,force:n}){if(i.branchExists(e,t)&&!n&&i.checkBranchRemoteStatus(e))throw Error(`Remote branch changed, check diff before continue`)}const Ee=e=>{let{origin:t,fromBranch:n,checkStatus:r=!0,rebase:a=!0}=e;return{title:`Rebase branch`,task:()=>[{title:`Check status`,enabled:()=>r,task:()=>Te(e)},{title:`Rebase from ${t}/${F.default.green(n)}`,enabled:()=>a,task:()=>i.rebase(`${t}/${n}`).toObservable()}]}};var De=r(((e,t)=>{var n=C();function r(){this.__data__=new n,this.size=0}t.exports=r})),R=r(((e,t)=>{function n(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}t.exports=n})),Oe=r(((e,t)=>{function n(e){return this.__data__.get(e)}t.exports=n})),ke=r(((e,t)=>{function n(e){return this.__data__.has(e)}t.exports=n})),Ae=r(((e,t)=>{var n=C(),r=h(),i=l(),a=200;function o(e,t){var o=this.__data__;if(o instanceof n){var s=o.__data__;if(!r||s.length<a-1)return s.push([e,t]),this.size=++o.size,this;o=this.__data__=new i(s)}return o.set(e,t),this.size=o.size,this}t.exports=o})),je=r(((e,t)=>{var n=C(),r=De(),i=R(),a=Oe(),o=ke(),s=Ae();function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c})),Me=r(((e,t)=>{function n(e){return this.__data__.set(e,`__lodash_hash_undefined__`),this}t.exports=n})),Ne=r(((e,t)=>{function n(e){return this.__data__.has(e)}t.exports=n})),Pe=r(((e,t)=>{var n=l(),r=Me(),i=Ne();function a(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}a.prototype.add=a.prototype.push=r,a.prototype.has=i,t.exports=a})),Fe=r(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}t.exports=n})),Ie=r(((e,t)=>{function n(e,t){return e.has(t)}t.exports=n})),Le=r(((e,t)=>{var n=Pe(),r=Fe(),i=Ie(),a=1,o=2;function s(e,t,s,c,l,u){var d=s&a,f=e.length,p=t.length;if(f!=p&&!(d&&p>f))return!1;var m=u.get(e),h=u.get(t);if(m&&h)return m==t&&h==e;var g=-1,_=!0,v=s&o?new n:void 0;for(u.set(e,t),u.set(t,e);++g<f;){var y=e[g],b=t[g];if(c)var x=d?c(b,y,g,t,e,u):c(y,b,g,e,t,u);if(x!==void 0){if(x)continue;_=!1;break}if(v){if(!r(t,function(e,t){if(!i(v,t)&&(y===e||l(y,e,s,c,u)))return v.push(t)})){_=!1;break}}else if(!(y===b||l(y,b,s,c,u))){_=!1;break}}return u.delete(e),u.delete(t),_}t.exports=s})),Re=r(((e,t)=>{t.exports=D().Uint8Array})),ze=r(((e,t)=>{function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}t.exports=n})),Be=r(((e,t)=>{function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}t.exports=n})),Ve=r(((e,t)=>{var n=w(),r=Re(),i=u(),a=Le(),o=ze(),s=Be(),c=1,l=2,d=`[object Boolean]`,f=`[object Date]`,p=`[object Error]`,m=`[object Map]`,h=`[object Number]`,g=`[object RegExp]`,_=`[object Set]`,v=`[object String]`,y=`[object Symbol]`,b=`[object ArrayBuffer]`,x=`[object DataView]`,S=n?n.prototype:void 0,C=S?S.valueOf:void 0;function T(e,t,n,u,S,w,T){switch(n){case x:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case b:return!(e.byteLength!=t.byteLength||!w(new r(e),new r(t)));case d:case f:case h:return i(+e,+t);case p:return e.name==t.name&&e.message==t.message;case g:case v:return e==t+``;case m:var E=o;case _:var D=u&c;if(E||=s,e.size!=t.size&&!D)return!1;var ee=T.get(e);if(ee)return ee==t;u|=l,T.set(e,t);var O=a(E(e),E(t),u,S,w,T);return T.delete(e),O;case y:if(C)return C.call(e)==C.call(t)}return!1}t.exports=T})),z=r(((e,t)=>{function n(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}t.exports=n})),He=r(((e,t)=>{var n=z(),r=E();function i(e,t,i){var a=t(e);return r(e)?a:n(a,i(e))}t.exports=i})),Ue=r(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}t.exports=n})),We=r(((e,t)=>{function n(){return[]}t.exports=n})),B=r(((e,t)=>{var n=Ue(),r=We(),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols;t.exports=a?function(e){return e==null?[]:(e=Object(e),n(a(e),function(t){return i.call(e,t)}))}:r})),V=r(((e,t)=>{function n(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}t.exports=n})),Ge=r(((e,t)=>{var n=o(),r=f(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),H=r(((e,t)=>{var n=Ge(),r=f(),i=Object.prototype,a=i.hasOwnProperty,o=i.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return r(e)&&a.call(e,`callee`)&&!o.call(e,`callee`)}})),Ke=r(((e,t)=>{function n(){return!1}t.exports=n})),qe=r(((e,t)=>{var n=D(),r=Ke(),i=typeof e==`object`&&e&&!e.nodeType&&e,a=i&&typeof t==`object`&&t&&!t.nodeType&&t,o=a&&a.exports===i?n.Buffer:void 0;t.exports=(o?o.isBuffer:void 0)||r})),Je=r(((e,t)=>{var n=/^(?:0|[1-9]\d*)$/;function r(e,t){var r=typeof e;return t??=9007199254740991,!!t&&(r==`number`||r!=`symbol`&&n.test(e))&&e>-1&&e%1==0&&e<t}t.exports=r})),U=r(((e,t)=>{function n(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=9007199254740991}t.exports=n})),Ye=r(((e,t)=>{var n=o(),r=U(),i=f(),a=`[object Arguments]`,s=`[object Array]`,c=`[object Boolean]`,l=`[object Date]`,u=`[object Error]`,d=`[object Function]`,p=`[object Map]`,m=`[object Number]`,h=`[object Object]`,g=`[object RegExp]`,_=`[object Set]`,v=`[object String]`,y=`[object WeakMap]`,b=`[object ArrayBuffer]`,x=`[object DataView]`,S=`[object Float32Array]`,C=`[object Float64Array]`,w=`[object Int8Array]`,T=`[object Int16Array]`,E=`[object Int32Array]`,D=`[object Uint8Array]`,ee=`[object Uint8ClampedArray]`,O=`[object Uint16Array]`,te=`[object Uint32Array]`,k={};k[S]=k[C]=k[w]=k[T]=k[E]=k[D]=k[ee]=k[O]=k[te]=!0,k[a]=k[s]=k[b]=k[c]=k[x]=k[l]=k[u]=k[d]=k[p]=k[m]=k[h]=k[g]=k[_]=k[v]=k[y]=!1;function A(e){return i(e)&&r(e.length)&&!!k[n(e)]}t.exports=A})),W=r(((e,t)=>{function n(e){return function(t){return e(t)}}t.exports=n})),G=r(((e,t)=>{var n=c(),r=typeof e==`object`&&e&&!e.nodeType&&e,i=r&&typeof t==`object`&&t&&!t.nodeType&&t,a=i&&i.exports===r&&n.process;t.exports=function(){try{return i&&i.require&&i.require(`util`).types||a&&a.binding&&a.binding(`util`)}catch{}}()})),K=r(((e,t)=>{var n=Ye(),r=W(),i=G(),a=i&&i.isTypedArray;t.exports=a?r(a):n})),Xe=r(((e,t)=>{var n=V(),r=H(),i=E(),a=qe(),o=Je(),s=K(),c=Object.prototype.hasOwnProperty;function l(e,t){var l=i(e),u=!l&&r(e),d=!l&&!u&&a(e),f=!l&&!u&&!d&&s(e),p=l||u||d||f,m=p?n(e.length,String):[],h=m.length;for(var g in e)(t||c.call(e,g))&&!(p&&(g==`length`||d&&(g==`offset`||g==`parent`)||f&&(g==`buffer`||g==`byteLength`||g==`byteOffset`)||o(g,h)))&&m.push(g);return m}t.exports=l})),Ze=r(((e,t)=>{var n=Object.prototype;function r(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||n)}t.exports=r})),Qe=r(((e,t)=>{function n(e,t){return function(n){return e(t(n))}}t.exports=n})),$e=r(((e,t)=>{t.exports=Qe()(Object.keys,Object)})),et=r(((e,t)=>{var n=Ze(),r=$e(),i=Object.prototype.hasOwnProperty;function a(e){if(!n(e))return r(e);var t=[];for(var a in Object(e))i.call(e,a)&&a!=`constructor`&&t.push(a);return t}t.exports=a})),tt=r(((e,t)=>{var n=g(),r=U();function i(e){return e!=null&&r(e.length)&&!n(e)}t.exports=i})),nt=r(((e,t)=>{var n=Xe(),r=et(),i=tt();function a(e){return i(e)?n(e):r(e)}t.exports=a})),rt=r(((e,t)=>{var n=He(),r=B(),i=nt();function a(e){return n(e,i,r)}t.exports=a})),it=r(((e,t)=>{var n=rt(),r=1,i=Object.prototype.hasOwnProperty;function a(e,t,a,o,s,c){var l=a&r,u=n(e),d=u.length;if(d!=n(t).length&&!l)return!1;for(var f=d;f--;){var p=u[f];if(!(l?p in t:i.call(t,p)))return!1}var m=c.get(e),h=c.get(t);if(m&&h)return m==t&&h==e;var g=!0;c.set(e,t),c.set(t,e);for(var _=l;++f<d;){p=u[f];var v=e[p],y=t[p];if(o)var b=l?o(y,v,p,t,e,c):o(v,y,p,e,t,c);if(!(b===void 0?v===y||s(v,y,a,o,c):b)){g=!1;break}_||=p==`constructor`}if(g&&!_){var x=e.constructor,S=t.constructor;x!=S&&`constructor`in e&&`constructor`in t&&!(typeof x==`function`&&x instanceof x&&typeof S==`function`&&S instanceof S)&&(g=!1)}return c.delete(e),c.delete(t),g}t.exports=a})),at=r(((e,t)=>{t.exports=d()(D(),`DataView`)})),ot=r(((e,t)=>{t.exports=d()(D(),`Promise`)})),st=r(((e,t)=>{t.exports=d()(D(),`Set`)})),ct=r(((e,t)=>{t.exports=d()(D(),`WeakMap`)})),q=r(((e,t)=>{var n=at(),r=h(),i=ot(),a=st(),s=ct(),c=o(),l=y(),u=`[object Map]`,d=`[object Object]`,f=`[object Promise]`,p=`[object Set]`,m=`[object WeakMap]`,g=`[object DataView]`,_=l(n),v=l(r),b=l(i),x=l(a),S=l(s),C=c;(n&&C(new n(new ArrayBuffer(1)))!=g||r&&C(new r)!=u||i&&C(i.resolve())!=f||a&&C(new a)!=p||s&&C(new s)!=m)&&(C=function(e){var t=c(e),n=t==d?e.constructor:void 0,r=n?l(n):``;if(r)switch(r){case _:return g;case v:return u;case b:return f;case x:return p;case S:return m}return t}),t.exports=C})),lt=r(((e,t)=>{var n=je(),r=Le(),i=Ve(),a=it(),o=q(),s=E(),c=qe(),l=K(),u=1,d=`[object Arguments]`,f=`[object Array]`,p=`[object Object]`,m=Object.prototype.hasOwnProperty;function h(e,t,h,g,_,v){var y=s(e),b=s(t),x=y?f:o(e),S=b?f:o(t);x=x==d?p:x,S=S==d?p:S;var C=x==p,w=S==p,T=x==S;if(T&&c(e)){if(!c(t))return!1;y=!0,C=!1}if(T&&!C)return v||=new n,y||l(e)?r(e,t,h,g,_,v):i(e,t,x,h,g,_,v);if(!(h&u)){var E=C&&m.call(e,`__wrapped__`),D=w&&m.call(t,`__wrapped__`);if(E||D){var ee=E?e.value():e,O=D?t.value():t;return v||=new n,_(ee,O,h,g,v)}}return T?(v||=new n,a(e,t,h,g,_,v)):!1}t.exports=h})),ut=r(((e,t)=>{var n=lt(),r=f();function i(e,t,a,o,s){return e===t?!0:e==null||t==null||!r(e)&&!r(t)?e!==e&&t!==t:n(e,t,a,o,i,s)}t.exports=i})),dt=e(r(((e,t)=>{var n=ut();function r(e,t){return n(e,t)}t.exports=r}))(),1);function ft(){let e=b();return{dependencies:e.dependencies,devDependencies:e.devDependencies}}function pt(){return Buffer.from(JSON.stringify(ft())).toString(`base64`)}function mt(){try{return JSON.parse(Buffer.from(i.config(`--local`,`npm.hash`),`base64`).toString(`utf8`))}catch{return``}}function ht(){return!(0,dt.default)(ft(),mt())}function gt(){i.config(`--local`,`npm.hash`,`${pt()}`)}const _t=({config:{PACKAGE_MANAGER:e}})=>{let t=ht();return{title:`Install`,enabled:()=>t,task:()=>[{title:`Restore dependencies using ${e.toUpperCase()}`,task:()=>te(e).restore().toObservable().pipe((0,_e.catchError)(t=>{throw e===`yarn`&&t.stderr.startsWith(`error Your lockfile needs to be updated`)?Error(`yarn.lock file is outdated. Run yarn, commit the updated lockfile and try again.`):t}))},{title:`Refresh metadata`,task:()=>gt()}]}};var vt=class extends we{mapContext(e,t){return{...t,origin:t.ORIGIN,featureBranch:i.getBranchName(),fromBranch:t.PRODUCTION_BRANCH,checkStatus:e.force===void 0||!!e.force,rebase:!0,skipTest:!e.cucumber&&!e.unitTest,skipUnit:!e.unitTest,skipE2E:!t.HAS_E2E||!e.cucumber}}getTasks(e){return[...super.getTasks(e),Ee(e),_t(e),...L(e)]}success(e){console.log(F.default.green(I.default.tick),`Branch ${F.default.green(e.featureBranch)} rebased from ${F.default.green(e.fromBranch)} HEAD`)}};function yt({origin:e=`origin`,featureBranch:t,upstream:n=!0,noVerify:r=!0}){if(!t)throw Error(`A feature branch is required before pushing.`);return{title:`Push ${t}`,task:()=>i.push(...[n?`-u`:``,`-f`,e,t,r?`--no-verify`:``].filter(Boolean)).toObservable()}}var bt=class extends vt{mapContext(e,t){return{...super.mapContext(e,t),checkStatus:!0,force:!0}}verifyConditions(e){e.featureBranch===e.fromBranch&&(console.error(F.default.red(`${I.default.cross} ${e.fromBranch} cannot be finished`)),process.exit(1))}getTasks(e){return[...super.getTasks(e),{title:`Add ${e.RELEASE_CANDIDATE_TAG} on last commit`,task(){let t=`${i.getLastCommitMsg()} ${e.config.RELEASE_CANDIDATE_TAG}`;return i.commit(`--amend`,`-m`,t).toObservable()}},yt(e)]}success(e){console.log(F.default.green(I.default.tick),`Branch`,F.default.green(e.featureBranch),`is finished`)}},xt=r(((e,t)=>{
3
3
  //! moment.js
4
4
  //! version : 2.30.1