@xylabs/ts-scripts-yarn3 7.6.21 → 7.7.3

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.
Files changed (42) hide show
  1. package/dist/actions/deploy.mjs +16 -8
  2. package/dist/actions/deploy.mjs.map +1 -1
  3. package/dist/actions/index.mjs +29 -98
  4. package/dist/actions/index.mjs.map +1 -1
  5. package/dist/actions/publish.mjs +2 -1
  6. package/dist/actions/publish.mjs.map +1 -1
  7. package/dist/bin/xy.mjs +46 -132
  8. package/dist/bin/xy.mjs.map +1 -1
  9. package/dist/index.d.ts +3 -8
  10. package/dist/index.mjs +46 -135
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/pm/index.mjs +2 -2
  13. package/dist/pm/index.mjs.map +1 -1
  14. package/dist/pm/yarnPackageManager.mjs +2 -2
  15. package/dist/pm/yarnPackageManager.mjs.map +1 -1
  16. package/dist/xy/deploy/deployCommand.mjs +30 -12
  17. package/dist/xy/deploy/deployCommand.mjs.map +1 -1
  18. package/dist/xy/deploy/index.mjs +34 -120
  19. package/dist/xy/deploy/index.mjs.map +1 -1
  20. package/dist/xy/deploy/publishCommand.mjs +2 -1
  21. package/dist/xy/deploy/publishCommand.mjs.map +1 -1
  22. package/dist/xy/index.mjs +44 -130
  23. package/dist/xy/index.mjs.map +1 -1
  24. package/dist/xy/install/cleanCommand.mjs.map +1 -1
  25. package/dist/xy/install/dupdepsCommand.mjs.map +1 -1
  26. package/dist/xy/install/index.mjs.map +1 -1
  27. package/dist/xy/install/staticsCommand.mjs.map +1 -1
  28. package/dist/xy/xy.mjs +44 -130
  29. package/dist/xy/xy.mjs.map +1 -1
  30. package/package.json +5 -5
  31. package/dist/actions/deploy-major.mjs +0 -42
  32. package/dist/actions/deploy-major.mjs.map +0 -1
  33. package/dist/actions/deploy-minor.mjs +0 -42
  34. package/dist/actions/deploy-minor.mjs.map +0 -1
  35. package/dist/actions/deploy-next.mjs +0 -42
  36. package/dist/actions/deploy-next.mjs.map +0 -1
  37. package/dist/xy/deploy/deployMajorCommand.mjs +0 -50
  38. package/dist/xy/deploy/deployMajorCommand.mjs.map +0 -1
  39. package/dist/xy/deploy/deployMinorCommand.mjs +0 -50
  40. package/dist/xy/deploy/deployMinorCommand.mjs.map +0 -1
  41. package/dist/xy/deploy/deployNextCommand.mjs +0 -50
  42. package/dist/xy/deploy/deployNextCommand.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../src/lib/yarn/workspace/yarnWorkspace.ts","../../src/pm/yarnPackageManager.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","import type {\n PackageManager, ScriptStep, Workspace, WorkspaceForeachOptions,\n} from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspace, yarnWorkspaces } from '../lib/index.ts'\n\nexport class YarnPackageManager implements PackageManager {\n readonly command = 'yarn'\n readonly lockfile = 'yarn.lock'\n readonly name = 'yarn' as const\n\n dedupe(): ScriptStep {\n return ['yarn', ['dedupe']]\n }\n\n findWorkspace(name: string): Workspace | undefined {\n try {\n return yarnWorkspace(name)\n } catch {\n return undefined\n }\n }\n\n foreachWorkspace(script: string, args: string[] = [], options?: WorkspaceForeachOptions): ScriptStep {\n const jobsOptions = options?.jobs ? ['-j', `${options.jobs}`] : []\n const verboseOptions = options?.verbose ? ['--verbose'] : ['--no-verbose']\n const incrementalOptions = options?.incremental\n ? ['--since', '-Ap', '--topological-dev']\n : ['--parallel', '-Ap', '--topological-dev']\n return ['yarn', [\n 'workspaces',\n 'foreach',\n ...incrementalOptions,\n ...jobsOptions,\n ...verboseOptions,\n 'run',\n script,\n ...args,\n ]]\n }\n\n install(): ScriptStep {\n return ['yarn', ['install']]\n }\n\n listWorkspaces(): Workspace[] {\n return yarnWorkspaces()\n }\n\n outdated(): ScriptStep {\n return ['yarn', ['outdated']]\n }\n\n runInWorkspace(pkg: string, script: string, args: string[] = []): ScriptStep {\n return ['yarn', ['workspace', pkg, 'run', script, ...args]]\n }\n\n runXy(args: string[]): ScriptStep {\n return ['yarn', ['xy', ...args]]\n }\n\n versionApply(): ScriptStep {\n return ['yarn', ['version', 'apply', '--all']]\n }\n\n versionBump(type: 'major' | 'minor' | 'patch' | 'prerelease'): ScriptStep[] {\n if (type === 'prerelease') {\n return [\n ['yarn', 'workspaces foreach --all version patch --deferred --prerelease'],\n ]\n }\n return [\n ['yarn', `workspaces foreach --all version ${type} --deferred`],\n ]\n }\n}\n"],"mappings":";AAAA,SAAS,iBAAiB;AAInB,IAAM,iBAAiB,MAAmB;AAC/C,QAAM,SAAS,UAAU,QAAQ,CAAC,cAAc,QAAQ,UAAU,aAAa,GAAG,EAAE,UAAU,QAAQ,OAAO,KAAK,CAAC;AACnH,MAAI,OAAO,OAAO;AAChB,UAAM,OAAO;AAAA,EACf;AACA,SACE,OAAO,OACJ,SAAS,EAGT,MAAM,IAAI,EACV,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,SAAS;AACb,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,CAAC;AAEP;;;ACjBO,IAAM,gBAAgB,CAAC,QAA2B;AACvD,QAAM,YAAY,eAAe,EAAE,KAAK,CAAC,EAAE,KAAK,MAAM,SAAS,GAAG;AAClE,MAAI,CAAC,UAAW,OAAM,IAAI,MAAM,aAAa,GAAG,YAAY;AAC5D,SAAO;AACT;;;ACDO,IAAM,qBAAN,MAAmD;AAAA,EAC/C,UAAU;AAAA,EACV,WAAW;AAAA,EACX,OAAO;AAAA,EAEhB,SAAqB;AACnB,WAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAAA,EAC5B;AAAA,EAEA,cAAc,MAAqC;AACjD,QAAI;AACF,aAAO,cAAc,IAAI;AAAA,IAC3B,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,iBAAiB,QAAgB,OAAiB,CAAC,GAAG,SAA+C;AACnG,UAAM,cAAc,SAAS,OAAO,CAAC,MAAM,GAAG,QAAQ,IAAI,EAAE,IAAI,CAAC;AACjE,UAAM,iBAAiB,SAAS,UAAU,CAAC,WAAW,IAAI,CAAC,cAAc;AACzE,UAAM,qBAAqB,SAAS,cAChC,CAAC,WAAW,OAAO,mBAAmB,IACtC,CAAC,cAAc,OAAO,mBAAmB;AAC7C,WAAO,CAAC,QAAQ;AAAA,MACd;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA,EAEA,UAAsB;AACpB,WAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;AAAA,EAC7B;AAAA,EAEA,iBAA8B;AAC5B,WAAO,eAAe;AAAA,EACxB;AAAA,EAEA,WAAuB;AACrB,WAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;AAAA,EAC9B;AAAA,EAEA,eAAe,KAAa,QAAgB,OAAiB,CAAC,GAAe;AAC3E,WAAO,CAAC,QAAQ,CAAC,aAAa,KAAK,OAAO,QAAQ,GAAG,IAAI,CAAC;AAAA,EAC5D;AAAA,EAEA,MAAM,MAA4B;AAChC,WAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;AAAA,EACjC;AAAA,EAEA,eAA2B;AACzB,WAAO,CAAC,QAAQ,CAAC,WAAW,SAAS,OAAO,CAAC;AAAA,EAC/C;AAAA,EAEA,YAAY,MAAgE;AAC1E,QAAI,SAAS,cAAc;AACzB,aAAO;AAAA,QACL,CAAC,QAAQ,gEAAgE;AAAA,MAC3E;AAAA,IACF;AACA,WAAO;AAAA,MACL,CAAC,QAAQ,oCAAoC,IAAI,aAAa;AAAA,IAChE;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../src/lib/yarn/workspace/yarnWorkspace.ts","../../src/pm/yarnPackageManager.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","import type {\n PackageManager, ScriptStep, Workspace, WorkspaceForeachOptions,\n} from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspace, yarnWorkspaces } from '../lib/index.ts'\n\nexport class YarnPackageManager implements PackageManager {\n readonly command = 'yarn'\n readonly lockfile = 'yarn.lock'\n readonly name = 'yarn' as const\n\n dedupe(): ScriptStep {\n return ['yarn', ['dedupe']]\n }\n\n findWorkspace(name: string): Workspace | undefined {\n try {\n return yarnWorkspace(name)\n } catch {\n return undefined\n }\n }\n\n foreachWorkspace(script: string, args: string[] = [], options?: WorkspaceForeachOptions): ScriptStep {\n const jobsOptions = options?.jobs ? ['-j', `${options.jobs}`] : []\n const verboseOptions = options?.verbose ? ['--verbose'] : ['--no-verbose']\n const incrementalOptions = options?.incremental\n ? ['--since', '-Ap', '--topological-dev']\n : ['--parallel', '-Ap', '--topological-dev']\n return ['yarn', [\n 'workspaces',\n 'foreach',\n ...incrementalOptions,\n ...jobsOptions,\n ...verboseOptions,\n 'run',\n script,\n ...args,\n ]]\n }\n\n install(): ScriptStep {\n return ['yarn', ['install']]\n }\n\n listWorkspaces(): Workspace[] {\n return yarnWorkspaces()\n }\n\n outdated(): ScriptStep {\n return ['yarn', ['outdated']]\n }\n\n runInWorkspace(pkg: string, script: string, args: string[] = []): ScriptStep {\n return ['yarn', ['workspace', pkg, 'run', script, ...args]]\n }\n\n runXy(args: string[]): ScriptStep {\n return ['yarn', ['xy', ...args]]\n }\n\n versionApply(): ScriptStep {\n return ['yarn', ['version', 'apply', '--all']]\n }\n\n versionBump(type: 'major' | 'minor' | 'patch' | 'prerelease'): ScriptStep[] {\n if (type === 'prerelease') {\n return [\n ['yarn', 'workspaces foreach --all --no-private version patch --deferred --prerelease'],\n ]\n }\n return [\n ['yarn', `workspaces foreach --all --no-private version ${type} --deferred`],\n ]\n }\n}\n"],"mappings":";AAAA,SAAS,iBAAiB;AAInB,IAAM,iBAAiB,MAAmB;AAC/C,QAAM,SAAS,UAAU,QAAQ,CAAC,cAAc,QAAQ,UAAU,aAAa,GAAG,EAAE,UAAU,QAAQ,OAAO,KAAK,CAAC;AACnH,MAAI,OAAO,OAAO;AAChB,UAAM,OAAO;AAAA,EACf;AACA,SACE,OAAO,OACJ,SAAS,EAGT,MAAM,IAAI,EACV,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,SAAS;AACb,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,CAAC;AAEP;;;ACjBO,IAAM,gBAAgB,CAAC,QAA2B;AACvD,QAAM,YAAY,eAAe,EAAE,KAAK,CAAC,EAAE,KAAK,MAAM,SAAS,GAAG;AAClE,MAAI,CAAC,UAAW,OAAM,IAAI,MAAM,aAAa,GAAG,YAAY;AAC5D,SAAO;AACT;;;ACDO,IAAM,qBAAN,MAAmD;AAAA,EAC/C,UAAU;AAAA,EACV,WAAW;AAAA,EACX,OAAO;AAAA,EAEhB,SAAqB;AACnB,WAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAAA,EAC5B;AAAA,EAEA,cAAc,MAAqC;AACjD,QAAI;AACF,aAAO,cAAc,IAAI;AAAA,IAC3B,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,iBAAiB,QAAgB,OAAiB,CAAC,GAAG,SAA+C;AACnG,UAAM,cAAc,SAAS,OAAO,CAAC,MAAM,GAAG,QAAQ,IAAI,EAAE,IAAI,CAAC;AACjE,UAAM,iBAAiB,SAAS,UAAU,CAAC,WAAW,IAAI,CAAC,cAAc;AACzE,UAAM,qBAAqB,SAAS,cAChC,CAAC,WAAW,OAAO,mBAAmB,IACtC,CAAC,cAAc,OAAO,mBAAmB;AAC7C,WAAO,CAAC,QAAQ;AAAA,MACd;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA,EAEA,UAAsB;AACpB,WAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;AAAA,EAC7B;AAAA,EAEA,iBAA8B;AAC5B,WAAO,eAAe;AAAA,EACxB;AAAA,EAEA,WAAuB;AACrB,WAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;AAAA,EAC9B;AAAA,EAEA,eAAe,KAAa,QAAgB,OAAiB,CAAC,GAAe;AAC3E,WAAO,CAAC,QAAQ,CAAC,aAAa,KAAK,OAAO,QAAQ,GAAG,IAAI,CAAC;AAAA,EAC5D;AAAA,EAEA,MAAM,MAA4B;AAChC,WAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;AAAA,EACjC;AAAA,EAEA,eAA2B;AACzB,WAAO,CAAC,QAAQ,CAAC,WAAW,SAAS,OAAO,CAAC;AAAA,EAC/C;AAAA,EAEA,YAAY,MAAgE;AAC1E,QAAI,SAAS,cAAc;AACzB,aAAO;AAAA,QACL,CAAC,QAAQ,6EAA6E;AAAA,MACxF;AAAA,IACF;AACA,WAAO;AAAA,MACL,CAAC,QAAQ,iDAAiD,IAAI,aAAa;AAAA,IAC7E;AAAA,EACF;AACF;","names":[]}
@@ -1,6 +1,10 @@
1
1
  // src/actions/deploy.ts
2
2
  import { readFileSync } from "fs";
3
- import { runSteps } from "@xylabs/ts-scripts-common";
3
+ import {
4
+ getPackageManager,
5
+ logMonorepoVersion,
6
+ runSteps
7
+ } from "@xylabs/ts-scripts-common";
4
8
 
5
9
  // src/lib/yarn/workspace/yarnWorkspaces.ts
6
10
  import { spawnSync } from "child_process";
@@ -24,26 +28,40 @@ var privatePackageExcludeList = () => {
24
28
  const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
25
29
  return excludeList;
26
30
  };
27
- var deploy = () => {
31
+ function deploy(level = "patch") {
28
32
  const excludeList = privatePackageExcludeList();
29
33
  if (excludeList.length > 0) {
30
34
  console.log("Excluding private packages from deployment:", excludeList);
31
35
  }
32
- return runSteps("Deploy [Patch]", [
33
- ["yarn", "workspaces foreach --all version patch --deferred"],
34
- ["yarn", "xy clean"],
35
- ["yarn", "xy build"],
36
- ["yarn", "version apply --all"]
36
+ const label = level === "prerelease" ? "Next" : level.charAt(0).toUpperCase() + level.slice(1);
37
+ const pm = getPackageManager();
38
+ const result = runSteps(`Deploy [${label}]`, [
39
+ ...pm.versionBump(level),
40
+ pm.runXy(["clean"]),
41
+ pm.runXy(["build"]),
42
+ pm.versionApply()
37
43
  ]);
38
- };
44
+ logMonorepoVersion();
45
+ return result;
46
+ }
39
47
 
40
48
  // src/xy/deploy/deployCommand.ts
49
+ var VALID_LEVELS = ["patch", "minor", "major", "prerelease"];
41
50
  var deployCommand = {
42
- command: "deploy",
43
- describe: "Deploy - Deploy patch",
51
+ command: "deploy [level]",
52
+ describe: "Deploy - Version bump, build, and apply (default: patch)",
53
+ builder: (yargs) => {
54
+ return yargs.positional("level", {
55
+ choices: VALID_LEVELS,
56
+ default: "patch",
57
+ describe: "Semver bump level",
58
+ type: "string"
59
+ });
60
+ },
44
61
  handler: (argv) => {
45
- if (argv.verbose) console.log("Deploy patch");
46
- process.exitCode = deploy();
62
+ const level = argv.level ?? "patch";
63
+ if (argv.verbose) console.log(`Deploy ${level}`);
64
+ process.exitCode = deploy(level);
47
65
  }
48
66
  };
49
67
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/deploy.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/xy/deploy/deployCommand.ts"],"sourcesContent":["import { readFileSync } from 'node:fs'\n\nimport type { Workspace } from '@xylabs/ts-scripts-common'\nimport { runSteps } from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nconst privatePackageExcludeList = () => {\n const possibleDeployablePackages: [Workspace, { private?: boolean }][] = yarnWorkspaces().map(workspace => [workspace,\n JSON.parse(readFileSync(`${workspace.location}/package.json`, { encoding: 'utf8' })) as object])\n\n const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace)\n const excludeList = privatePackages.map(workspace => `--exclude ${workspace.name}`)\n return excludeList\n}\n\nexport const deploy = () => {\n const excludeList = privatePackageExcludeList()\n if (excludeList.length > 0) {\n console.log('Excluding private packages from deployment:', excludeList)\n }\n\n return runSteps('Deploy [Patch]', [\n ['yarn', 'workspaces foreach --all version patch --deferred'],\n ['yarn', 'xy clean'],\n ['yarn', 'xy build'],\n ['yarn', 'version apply --all'],\n ])\n}\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { CommandModule } from 'yargs'\n\nimport { deploy } from '../../actions/index.ts'\n\nexport const deployCommand: CommandModule = {\n command: 'deploy',\n describe: 'Deploy - Deploy patch',\n handler: (argv) => {\n if (argv.verbose) console.log('Deploy patch')\n process.exitCode = deploy()\n },\n}\n"],"mappings":";AAAA,SAAS,oBAAoB;AAG7B,SAAS,gBAAgB;;;ACHzB,SAAS,iBAAiB;AAInB,IAAM,iBAAiB,MAAmB;AAC/C,QAAM,SAAS,UAAU,QAAQ,CAAC,cAAc,QAAQ,UAAU,aAAa,GAAG,EAAE,UAAU,QAAQ,OAAO,KAAK,CAAC;AACnH,MAAI,OAAO,OAAO;AAChB,UAAM,OAAO;AAAA,EACf;AACA,SACE,OAAO,OACJ,SAAS,EAGT,MAAM,IAAI,EACV,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,SAAS;AACb,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,CAAC;AAEP;;;ADbA,IAAM,4BAA4B,MAAM;AACtC,QAAM,6BAAmE,eAAe,EAAE,IAAI,eAAa;AAAA,IAAC;AAAA,IAC1G,KAAK,MAAM,aAAa,GAAG,UAAU,QAAQ,iBAAiB,EAAE,UAAU,OAAO,CAAC,CAAC;AAAA,EAAW,CAAC;AAEjG,QAAM,kBAAkB,2BAA2B,OAAO,CAAC,CAAC,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,MAAM,SAAS;AACnH,QAAM,cAAc,gBAAgB,IAAI,eAAa,aAAa,UAAU,IAAI,EAAE;AAClF,SAAO;AACT;AAEO,IAAM,SAAS,MAAM;AAC1B,QAAM,cAAc,0BAA0B;AAC9C,MAAI,YAAY,SAAS,GAAG;AAC1B,YAAQ,IAAI,+CAA+C,WAAW;AAAA,EACxE;AAEA,SAAO,SAAS,kBAAkB;AAAA,IAChC,CAAC,QAAQ,mDAAmD;AAAA,IAC5D,CAAC,QAAQ,UAAU;AAAA,IACnB,CAAC,QAAQ,UAAU;AAAA,IACnB,CAAC,QAAQ,qBAAqB;AAAA,EAChC,CAAC;AACH;;;AExBO,IAAM,gBAA+B;AAAA,EAC1C,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAAC,SAAS;AACjB,QAAI,KAAK,QAAS,SAAQ,IAAI,cAAc;AAC5C,YAAQ,WAAW,OAAO;AAAA,EAC5B;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/actions/deploy.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/xy/deploy/deployCommand.ts"],"sourcesContent":["import { readFileSync } from 'node:fs'\n\nimport type { Workspace } from '@xylabs/ts-scripts-common'\nimport {\n getPackageManager, logMonorepoVersion, runSteps,\n} from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nexport type DeployLevel = 'major' | 'minor' | 'patch' | 'prerelease'\n\nconst privatePackageExcludeList = () => {\n const possibleDeployablePackages: [Workspace, { private?: boolean }][] = yarnWorkspaces().map(workspace => [workspace,\n JSON.parse(readFileSync(`${workspace.location}/package.json`, { encoding: 'utf8' })) as object])\n\n const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace)\n const excludeList = privatePackages.map(workspace => `--exclude ${workspace.name}`)\n return excludeList\n}\n\nexport function deploy(level: DeployLevel = 'patch'): number {\n const excludeList = privatePackageExcludeList()\n if (excludeList.length > 0) {\n console.log('Excluding private packages from deployment:', excludeList)\n }\n\n const label = level === 'prerelease' ? 'Next' : level.charAt(0).toUpperCase() + level.slice(1)\n const pm = getPackageManager()\n const result = runSteps(`Deploy [${label}]`, [\n ...pm.versionBump(level),\n pm.runXy(['clean']),\n pm.runXy(['build']),\n pm.versionApply(),\n ])\n logMonorepoVersion()\n return result\n}\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { CommandModule } from 'yargs'\n\nimport type { DeployLevel } from '../../actions/index.ts'\nimport { deploy } from '../../actions/index.ts'\n\nconst VALID_LEVELS: DeployLevel[] = ['patch', 'minor', 'major', 'prerelease']\n\nexport const deployCommand: CommandModule = {\n command: 'deploy [level]',\n describe: 'Deploy - Version bump, build, and apply (default: patch)',\n builder: (yargs) => {\n return yargs.positional('level', {\n choices: VALID_LEVELS,\n default: 'patch',\n describe: 'Semver bump level',\n type: 'string',\n })\n },\n handler: (argv) => {\n const level = (argv.level as DeployLevel) ?? 'patch'\n if (argv.verbose) console.log(`Deploy ${level}`)\n process.exitCode = deploy(level)\n },\n}\n"],"mappings":";AAAA,SAAS,oBAAoB;AAG7B;AAAA,EACE;AAAA,EAAmB;AAAA,EAAoB;AAAA,OAClC;;;ACLP,SAAS,iBAAiB;AAInB,IAAM,iBAAiB,MAAmB;AAC/C,QAAM,SAAS,UAAU,QAAQ,CAAC,cAAc,QAAQ,UAAU,aAAa,GAAG,EAAE,UAAU,QAAQ,OAAO,KAAK,CAAC;AACnH,MAAI,OAAO,OAAO;AAChB,UAAM,OAAO;AAAA,EACf;AACA,SACE,OAAO,OACJ,SAAS,EAGT,MAAM,IAAI,EACV,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,SAAS;AACb,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,CAAC;AAEP;;;ADTA,IAAM,4BAA4B,MAAM;AACtC,QAAM,6BAAmE,eAAe,EAAE,IAAI,eAAa;AAAA,IAAC;AAAA,IAC1G,KAAK,MAAM,aAAa,GAAG,UAAU,QAAQ,iBAAiB,EAAE,UAAU,OAAO,CAAC,CAAC;AAAA,EAAW,CAAC;AAEjG,QAAM,kBAAkB,2BAA2B,OAAO,CAAC,CAAC,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,MAAM,SAAS;AACnH,QAAM,cAAc,gBAAgB,IAAI,eAAa,aAAa,UAAU,IAAI,EAAE;AAClF,SAAO;AACT;AAEO,SAAS,OAAO,QAAqB,SAAiB;AAC3D,QAAM,cAAc,0BAA0B;AAC9C,MAAI,YAAY,SAAS,GAAG;AAC1B,YAAQ,IAAI,+CAA+C,WAAW;AAAA,EACxE;AAEA,QAAM,QAAQ,UAAU,eAAe,SAAS,MAAM,OAAO,CAAC,EAAE,YAAY,IAAI,MAAM,MAAM,CAAC;AAC7F,QAAM,KAAK,kBAAkB;AAC7B,QAAM,SAAS,SAAS,WAAW,KAAK,KAAK;AAAA,IAC3C,GAAG,GAAG,YAAY,KAAK;AAAA,IACvB,GAAG,MAAM,CAAC,OAAO,CAAC;AAAA,IAClB,GAAG,MAAM,CAAC,OAAO,CAAC;AAAA,IAClB,GAAG,aAAa;AAAA,EAClB,CAAC;AACD,qBAAmB;AACnB,SAAO;AACT;;;AE/BA,IAAM,eAA8B,CAAC,SAAS,SAAS,SAAS,YAAY;AAErE,IAAM,gBAA+B;AAAA,EAC1C,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAAC,UAAU;AAClB,WAAO,MAAM,WAAW,SAAS;AAAA,MAC/B,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EACA,SAAS,CAAC,SAAS;AACjB,UAAM,QAAS,KAAK,SAAyB;AAC7C,QAAI,KAAK,QAAS,SAAQ,IAAI,UAAU,KAAK,EAAE;AAC/C,YAAQ,WAAW,OAAO,KAAK;AAAA,EACjC;AACF;","names":[]}
@@ -1,6 +1,10 @@
1
1
  // src/actions/deploy.ts
2
2
  import { readFileSync } from "fs";
3
- import { runSteps } from "@xylabs/ts-scripts-common";
3
+ import {
4
+ getPackageManager,
5
+ logMonorepoVersion,
6
+ runSteps
7
+ } from "@xylabs/ts-scripts-common";
4
8
 
5
9
  // src/lib/yarn/workspace/yarnWorkspaces.ts
6
10
  import { spawnSync } from "child_process";
@@ -24,137 +28,47 @@ var privatePackageExcludeList = () => {
24
28
  const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
25
29
  return excludeList;
26
30
  };
27
- var deploy = () => {
31
+ function deploy(level = "patch") {
28
32
  const excludeList = privatePackageExcludeList();
29
33
  if (excludeList.length > 0) {
30
34
  console.log("Excluding private packages from deployment:", excludeList);
31
35
  }
32
- return runSteps("Deploy [Patch]", [
33
- ["yarn", "workspaces foreach --all version patch --deferred"],
34
- ["yarn", "xy clean"],
35
- ["yarn", "xy build"],
36
- ["yarn", "version apply --all"]
36
+ const label = level === "prerelease" ? "Next" : level.charAt(0).toUpperCase() + level.slice(1);
37
+ const pm = getPackageManager();
38
+ const result = runSteps(`Deploy [${label}]`, [
39
+ ...pm.versionBump(level),
40
+ pm.runXy(["clean"]),
41
+ pm.runXy(["build"]),
42
+ pm.versionApply()
37
43
  ]);
38
- };
39
-
40
- // src/actions/deploy-major.ts
41
- import { readFileSync as readFileSync2 } from "fs";
42
- import { runSteps as runSteps2 } from "@xylabs/ts-scripts-common";
43
- var privatePackageExcludeList2 = () => {
44
- const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
45
- workspace,
46
- JSON.parse(readFileSync2(`${workspace.location}/package.json`, { encoding: "utf8" }))
47
- ]);
48
- const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
49
- const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
50
- return excludeList;
51
- };
52
- var deployMajor = () => {
53
- const excludeList = privatePackageExcludeList2();
54
- if (excludeList.length > 0) {
55
- console.log("Excluding private packages from deployment:", excludeList);
56
- }
57
- return runSteps2("Deploy [Major]", [
58
- ["yarn", "workspaces foreach --all version major --deferred"],
59
- ["yarn", "xy clean"],
60
- ["yarn", "xy build"],
61
- ["yarn", "version apply --all"]
62
- ]);
63
- };
64
-
65
- // src/actions/deploy-minor.ts
66
- import { readFileSync as readFileSync3 } from "fs";
67
- import { runSteps as runSteps3 } from "@xylabs/ts-scripts-common";
68
- var privatePackageExcludeList3 = () => {
69
- const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
70
- workspace,
71
- JSON.parse(readFileSync3(`${workspace.location}/package.json`, { encoding: "utf8" }))
72
- ]);
73
- const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
74
- const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
75
- return excludeList;
76
- };
77
- var deployMinor = () => {
78
- const excludeList = privatePackageExcludeList3();
79
- if (excludeList.length > 0) {
80
- console.log("Excluding private packages from deployment:", excludeList);
81
- }
82
- return runSteps3("Deploy [Minor]", [
83
- ["yarn", "workspaces foreach --all version minor --deferred"],
84
- ["yarn", "xy clean"],
85
- ["yarn", "xy build"],
86
- ["yarn", "version apply --all"]
87
- ]);
88
- };
89
-
90
- // src/actions/deploy-next.ts
91
- import { readFileSync as readFileSync4 } from "fs";
92
- import { runSteps as runSteps4 } from "@xylabs/ts-scripts-common";
93
- var privatePackageExcludeList4 = () => {
94
- const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
95
- workspace,
96
- JSON.parse(readFileSync4(`${workspace.location}/package.json`, { encoding: "utf8" }))
97
- ]);
98
- const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
99
- const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
100
- return excludeList;
101
- };
102
- var deployNext = () => {
103
- const excludeList = privatePackageExcludeList4();
104
- if (excludeList.length > 0) {
105
- console.log("Excluding private packages from deployment:", excludeList);
106
- }
107
- return runSteps4("Deploy [Next]", [
108
- ["yarn", "workspaces foreach --all version minor --deferred"],
109
- ["yarn", "xy clean"],
110
- ["yarn", "xy build"],
111
- ["yarn", "version apply --all --prerelease"]
112
- ]);
113
- };
44
+ logMonorepoVersion();
45
+ return result;
46
+ }
114
47
 
115
48
  // src/actions/publish.ts
116
- import { runSteps as runSteps5 } from "@xylabs/ts-scripts-common";
49
+ import { runSteps as runSteps2, syncInternalPeerVersions } from "@xylabs/ts-scripts-common";
117
50
  var publish = () => {
118
- return runSteps5("Publish", [["npm", ["publish", "--workspaces"]]]);
51
+ syncInternalPeerVersions();
52
+ return runSteps2("Publish", [["npm", ["publish", "--workspaces"]]]);
119
53
  };
120
54
 
121
55
  // src/xy/deploy/deployCommand.ts
56
+ var VALID_LEVELS = ["patch", "minor", "major", "prerelease"];
122
57
  var deployCommand = {
123
- command: "deploy",
124
- describe: "Deploy - Deploy patch",
125
- handler: (argv) => {
126
- if (argv.verbose) console.log("Deploy patch");
127
- process.exitCode = deploy();
128
- }
129
- };
130
-
131
- // src/xy/deploy/deployMajorCommand.ts
132
- var deployMajorCommand = {
133
- command: "deploy-major",
134
- describe: "Deploy - Deploy major",
135
- handler: (argv) => {
136
- if (argv.verbose) console.log("Deploy major");
137
- process.exitCode = deployMajor();
138
- }
139
- };
140
-
141
- // src/xy/deploy/deployMinorCommand.ts
142
- var deployMinorCommand = {
143
- command: "deploy-minor",
144
- describe: "Deploy - Deploy minor",
145
- handler: (argv) => {
146
- if (argv.verbose) console.log("Deploy minor");
147
- process.exitCode = deployMinor();
148
- }
149
- };
150
-
151
- // src/xy/deploy/deployNextCommand.ts
152
- var deployNextCommand = {
153
- command: "deploy-next",
154
- describe: "Deploy - Deploy next",
58
+ command: "deploy [level]",
59
+ describe: "Deploy - Version bump, build, and apply (default: patch)",
60
+ builder: (yargs) => {
61
+ return yargs.positional("level", {
62
+ choices: VALID_LEVELS,
63
+ default: "patch",
64
+ describe: "Semver bump level",
65
+ type: "string"
66
+ });
67
+ },
155
68
  handler: (argv) => {
156
- if (argv.verbose) console.log("Deploy next");
157
- process.exitCode = deployNext();
69
+ const level = argv.level ?? "patch";
70
+ if (argv.verbose) console.log(`Deploy ${level}`);
71
+ process.exitCode = deploy(level);
158
72
  }
159
73
  };
160
74
 
@@ -170,7 +84,7 @@ var publishCommand = {
170
84
 
171
85
  // src/xy/deploy/index.ts
172
86
  var xyDeployCommands = (args) => {
173
- return args.command(deployCommand).command(deployMinorCommand).command(deployMajorCommand).command(deployNextCommand).command(publishCommand);
87
+ return args.command(deployCommand).command(publishCommand);
174
88
  };
175
89
  export {
176
90
  xyDeployCommands
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/deploy.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/actions/deploy-major.ts","../../../src/actions/deploy-minor.ts","../../../src/actions/deploy-next.ts","../../../src/actions/publish.ts","../../../src/xy/deploy/deployCommand.ts","../../../src/xy/deploy/deployMajorCommand.ts","../../../src/xy/deploy/deployMinorCommand.ts","../../../src/xy/deploy/deployNextCommand.ts","../../../src/xy/deploy/publishCommand.ts","../../../src/xy/deploy/index.ts"],"sourcesContent":["import { readFileSync } from 'node:fs'\n\nimport type { Workspace } from '@xylabs/ts-scripts-common'\nimport { runSteps } from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nconst privatePackageExcludeList = () => {\n const possibleDeployablePackages: [Workspace, { private?: boolean }][] = yarnWorkspaces().map(workspace => [workspace,\n JSON.parse(readFileSync(`${workspace.location}/package.json`, { encoding: 'utf8' })) as object])\n\n const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace)\n const excludeList = privatePackages.map(workspace => `--exclude ${workspace.name}`)\n return excludeList\n}\n\nexport const deploy = () => {\n const excludeList = privatePackageExcludeList()\n if (excludeList.length > 0) {\n console.log('Excluding private packages from deployment:', excludeList)\n }\n\n return runSteps('Deploy [Patch]', [\n ['yarn', 'workspaces foreach --all version patch --deferred'],\n ['yarn', 'xy clean'],\n ['yarn', 'xy build'],\n ['yarn', 'version apply --all'],\n ])\n}\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import { readFileSync } from 'node:fs'\n\nimport type { Workspace } from '@xylabs/ts-scripts-common'\nimport { runSteps } from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nconst privatePackageExcludeList = () => {\n const possibleDeployablePackages: [Workspace, { private?: boolean }][] = yarnWorkspaces().map(workspace => [workspace,\n JSON.parse(readFileSync(`${workspace.location}/package.json`, { encoding: 'utf8' })) as object])\n\n const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace)\n const excludeList = privatePackages.map(workspace => `--exclude ${workspace.name}`)\n return excludeList\n}\n\nexport const deployMajor = () => {\n const excludeList = privatePackageExcludeList()\n if (excludeList.length > 0) {\n console.log('Excluding private packages from deployment:', excludeList)\n }\n return runSteps('Deploy [Major]', [\n ['yarn', 'workspaces foreach --all version major --deferred'],\n ['yarn', 'xy clean'],\n ['yarn', 'xy build'],\n ['yarn', 'version apply --all'],\n ])\n}\n","import { readFileSync } from 'node:fs'\n\nimport type { Workspace } from '@xylabs/ts-scripts-common'\nimport { runSteps } from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nconst privatePackageExcludeList = () => {\n const possibleDeployablePackages: [Workspace, { private?: boolean }][] = yarnWorkspaces().map(workspace => [workspace,\n JSON.parse(readFileSync(`${workspace.location}/package.json`, { encoding: 'utf8' })) as object])\n\n const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace)\n const excludeList = privatePackages.map(workspace => `--exclude ${workspace.name}`)\n return excludeList\n}\n\nexport const deployMinor = () => {\n const excludeList = privatePackageExcludeList()\n if (excludeList.length > 0) {\n console.log('Excluding private packages from deployment:', excludeList)\n }\n return runSteps('Deploy [Minor]', [\n ['yarn', 'workspaces foreach --all version minor --deferred'],\n ['yarn', 'xy clean'],\n ['yarn', 'xy build'],\n ['yarn', 'version apply --all'],\n ])\n}\n","import { readFileSync } from 'node:fs'\n\nimport type { Workspace } from '@xylabs/ts-scripts-common'\nimport { runSteps } from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nconst privatePackageExcludeList = () => {\n const possibleDeployablePackages: [Workspace, { private?: boolean }][] = yarnWorkspaces().map(workspace => [workspace,\n JSON.parse(readFileSync(`${workspace.location}/package.json`, { encoding: 'utf8' })) as object])\n\n const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace)\n const excludeList = privatePackages.map(workspace => `--exclude ${workspace.name}`)\n return excludeList\n}\n\nexport const deployNext = () => {\n const excludeList = privatePackageExcludeList()\n if (excludeList.length > 0) {\n console.log('Excluding private packages from deployment:', excludeList)\n }\n return runSteps('Deploy [Next]', [\n ['yarn', 'workspaces foreach --all version minor --deferred'],\n ['yarn', 'xy clean'],\n ['yarn', 'xy build'],\n ['yarn', 'version apply --all --prerelease'],\n ])\n}\n","import { runSteps } from '@xylabs/ts-scripts-common'\n\nexport const publish = () => {\n return runSteps('Publish', [['npm', ['publish', '--workspaces']]])\n}\n","import type { CommandModule } from 'yargs'\n\nimport { deploy } from '../../actions/index.ts'\n\nexport const deployCommand: CommandModule = {\n command: 'deploy',\n describe: 'Deploy - Deploy patch',\n handler: (argv) => {\n if (argv.verbose) console.log('Deploy patch')\n process.exitCode = deploy()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { deployMajor } from '../../actions/index.ts'\n\nexport const deployMajorCommand: CommandModule = {\n command: 'deploy-major',\n describe: 'Deploy - Deploy major',\n handler: (argv) => {\n if (argv.verbose) console.log('Deploy major')\n process.exitCode = deployMajor()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { deployMinor } from '../../actions/index.ts'\n\nexport const deployMinorCommand: CommandModule = {\n command: 'deploy-minor',\n describe: 'Deploy - Deploy minor',\n handler: (argv) => {\n if (argv.verbose) console.log('Deploy minor')\n process.exitCode = deployMinor()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { deployNext } from '../../actions/index.ts'\n\nexport const deployNextCommand: CommandModule = {\n command: 'deploy-next',\n describe: 'Deploy - Deploy next',\n handler: (argv) => {\n if (argv.verbose) console.log('Deploy next')\n process.exitCode = deployNext()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { publish } from '../../actions/index.ts'\n\nexport const publishCommand: CommandModule = {\n command: 'publish',\n describe: 'Publish - Publish packages to npmjs',\n handler: (argv) => {\n if (argv.verbose) console.log('Publish packages to npmjs')\n process.exitCode = publish()\n },\n}\n","import type { Argv } from 'yargs'\n\nimport { deployCommand } from './deployCommand.ts'\nimport { deployMajorCommand } from './deployMajorCommand.ts'\nimport { deployMinorCommand } from './deployMinorCommand.ts'\nimport { deployNextCommand } from './deployNextCommand.ts'\nimport { publishCommand } from './publishCommand.ts'\n\nexport const xyDeployCommands = (args: Argv) => {\n return args\n .command(deployCommand)\n .command(deployMinorCommand)\n .command(deployMajorCommand)\n .command(deployNextCommand)\n .command(publishCommand)\n}\n"],"mappings":"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","names":["readFileSync","runSteps","privatePackageExcludeList","readFileSync","runSteps","readFileSync","runSteps","privatePackageExcludeList","readFileSync","runSteps","readFileSync","runSteps","privatePackageExcludeList","readFileSync","runSteps","runSteps"]}
1
+ {"version":3,"sources":["../../../src/actions/deploy.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/actions/publish.ts","../../../src/xy/deploy/deployCommand.ts","../../../src/xy/deploy/publishCommand.ts","../../../src/xy/deploy/index.ts"],"sourcesContent":["import { readFileSync } from 'node:fs'\n\nimport type { Workspace } from '@xylabs/ts-scripts-common'\nimport {\n getPackageManager, logMonorepoVersion, runSteps,\n} from '@xylabs/ts-scripts-common'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nexport type DeployLevel = 'major' | 'minor' | 'patch' | 'prerelease'\n\nconst privatePackageExcludeList = () => {\n const possibleDeployablePackages: [Workspace, { private?: boolean }][] = yarnWorkspaces().map(workspace => [workspace,\n JSON.parse(readFileSync(`${workspace.location}/package.json`, { encoding: 'utf8' })) as object])\n\n const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace)\n const excludeList = privatePackages.map(workspace => `--exclude ${workspace.name}`)\n return excludeList\n}\n\nexport function deploy(level: DeployLevel = 'patch'): number {\n const excludeList = privatePackageExcludeList()\n if (excludeList.length > 0) {\n console.log('Excluding private packages from deployment:', excludeList)\n }\n\n const label = level === 'prerelease' ? 'Next' : level.charAt(0).toUpperCase() + level.slice(1)\n const pm = getPackageManager()\n const result = runSteps(`Deploy [${label}]`, [\n ...pm.versionBump(level),\n pm.runXy(['clean']),\n pm.runXy(['build']),\n pm.versionApply(),\n ])\n logMonorepoVersion()\n return result\n}\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import { runSteps, syncInternalPeerVersions } from '@xylabs/ts-scripts-common'\n\nexport const publish = () => {\n syncInternalPeerVersions()\n return runSteps('Publish', [['npm', ['publish', '--workspaces']]])\n}\n","import type { CommandModule } from 'yargs'\n\nimport type { DeployLevel } from '../../actions/index.ts'\nimport { deploy } from '../../actions/index.ts'\n\nconst VALID_LEVELS: DeployLevel[] = ['patch', 'minor', 'major', 'prerelease']\n\nexport const deployCommand: CommandModule = {\n command: 'deploy [level]',\n describe: 'Deploy - Version bump, build, and apply (default: patch)',\n builder: (yargs) => {\n return yargs.positional('level', {\n choices: VALID_LEVELS,\n default: 'patch',\n describe: 'Semver bump level',\n type: 'string',\n })\n },\n handler: (argv) => {\n const level = (argv.level as DeployLevel) ?? 'patch'\n if (argv.verbose) console.log(`Deploy ${level}`)\n process.exitCode = deploy(level)\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { publish } from '../../actions/index.ts'\n\nexport const publishCommand: CommandModule = {\n command: 'publish',\n describe: 'Publish - Publish packages to npmjs',\n handler: (argv) => {\n if (argv.verbose) console.log('Publish packages to npmjs')\n process.exitCode = publish()\n },\n}\n","import type { Argv } from 'yargs'\n\nimport { deployCommand } from './deployCommand.ts'\nimport { publishCommand } from './publishCommand.ts'\n\nexport const xyDeployCommands = (args: Argv) => {\n return args\n .command(deployCommand)\n .command(publishCommand)\n}\n"],"mappings":";AAAA,SAAS,oBAAoB;AAG7B;AAAA,EACE;AAAA,EAAmB;AAAA,EAAoB;AAAA,OAClC;;;ACLP,SAAS,iBAAiB;AAInB,IAAM,iBAAiB,MAAmB;AAC/C,QAAM,SAAS,UAAU,QAAQ,CAAC,cAAc,QAAQ,UAAU,aAAa,GAAG,EAAE,UAAU,QAAQ,OAAO,KAAK,CAAC;AACnH,MAAI,OAAO,OAAO;AAChB,UAAM,OAAO;AAAA,EACf;AACA,SACE,OAAO,OACJ,SAAS,EAGT,MAAM,IAAI,EACV,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,SAAS;AACb,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,CAAC;AAEP;;;ADTA,IAAM,4BAA4B,MAAM;AACtC,QAAM,6BAAmE,eAAe,EAAE,IAAI,eAAa;AAAA,IAAC;AAAA,IAC1G,KAAK,MAAM,aAAa,GAAG,UAAU,QAAQ,iBAAiB,EAAE,UAAU,OAAO,CAAC,CAAC;AAAA,EAAW,CAAC;AAEjG,QAAM,kBAAkB,2BAA2B,OAAO,CAAC,CAAC,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,MAAM,SAAS;AACnH,QAAM,cAAc,gBAAgB,IAAI,eAAa,aAAa,UAAU,IAAI,EAAE;AAClF,SAAO;AACT;AAEO,SAAS,OAAO,QAAqB,SAAiB;AAC3D,QAAM,cAAc,0BAA0B;AAC9C,MAAI,YAAY,SAAS,GAAG;AAC1B,YAAQ,IAAI,+CAA+C,WAAW;AAAA,EACxE;AAEA,QAAM,QAAQ,UAAU,eAAe,SAAS,MAAM,OAAO,CAAC,EAAE,YAAY,IAAI,MAAM,MAAM,CAAC;AAC7F,QAAM,KAAK,kBAAkB;AAC7B,QAAM,SAAS,SAAS,WAAW,KAAK,KAAK;AAAA,IAC3C,GAAG,GAAG,YAAY,KAAK;AAAA,IACvB,GAAG,MAAM,CAAC,OAAO,CAAC;AAAA,IAClB,GAAG,MAAM,CAAC,OAAO,CAAC;AAAA,IAClB,GAAG,aAAa;AAAA,EAClB,CAAC;AACD,qBAAmB;AACnB,SAAO;AACT;;;AEpCA,SAAS,YAAAA,WAAU,gCAAgC;AAE5C,IAAM,UAAU,MAAM;AAC3B,2BAAyB;AACzB,SAAOA,UAAS,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,cAAc,CAAC,CAAC,CAAC;AACnE;;;ACAA,IAAM,eAA8B,CAAC,SAAS,SAAS,SAAS,YAAY;AAErE,IAAM,gBAA+B;AAAA,EAC1C,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAAC,UAAU;AAClB,WAAO,MAAM,WAAW,SAAS;AAAA,MAC/B,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EACA,SAAS,CAAC,SAAS;AACjB,UAAM,QAAS,KAAK,SAAyB;AAC7C,QAAI,KAAK,QAAS,SAAQ,IAAI,UAAU,KAAK,EAAE;AAC/C,YAAQ,WAAW,OAAO,KAAK;AAAA,EACjC;AACF;;;ACnBO,IAAM,iBAAgC;AAAA,EAC3C,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAAC,SAAS;AACjB,QAAI,KAAK,QAAS,SAAQ,IAAI,2BAA2B;AACzD,YAAQ,WAAW,QAAQ;AAAA,EAC7B;AACF;;;ACNO,IAAM,mBAAmB,CAAC,SAAe;AAC9C,SAAO,KACJ,QAAQ,aAAa,EACrB,QAAQ,cAAc;AAC3B;","names":["runSteps"]}
@@ -1,6 +1,7 @@
1
1
  // src/actions/publish.ts
2
- import { runSteps } from "@xylabs/ts-scripts-common";
2
+ import { runSteps, syncInternalPeerVersions } from "@xylabs/ts-scripts-common";
3
3
  var publish = () => {
4
+ syncInternalPeerVersions();
4
5
  return runSteps("Publish", [["npm", ["publish", "--workspaces"]]]);
5
6
  };
6
7
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/publish.ts","../../../src/xy/deploy/publishCommand.ts"],"sourcesContent":["import { runSteps } from '@xylabs/ts-scripts-common'\n\nexport const publish = () => {\n return runSteps('Publish', [['npm', ['publish', '--workspaces']]])\n}\n","import type { CommandModule } from 'yargs'\n\nimport { publish } from '../../actions/index.ts'\n\nexport const publishCommand: CommandModule = {\n command: 'publish',\n describe: 'Publish - Publish packages to npmjs',\n handler: (argv) => {\n if (argv.verbose) console.log('Publish packages to npmjs')\n process.exitCode = publish()\n },\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAElB,IAAM,UAAU,MAAM;AAC3B,SAAO,SAAS,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,cAAc,CAAC,CAAC,CAAC;AACnE;;;ACAO,IAAM,iBAAgC;AAAA,EAC3C,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAAC,SAAS;AACjB,QAAI,KAAK,QAAS,SAAQ,IAAI,2BAA2B;AACzD,YAAQ,WAAW,QAAQ;AAAA,EAC7B;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/actions/publish.ts","../../../src/xy/deploy/publishCommand.ts"],"sourcesContent":["import { runSteps, syncInternalPeerVersions } from '@xylabs/ts-scripts-common'\n\nexport const publish = () => {\n syncInternalPeerVersions()\n return runSteps('Publish', [['npm', ['publish', '--workspaces']]])\n}\n","import type { CommandModule } from 'yargs'\n\nimport { publish } from '../../actions/index.ts'\n\nexport const publishCommand: CommandModule = {\n command: 'publish',\n describe: 'Publish - Publish packages to npmjs',\n handler: (argv) => {\n if (argv.verbose) console.log('Publish packages to npmjs')\n process.exitCode = publish()\n },\n}\n"],"mappings":";AAAA,SAAS,UAAU,gCAAgC;AAE5C,IAAM,UAAU,MAAM;AAC3B,2BAAyB;AACzB,SAAO,SAAS,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,cAAc,CAAC,CAAC,CAAC;AACnE;;;ACDO,IAAM,iBAAgC;AAAA,EAC3C,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAAC,SAAS;AACjB,QAAI,KAAK,QAAS,SAAQ,IAAI,2BAA2B;AACzD,YAAQ,WAAW,QAAQ;AAAA,EAC7B;AACF;","names":[]}
package/dist/xy/index.mjs CHANGED
@@ -1,6 +1,10 @@
1
1
  // src/actions/deploy.ts
2
2
  import { readFileSync } from "fs";
3
- import { runSteps } from "@xylabs/ts-scripts-common";
3
+ import {
4
+ getPackageManager,
5
+ logMonorepoVersion,
6
+ runSteps
7
+ } from "@xylabs/ts-scripts-common";
4
8
 
5
9
  // src/lib/yarn/isYarnVersionOrGreater.ts
6
10
  import { spawnSync } from "child_process";
@@ -39,118 +43,48 @@ var privatePackageExcludeList = () => {
39
43
  const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
40
44
  return excludeList;
41
45
  };
42
- var deploy = () => {
46
+ function deploy(level = "patch") {
43
47
  const excludeList = privatePackageExcludeList();
44
48
  if (excludeList.length > 0) {
45
49
  console.log("Excluding private packages from deployment:", excludeList);
46
50
  }
47
- return runSteps("Deploy [Patch]", [
48
- ["yarn", "workspaces foreach --all version patch --deferred"],
49
- ["yarn", "xy clean"],
50
- ["yarn", "xy build"],
51
- ["yarn", "version apply --all"]
52
- ]);
53
- };
54
-
55
- // src/actions/deploy-major.ts
56
- import { readFileSync as readFileSync2 } from "fs";
57
- import { runSteps as runSteps2 } from "@xylabs/ts-scripts-common";
58
- var privatePackageExcludeList2 = () => {
59
- const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
60
- workspace,
61
- JSON.parse(readFileSync2(`${workspace.location}/package.json`, { encoding: "utf8" }))
62
- ]);
63
- const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
64
- const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
65
- return excludeList;
66
- };
67
- var deployMajor = () => {
68
- const excludeList = privatePackageExcludeList2();
69
- if (excludeList.length > 0) {
70
- console.log("Excluding private packages from deployment:", excludeList);
71
- }
72
- return runSteps2("Deploy [Major]", [
73
- ["yarn", "workspaces foreach --all version major --deferred"],
74
- ["yarn", "xy clean"],
75
- ["yarn", "xy build"],
76
- ["yarn", "version apply --all"]
77
- ]);
78
- };
79
-
80
- // src/actions/deploy-minor.ts
81
- import { readFileSync as readFileSync3 } from "fs";
82
- import { runSteps as runSteps3 } from "@xylabs/ts-scripts-common";
83
- var privatePackageExcludeList3 = () => {
84
- const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
85
- workspace,
86
- JSON.parse(readFileSync3(`${workspace.location}/package.json`, { encoding: "utf8" }))
87
- ]);
88
- const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
89
- const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
90
- return excludeList;
91
- };
92
- var deployMinor = () => {
93
- const excludeList = privatePackageExcludeList3();
94
- if (excludeList.length > 0) {
95
- console.log("Excluding private packages from deployment:", excludeList);
96
- }
97
- return runSteps3("Deploy [Minor]", [
98
- ["yarn", "workspaces foreach --all version minor --deferred"],
99
- ["yarn", "xy clean"],
100
- ["yarn", "xy build"],
101
- ["yarn", "version apply --all"]
51
+ const label = level === "prerelease" ? "Next" : level.charAt(0).toUpperCase() + level.slice(1);
52
+ const pm = getPackageManager();
53
+ const result = runSteps(`Deploy [${label}]`, [
54
+ ...pm.versionBump(level),
55
+ pm.runXy(["clean"]),
56
+ pm.runXy(["build"]),
57
+ pm.versionApply()
102
58
  ]);
103
- };
104
-
105
- // src/actions/deploy-next.ts
106
- import { readFileSync as readFileSync4 } from "fs";
107
- import { runSteps as runSteps4 } from "@xylabs/ts-scripts-common";
108
- var privatePackageExcludeList4 = () => {
109
- const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
110
- workspace,
111
- JSON.parse(readFileSync4(`${workspace.location}/package.json`, { encoding: "utf8" }))
112
- ]);
113
- const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
114
- const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
115
- return excludeList;
116
- };
117
- var deployNext = () => {
118
- const excludeList = privatePackageExcludeList4();
119
- if (excludeList.length > 0) {
120
- console.log("Excluding private packages from deployment:", excludeList);
121
- }
122
- return runSteps4("Deploy [Next]", [
123
- ["yarn", "workspaces foreach --all version minor --deferred"],
124
- ["yarn", "xy clean"],
125
- ["yarn", "xy build"],
126
- ["yarn", "version apply --all --prerelease"]
127
- ]);
128
- };
59
+ logMonorepoVersion();
60
+ return result;
61
+ }
129
62
 
130
63
  // src/actions/publish.ts
131
- import { runSteps as runSteps5 } from "@xylabs/ts-scripts-common";
64
+ import { runSteps as runSteps2, syncInternalPeerVersions } from "@xylabs/ts-scripts-common";
132
65
  var publish = () => {
133
- return runSteps5("Publish", [["npm", ["publish", "--workspaces"]]]);
66
+ syncInternalPeerVersions();
67
+ return runSteps2("Publish", [["npm", ["publish", "--workspaces"]]]);
134
68
  };
135
69
 
136
70
  // src/actions/reinstall.ts
137
- import { packmanClean, runSteps as runSteps6 } from "@xylabs/ts-scripts-common";
71
+ import { packmanClean, runSteps as runSteps3 } from "@xylabs/ts-scripts-common";
138
72
  var reinstall = (verbose) => {
139
73
  const cleanResult = packmanClean({ verbose });
140
74
  if (cleanResult !== 0) return cleanResult;
141
- return runSteps6("Reinstall", [["yarn", "install --network-timeout 10000"]]);
75
+ return runSteps3("Reinstall", [["yarn", "install --network-timeout 10000"]]);
142
76
  };
143
77
 
144
78
  // src/actions/up.ts
145
- import { runSteps as runSteps7 } from "@xylabs/ts-scripts-common";
79
+ import { runSteps as runSteps4 } from "@xylabs/ts-scripts-common";
146
80
  var up = () => {
147
- return runSteps7("Up", [["yarn", "outdated"]]);
81
+ return runSteps4("Up", [["yarn", "outdated"]]);
148
82
  };
149
83
 
150
84
  // src/actions/updo.ts
151
- import { runSteps as runSteps8 } from "@xylabs/ts-scripts-common";
85
+ import { runSteps as runSteps5 } from "@xylabs/ts-scripts-common";
152
86
  var updo = () => {
153
- return runSteps8("Updo", [
87
+ return runSteps5("Updo", [
154
88
  ["yarn", "install"],
155
89
  ["yarn", "upgrade-interactive"],
156
90
  ["yarn", "dedupe"]
@@ -158,9 +92,9 @@ var updo = () => {
158
92
  };
159
93
 
160
94
  // src/actions/upplug.ts
161
- import { runSteps as runSteps9 } from "@xylabs/ts-scripts-common";
95
+ import { runSteps as runSteps6 } from "@xylabs/ts-scripts-common";
162
96
  var updateYarnPlugins = () => {
163
- return runSteps9("Update Yarn Plugins", [
97
+ return runSteps6("Update Yarn Plugins", [
164
98
  ["yarn", ["plugin", "import", "https://mskelton.dev/yarn-outdated/v3"]],
165
99
  ["yarn", ["plugin", "import", "version"]],
166
100
  ["yarn", ["plugin", "import", "interactive-tools"]],
@@ -169,9 +103,9 @@ var updateYarnPlugins = () => {
169
103
  };
170
104
 
171
105
  // src/actions/upyarn.ts
172
- import { runSteps as runSteps10 } from "@xylabs/ts-scripts-common";
106
+ import { runSteps as runSteps7 } from "@xylabs/ts-scripts-common";
173
107
  var updateYarnVersion = () => {
174
- return runSteps10("Update Yarn Version", [["yarn", ["set", "version", "latest"]]]);
108
+ return runSteps7("Update Yarn Version", [["yarn", ["set", "version", "latest"]]]);
175
109
  };
176
110
 
177
111
  // src/actions/yarn3only.ts
@@ -192,42 +126,22 @@ import {
192
126
  } from "@xylabs/ts-scripts-common";
193
127
 
194
128
  // src/xy/deploy/deployCommand.ts
129
+ var VALID_LEVELS = ["patch", "minor", "major", "prerelease"];
195
130
  var deployCommand = {
196
- command: "deploy",
197
- describe: "Deploy - Deploy patch",
198
- handler: (argv) => {
199
- if (argv.verbose) console.log("Deploy patch");
200
- process.exitCode = deploy();
201
- }
202
- };
203
-
204
- // src/xy/deploy/deployMajorCommand.ts
205
- var deployMajorCommand = {
206
- command: "deploy-major",
207
- describe: "Deploy - Deploy major",
208
- handler: (argv) => {
209
- if (argv.verbose) console.log("Deploy major");
210
- process.exitCode = deployMajor();
211
- }
212
- };
213
-
214
- // src/xy/deploy/deployMinorCommand.ts
215
- var deployMinorCommand = {
216
- command: "deploy-minor",
217
- describe: "Deploy - Deploy minor",
218
- handler: (argv) => {
219
- if (argv.verbose) console.log("Deploy minor");
220
- process.exitCode = deployMinor();
221
- }
222
- };
223
-
224
- // src/xy/deploy/deployNextCommand.ts
225
- var deployNextCommand = {
226
- command: "deploy-next",
227
- describe: "Deploy - Deploy next",
131
+ command: "deploy [level]",
132
+ describe: "Deploy - Version bump, build, and apply (default: patch)",
133
+ builder: (yargs) => {
134
+ return yargs.positional("level", {
135
+ choices: VALID_LEVELS,
136
+ default: "patch",
137
+ describe: "Semver bump level",
138
+ type: "string"
139
+ });
140
+ },
228
141
  handler: (argv) => {
229
- if (argv.verbose) console.log("Deploy next");
230
- process.exitCode = deployNext();
142
+ const level = argv.level ?? "patch";
143
+ if (argv.verbose) console.log(`Deploy ${level}`);
144
+ process.exitCode = deploy(level);
231
145
  }
232
146
  };
233
147
 
@@ -243,7 +157,7 @@ var publishCommand = {
243
157
 
244
158
  // src/xy/deploy/index.ts
245
159
  var xyDeployCommands = (args) => {
246
- return args.command(deployCommand).command(deployMinorCommand).command(deployMajorCommand).command(deployNextCommand).command(publishCommand);
160
+ return args.command(deployCommand).command(publishCommand);
247
161
  };
248
162
 
249
163
  // src/xy/install/cleanCommand.ts