@servicetitan/startup 32.3.2 → 32.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/cli/commands/get-command.d.ts.map +1 -1
  2. package/dist/cli/commands/get-command.js +2 -0
  3. package/dist/cli/commands/get-command.js.map +1 -1
  4. package/dist/cli/commands/init.d.ts +1 -1
  5. package/dist/cli/commands/init.d.ts.map +1 -1
  6. package/dist/cli/commands/init.js +6 -5
  7. package/dist/cli/commands/init.js.map +1 -1
  8. package/dist/cli/commands/install.d.ts +1 -4
  9. package/dist/cli/commands/install.d.ts.map +1 -1
  10. package/dist/cli/commands/install.js +12 -118
  11. package/dist/cli/commands/install.js.map +1 -1
  12. package/dist/cli/commands/lint.d.ts.map +1 -1
  13. package/dist/cli/commands/lint.js +7 -55
  14. package/dist/cli/commands/lint.js.map +1 -1
  15. package/dist/cli/commands/mfe-list.d.ts.map +1 -1
  16. package/dist/cli/commands/mfe-list.js +2 -1
  17. package/dist/cli/commands/mfe-list.js.map +1 -1
  18. package/dist/cli/commands/review/rules/index.d.ts.map +1 -1
  19. package/dist/cli/commands/review/rules/index.js +2 -0
  20. package/dist/cli/commands/review/rules/index.js.map +1 -1
  21. package/dist/cli/commands/review/rules/no-deprecated-startup-install.d.ts +7 -0
  22. package/dist/cli/commands/review/rules/no-deprecated-startup-install.d.ts.map +1 -0
  23. package/dist/cli/commands/review/rules/no-deprecated-startup-install.js +38 -0
  24. package/dist/cli/commands/review/rules/no-deprecated-startup-install.js.map +1 -0
  25. package/dist/cli/commands/review/types.d.ts +1 -0
  26. package/dist/cli/commands/review/types.d.ts.map +1 -1
  27. package/dist/cli/commands/review/types.js.map +1 -1
  28. package/dist/cli/commands/stylelint.d.ts +17 -0
  29. package/dist/cli/commands/stylelint.d.ts.map +1 -0
  30. package/dist/cli/commands/stylelint.js +63 -0
  31. package/dist/cli/commands/stylelint.js.map +1 -0
  32. package/dist/cli/commands/upload-sourcemaps.d.ts.map +1 -1
  33. package/dist/cli/commands/upload-sourcemaps.js +2 -1
  34. package/dist/cli/commands/upload-sourcemaps.js.map +1 -1
  35. package/dist/cli/utils/cli-git.d.ts +0 -9
  36. package/dist/cli/utils/cli-git.d.ts.map +1 -1
  37. package/dist/cli/utils/cli-git.js +0 -59
  38. package/dist/cli/utils/cli-git.js.map +1 -1
  39. package/dist/cli/utils/cli-npm.d.ts +0 -3
  40. package/dist/cli/utils/cli-npm.d.ts.map +1 -1
  41. package/dist/cli/utils/cli-npm.js +0 -22
  42. package/dist/cli/utils/cli-npm.js.map +1 -1
  43. package/dist/cli/utils/index.d.ts +0 -1
  44. package/dist/cli/utils/index.d.ts.map +1 -1
  45. package/dist/cli/utils/index.js +0 -1
  46. package/dist/cli/utils/index.js.map +1 -1
  47. package/dist/cli/utils/lerna-exec.d.ts.map +1 -1
  48. package/dist/cli/utils/lerna-exec.js +2 -2
  49. package/dist/cli/utils/lerna-exec.js.map +1 -1
  50. package/dist/cli/utils/stylelint.d.ts +8 -0
  51. package/dist/cli/utils/stylelint.d.ts.map +1 -0
  52. package/dist/cli/utils/stylelint.js +67 -0
  53. package/dist/cli/utils/stylelint.js.map +1 -0
  54. package/dist/utils/get-configuration.d.ts +1 -0
  55. package/dist/utils/get-configuration.d.ts.map +1 -1
  56. package/dist/utils/get-configuration.js +1 -0
  57. package/dist/utils/get-configuration.js.map +1 -1
  58. package/package.json +8 -9
  59. package/src/cli/commands/__tests__/init.test.ts +11 -14
  60. package/src/cli/commands/__tests__/install.test.ts +19 -224
  61. package/src/cli/commands/__tests__/lint.test.ts +52 -10
  62. package/src/cli/commands/__tests__/mfe-list.test.ts +5 -4
  63. package/src/cli/commands/__tests__/stylelint.test.ts +32 -0
  64. package/src/cli/commands/__tests__/upload-sourcemaps.test.ts +4 -7
  65. package/src/cli/commands/get-command.ts +2 -0
  66. package/src/cli/commands/init.ts +6 -4
  67. package/src/cli/commands/install.ts +13 -116
  68. package/src/cli/commands/lint.ts +5 -57
  69. package/src/cli/commands/mfe-list.ts +2 -1
  70. package/src/cli/commands/review/rules/__tests__/no-deprecated-startup-install.test.ts +81 -0
  71. package/src/cli/commands/review/rules/index.ts +2 -0
  72. package/src/cli/commands/review/rules/no-deprecated-startup-install.ts +30 -0
  73. package/src/cli/commands/review/types.ts +1 -0
  74. package/src/cli/commands/stylelint.ts +26 -0
  75. package/src/cli/commands/upload-sourcemaps.ts +2 -1
  76. package/src/cli/utils/__tests__/cli-git.test.ts +4 -140
  77. package/src/cli/utils/__tests__/cli-npm.test.ts +0 -43
  78. package/src/cli/utils/__tests__/lerna-exec.test.ts +2 -2
  79. package/src/cli/utils/__tests__/stylelint.test.ts +164 -0
  80. package/src/cli/utils/cli-git.ts +1 -52
  81. package/src/cli/utils/cli-npm.ts +0 -12
  82. package/src/cli/utils/index.ts +1 -1
  83. package/src/cli/utils/lerna-exec.ts +1 -1
  84. package/src/cli/utils/stylelint.ts +55 -0
  85. package/src/utils/get-configuration.ts +1 -0
  86. package/dist/cli/utils/is-ci.d.ts +0 -2
  87. package/dist/cli/utils/is-ci.d.ts.map +0 -1
  88. package/dist/cli/utils/is-ci.js +0 -15
  89. package/dist/cli/utils/is-ci.js.map +0 -1
  90. package/src/cli/utils/__tests__/is-ci.test.ts +0 -40
  91. package/src/cli/utils/is-ci.ts +0 -3
@@ -0,0 +1,7 @@
1
+ import { PackageError, PackageRule, Project } from '../types';
2
+ export declare class NoDeprecatedStartupInstall implements PackageRule {
3
+ get id(): string;
4
+ run(project: Project): PackageError | undefined;
5
+ fix({ location }: PackageError): void;
6
+ }
7
+ //# sourceMappingURL=no-deprecated-startup-install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-deprecated-startup-install.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/no-deprecated-startup-install.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE3E,qBAAa,0BAA2B,YAAW,WAAW;IAC1D,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS;IAc/C,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,YAAY;CAOjC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "NoDeprecatedStartupInstall", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return NoDeprecatedStartupInstall;
9
+ }
10
+ });
11
+ const _child_process = require("child_process");
12
+ const _types = require("../types");
13
+ class NoDeprecatedStartupInstall {
14
+ get id() {
15
+ return 'no-deprecated-startup-install';
16
+ }
17
+ run(project) {
18
+ var _root_scripts;
19
+ const root = project.packages.find(({ location })=>location === '.');
20
+ const bootstrap = root === null || root === void 0 ? void 0 : (_root_scripts = root.scripts) === null || _root_scripts === void 0 ? void 0 : _root_scripts.bootstrap;
21
+ if (bootstrap && /@servicetitan\/startup.* install/.test(bootstrap)) {
22
+ return {
23
+ id: this.id,
24
+ message: 'project uses deprecated "@servicetitan/startup install" script',
25
+ location: root.location,
26
+ fixable: _types.FixCategory.isolated
27
+ };
28
+ }
29
+ }
30
+ fix({ location }) {
31
+ if (!location) {
32
+ return;
33
+ }
34
+ (0, _child_process.execSync)('npm pkg set scripts.bootstrap="npx --yes @servicetitan/install"');
35
+ }
36
+ }
37
+
38
+ //# sourceMappingURL=no-deprecated-startup-install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cli/commands/review/rules/no-deprecated-startup-install.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport { FixCategory, PackageError, PackageRule, Project } from '../types';\n\nexport class NoDeprecatedStartupInstall implements PackageRule {\n get id() {\n return 'no-deprecated-startup-install';\n }\n\n run(project: Project): PackageError | undefined {\n const root = project.packages.find(({ location }) => location === '.');\n const bootstrap = root?.scripts?.bootstrap;\n\n if (bootstrap && /@servicetitan\\/startup.* install/.test(bootstrap)) {\n return {\n id: this.id,\n message: 'project uses deprecated \"@servicetitan/startup install\" script',\n location: root.location,\n fixable: FixCategory.isolated,\n };\n }\n }\n\n fix({ location }: PackageError) {\n if (!location) {\n return;\n }\n\n execSync('npm pkg set scripts.bootstrap=\"npx --yes @servicetitan/install\"');\n }\n}\n"],"names":["NoDeprecatedStartupInstall","id","run","project","root","packages","find","location","bootstrap","scripts","test","message","fixable","FixCategory","isolated","fix","execSync"],"mappings":";;;;+BAGaA;;;eAAAA;;;+BAHY;uBACuC;AAEzD,MAAMA;IACT,IAAIC,KAAK;QACL,OAAO;IACX;IAEAC,IAAIC,OAAgB,EAA4B;YAE1BC;QADlB,MAAMA,OAAOD,QAAQE,QAAQ,CAACC,IAAI,CAAC,CAAC,EAAEC,QAAQ,EAAE,GAAKA,aAAa;QAClE,MAAMC,YAAYJ,iBAAAA,4BAAAA,gBAAAA,KAAMK,OAAO,cAAbL,oCAAAA,cAAeI,SAAS;QAE1C,IAAIA,aAAa,mCAAmCE,IAAI,CAACF,YAAY;YACjE,OAAO;gBACHP,IAAI,IAAI,CAACA,EAAE;gBACXU,SAAS;gBACTJ,UAAUH,KAAKG,QAAQ;gBACvBK,SAASC,kBAAW,CAACC,QAAQ;YACjC;QACJ;IACJ;IAEAC,IAAI,EAAER,QAAQ,EAAgB,EAAE;QAC5B,IAAI,CAACA,UAAU;YACX;QACJ;QAEAS,IAAAA,uBAAQ,EAAC;IACb;AACJ"}
@@ -38,6 +38,7 @@ export interface Package {
38
38
  name: string;
39
39
  peerDependencies?: Record<string, string>;
40
40
  private?: boolean;
41
+ scripts?: Record<string, string>;
41
42
  sideEffects?: any;
42
43
  workspaces?: string[];
43
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/review/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/review/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/commands/review/types.ts"],"sourcesContent":["export abstract class PackageRule {\n abstract get id(): string;\n abstract run(project: Project): PackageError | PackageError[] | undefined;\n abstract fix?(error: PackageError, project: Project): void;\n}\n\nexport interface Project {\n config: ReviewConfiguration;\n dependencies: Dependencies;\n // Only using this subset of package-lock.json\n packageLock: {\n packages: Record<\n string,\n {\n version: string;\n dependencies?: Record<string, string>;\n peerDependencies?: Record<string, string>;\n }\n >;\n location: string;\n };\n packages: Package[];\n}\n\n/**\n * Maps package name to versions and dependents of those versions.\n */\nexport interface Dependencies {\n [packageName: string]: {\n [version: string]: string[];\n };\n}\n\n/**\n * Subset of package.json used by rules\n */\nexport interface Package {\n cli?: CliOptions;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n exports?: string | Record<string, string | Record<string, string>> | null;\n location: string;\n main?: string;\n module?: string;\n name: string;\n peerDependencies?: Record<string, string>;\n private?: boolean;\n sideEffects?: any;\n workspaces?: string[];\n}\n\ninterface CliOptions {\n webpack?: false | Record<string, any>;\n}\n\nexport interface PackageError<T = any> {\n data?: T;\n details?: string | string[];\n fixable?: FixCategory;\n id: string;\n location?: string;\n message: string;\n severity?: ErrorSeverity;\n}\n\nexport enum ErrorSeverity {\n error = 1,\n warning = 2,\n}\n\nexport enum FixCategory {\n isolated = 'isolated', // fix examines and changes at most one dependency or package.json, if any\n normal = 'normal', // fix potentially examines and changes multiple dependencies\n lockFile = 'lockFile', // fix examines and changes package-lock.json\n}\n\nexport interface ReviewConfiguration {\n rules?: { [id: string]: RuleConfiguration };\n}\n\nexport type RuleConfiguration =\n | Level\n | [Level]\n | [Level, { exclude?: string[] | Record<string, string[]> }];\n\nexport type Level = 'warn' | 'error' | 'off';\n"],"names":["ErrorSeverity","FixCategory","PackageRule"],"mappings":";;;;;;;;;;;QAiEYA;eAAAA;;QAKAC;eAAAA;;QAtEUC;eAAAA;;;AAAf,MAAeA;AAItB;AA6DO,IAAA,AAAKF,uCAAAA;;;WAAAA;;AAKL,IAAA,AAAKC,qCAAAA;;;;WAAAA"}
1
+ {"version":3,"sources":["../../../../src/cli/commands/review/types.ts"],"sourcesContent":["export abstract class PackageRule {\n abstract get id(): string;\n abstract run(project: Project): PackageError | PackageError[] | undefined;\n abstract fix?(error: PackageError, project: Project): void;\n}\n\nexport interface Project {\n config: ReviewConfiguration;\n dependencies: Dependencies;\n // Only using this subset of package-lock.json\n packageLock: {\n packages: Record<\n string,\n {\n version: string;\n dependencies?: Record<string, string>;\n peerDependencies?: Record<string, string>;\n }\n >;\n location: string;\n };\n packages: Package[];\n}\n\n/**\n * Maps package name to versions and dependents of those versions.\n */\nexport interface Dependencies {\n [packageName: string]: {\n [version: string]: string[];\n };\n}\n\n/**\n * Subset of package.json used by rules\n */\nexport interface Package {\n cli?: CliOptions;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n exports?: string | Record<string, string | Record<string, string>> | null;\n location: string;\n main?: string;\n module?: string;\n name: string;\n peerDependencies?: Record<string, string>;\n private?: boolean;\n scripts?: Record<string, string>;\n sideEffects?: any;\n workspaces?: string[];\n}\n\ninterface CliOptions {\n webpack?: false | Record<string, any>;\n}\n\nexport interface PackageError<T = any> {\n data?: T;\n details?: string | string[];\n fixable?: FixCategory;\n id: string;\n location?: string;\n message: string;\n severity?: ErrorSeverity;\n}\n\nexport enum ErrorSeverity {\n error = 1,\n warning = 2,\n}\n\nexport enum FixCategory {\n isolated = 'isolated', // fix examines and changes at most one dependency or package.json, if any\n normal = 'normal', // fix potentially examines and changes multiple dependencies\n lockFile = 'lockFile', // fix examines and changes package-lock.json\n}\n\nexport interface ReviewConfiguration {\n rules?: { [id: string]: RuleConfiguration };\n}\n\nexport type RuleConfiguration =\n | Level\n | [Level]\n | [Level, { exclude?: string[] | Record<string, string[]> }];\n\nexport type Level = 'warn' | 'error' | 'off';\n"],"names":["ErrorSeverity","FixCategory","PackageRule"],"mappings":";;;;;;;;;;;QAkEYA;eAAAA;;QAKAC;eAAAA;;QAvEUC;eAAAA;;;AAAf,MAAeA;AAItB;AA8DO,IAAA,AAAKF,uCAAAA;;;WAAAA;;AAKL,IAAA,AAAKC,qCAAAA;;;;WAAAA"}
@@ -0,0 +1,17 @@
1
+ import { Command, CommandArgs } from './types';
2
+ interface Args extends CommandArgs {
3
+ _: string[];
4
+ fix?: boolean;
5
+ paths?: string[];
6
+ }
7
+ export declare class Stylelint extends Command<Args> {
8
+ static readonly options: {
9
+ _: {
10
+ description: string;
11
+ };
12
+ };
13
+ execute(): Promise<void>;
14
+ private get paths();
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=stylelint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stylelint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stylelint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,UAAU,IAAK,SAAQ,WAAW;IAC9B,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qBAAa,SAAU,SAAQ,OAAO,CAAC,IAAI,CAAC;IACxC,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;MAErB;IAGI,OAAO;IAIb,OAAO,KAAK,KAAK,GAGhB;CACJ"}
@@ -0,0 +1,63 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Stylelint", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Stylelint;
9
+ }
10
+ });
11
+ const _utils = require("../../utils");
12
+ const _stylelint = require("../utils/stylelint");
13
+ const _types = require("./types");
14
+ function _define_property(obj, key, value) {
15
+ if (key in obj) {
16
+ Object.defineProperty(obj, key, {
17
+ value: value,
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true
21
+ });
22
+ } else {
23
+ obj[key] = value;
24
+ }
25
+ return obj;
26
+ }
27
+ function _ts_decorate(decorators, target, key, desc) {
28
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
29
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
30
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
31
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
32
+ }
33
+ function _ts_metadata(k, v) {
34
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
35
+ }
36
+ class Stylelint extends _types.Command {
37
+ async execute() {
38
+ await (0, _stylelint.stylelint)({
39
+ fix: this.args.fix,
40
+ paths: this.paths
41
+ });
42
+ }
43
+ get paths() {
44
+ const { _, paths = [] } = this.args;
45
+ return [
46
+ ..._,
47
+ ...paths
48
+ ];
49
+ }
50
+ }
51
+ _define_property(Stylelint, "options", {
52
+ _: {
53
+ description: '[paths...]'
54
+ }
55
+ });
56
+ _ts_decorate([
57
+ _utils.logErrors,
58
+ _ts_metadata("design:type", Function),
59
+ _ts_metadata("design:paramtypes", []),
60
+ _ts_metadata("design:returntype", Promise)
61
+ ], Stylelint.prototype, "execute", null);
62
+
63
+ //# sourceMappingURL=stylelint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/commands/stylelint.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { logErrors } from '../../utils';\nimport { stylelint } from '../utils/stylelint';\nimport { Command, CommandArgs } from './types';\n\ninterface Args extends CommandArgs {\n _: string[];\n fix?: boolean;\n paths?: string[];\n}\n\nexport class Stylelint extends Command<Args> {\n static readonly options = {\n _: { description: '[paths...]' },\n };\n\n @logErrors\n async execute() {\n await stylelint({ fix: this.args.fix, paths: this.paths });\n }\n\n private get paths() {\n const { _, paths = [] } = this.args;\n return [..._, ...paths];\n }\n}\n"],"names":["Stylelint","Command","execute","stylelint","fix","args","paths","_","options","description"],"mappings":"AAAA,uDAAuD;;;;+BAW1CA;;;eAAAA;;;uBAVa;2BACA;uBACW;;;;;;;;;;;;;;;;;;;;;;;AAQ9B,MAAMA,kBAAkBC,cAAO;IAKlC,MACMC,UAAU;QACZ,MAAMC,IAAAA,oBAAS,EAAC;YAAEC,KAAK,IAAI,CAACC,IAAI,CAACD,GAAG;YAAEE,OAAO,IAAI,CAACA,KAAK;QAAC;IAC5D;IAEA,IAAYA,QAAQ;QAChB,MAAM,EAAEC,CAAC,EAAED,QAAQ,EAAE,EAAE,GAAG,IAAI,CAACD,IAAI;QACnC,OAAO;eAAIE;eAAMD;SAAM;IAC3B;AACJ;AAbI,iBADSN,WACOQ,WAAU;IACtBD,GAAG;QAAEE,aAAa;IAAa;AACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"upload-sourcemaps.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upload-sourcemaps.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,UAAU,IAAK,SAAQ,WAAW;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CAC1B;AAMD,qBAAa,gBAAiB,SAAQ,OAAO,CAAC,IAAI,CAAC;;IAMzC,OAAO;IAWb,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,GAAG;CAId"}
1
+ {"version":3,"file":"upload-sourcemaps.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upload-sourcemaps.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,UAAU,IAAK,SAAQ,WAAW;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CAC1B;AAMD,qBAAa,gBAAiB,SAAQ,OAAO,CAAC,IAAI,CAAC;;IAMzC,OAAO;IAWb,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,GAAG;CAId"}
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "UploadSourcemaps", {
8
8
  return UploadSourcemaps;
9
9
  }
10
10
  });
11
+ const _install = require("@servicetitan/install");
11
12
  const _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
13
  const _child_process = require("child_process");
13
14
  const _utils = require("../../utils");
@@ -81,7 +82,7 @@ class UploadSourcemaps extends _types.Command {
81
82
  checkArgs() {
82
83
  if (!process.env.DATADOG_API_KEY) {
83
84
  const message = 'DATADOG_API_KEY environment variable is not set';
84
- if (!(0, _utils1.isCI)()) {
85
+ if (!(0, _install.isCI)()) {
85
86
  throw new Error(message);
86
87
  }
87
88
  _utils.log.warning(`${message}; skipping sourcemaps`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/upload-sourcemaps.ts"],"sourcesContent":["import path from 'path';\nimport { execSync } from 'child_process';\nimport { getTsConfig, isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { isCI, TSConfig } from '../utils';\nimport { Command, CommandArgs } from './types';\n\ninterface Args extends CommandArgs {\n dry?: boolean;\n releaseVersion: string;\n}\n\ninterface PackageJson {\n name: string;\n}\n\nexport class UploadSourcemaps extends Command<Args> {\n #outDir?: string;\n #packageJson?: PackageJson;\n\n @logErrors\n // eslint-disable-next-line @typescript-eslint/require-await\n async execute() {\n this.checkLocation();\n if (!this.checkArgs()) {\n return;\n }\n\n const bundleDir = this.getBundleDir();\n const options = this.getOptions().join(' ');\n this.run(`npx --yes @datadog/datadog-ci@3 sourcemaps upload ${bundleDir} ${options}`);\n }\n\n private checkArgs() {\n if (!process.env.DATADOG_API_KEY) {\n const message = 'DATADOG_API_KEY environment variable is not set';\n if (!isCI()) {\n throw new Error(message);\n }\n log.warning(`${message}; skipping sourcemaps`);\n return false;\n }\n\n if (!this.args.releaseVersion) {\n throw new Error('--release-version is required');\n }\n\n return true;\n }\n\n private checkLocation() {\n if (!isWebComponent()) {\n throw new Error(`this command must be run inside a web-component directory`);\n }\n }\n\n private getBundleDir() {\n return path.relative('.', path.join(this.getOutDir(), 'bundle'));\n }\n\n private getMinifiedPrefixPath() {\n const { name } = this.getPackageJson();\n const baseUrl = `https://unpkg.servicetitan.com/${name}@${this.args.releaseVersion}`;\n return `${baseUrl}/${this.getBundleDir().replace(/\\\\/g, '/')}`;\n }\n\n private getOptions() {\n const { dry, releaseVersion } = this.args;\n const service = this.getPackageJson().name.replace(/^[^/]+\\//, '');\n return [\n ...[dry && `--dry-run`],\n `--service=${service}`,\n `--release-version=${releaseVersion}`,\n `--minified-path-prefix=${this.getMinifiedPrefixPath()}`,\n `--project-path=${this.getProjectPath()}`,\n ].filter(item => !!item) as string[];\n }\n\n private getOutDir() {\n if (!this.#outDir) {\n const outDir = new TSConfig(getTsConfig()).getValue<string>('compilerOptions.outDir');\n if (!outDir) {\n throw new Error('compilerOptions.outDir is not configured');\n }\n\n this.#outDir = outDir;\n }\n return this.#outDir;\n }\n\n private getPackageJson() {\n if (!this.#packageJson) {\n this.#packageJson = readJson<PackageJson>('package.json');\n }\n return this.#packageJson;\n }\n\n private getProjectPath() {\n const name = readJson(path.join(this.getOutDir(), 'metadata.json')).name;\n return `${name}/`;\n }\n\n private run(command: string) {\n log.info(`Running: ${command}`);\n return execSync(command, { stdio: 'inherit' });\n }\n}\n"],"names":["UploadSourcemaps","Command","execute","checkLocation","checkArgs","bundleDir","getBundleDir","options","getOptions","join","run","process","env","DATADOG_API_KEY","message","isCI","Error","log","warning","args","releaseVersion","isWebComponent","path","relative","getOutDir","getMinifiedPrefixPath","name","getPackageJson","baseUrl","replace","dry","service","getProjectPath","filter","item","outDir","TSConfig","getTsConfig","getValue","readJson","command","info","execSync","stdio"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/upload-sourcemaps.ts"],"sourcesContent":["import { isCI } from '@servicetitan/install';\nimport path from 'path';\nimport { execSync } from 'child_process';\nimport { getTsConfig, isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { TSConfig } from '../utils';\nimport { Command, CommandArgs } from './types';\n\ninterface Args extends CommandArgs {\n dry?: boolean;\n releaseVersion: string;\n}\n\ninterface PackageJson {\n name: string;\n}\n\nexport class UploadSourcemaps extends Command<Args> {\n #outDir?: string;\n #packageJson?: PackageJson;\n\n @logErrors\n // eslint-disable-next-line @typescript-eslint/require-await\n async execute() {\n this.checkLocation();\n if (!this.checkArgs()) {\n return;\n }\n\n const bundleDir = this.getBundleDir();\n const options = this.getOptions().join(' ');\n this.run(`npx --yes @datadog/datadog-ci@3 sourcemaps upload ${bundleDir} ${options}`);\n }\n\n private checkArgs() {\n if (!process.env.DATADOG_API_KEY) {\n const message = 'DATADOG_API_KEY environment variable is not set';\n if (!isCI()) {\n throw new Error(message);\n }\n log.warning(`${message}; skipping sourcemaps`);\n return false;\n }\n\n if (!this.args.releaseVersion) {\n throw new Error('--release-version is required');\n }\n\n return true;\n }\n\n private checkLocation() {\n if (!isWebComponent()) {\n throw new Error(`this command must be run inside a web-component directory`);\n }\n }\n\n private getBundleDir() {\n return path.relative('.', path.join(this.getOutDir(), 'bundle'));\n }\n\n private getMinifiedPrefixPath() {\n const { name } = this.getPackageJson();\n const baseUrl = `https://unpkg.servicetitan.com/${name}@${this.args.releaseVersion}`;\n return `${baseUrl}/${this.getBundleDir().replace(/\\\\/g, '/')}`;\n }\n\n private getOptions() {\n const { dry, releaseVersion } = this.args;\n const service = this.getPackageJson().name.replace(/^[^/]+\\//, '');\n return [\n ...[dry && `--dry-run`],\n `--service=${service}`,\n `--release-version=${releaseVersion}`,\n `--minified-path-prefix=${this.getMinifiedPrefixPath()}`,\n `--project-path=${this.getProjectPath()}`,\n ].filter(item => !!item) as string[];\n }\n\n private getOutDir() {\n if (!this.#outDir) {\n const outDir = new TSConfig(getTsConfig()).getValue<string>('compilerOptions.outDir');\n if (!outDir) {\n throw new Error('compilerOptions.outDir is not configured');\n }\n\n this.#outDir = outDir;\n }\n return this.#outDir;\n }\n\n private getPackageJson() {\n if (!this.#packageJson) {\n this.#packageJson = readJson<PackageJson>('package.json');\n }\n return this.#packageJson;\n }\n\n private getProjectPath() {\n const name = readJson(path.join(this.getOutDir(), 'metadata.json')).name;\n return `${name}/`;\n }\n\n private run(command: string) {\n log.info(`Running: ${command}`);\n return execSync(command, { stdio: 'inherit' });\n }\n}\n"],"names":["UploadSourcemaps","Command","execute","checkLocation","checkArgs","bundleDir","getBundleDir","options","getOptions","join","run","process","env","DATADOG_API_KEY","message","isCI","Error","log","warning","args","releaseVersion","isWebComponent","path","relative","getOutDir","getMinifiedPrefixPath","name","getPackageJson","baseUrl","replace","dry","service","getProjectPath","filter","item","outDir","TSConfig","getTsConfig","getValue","readJson","command","info","execSync","stdio"],"mappings":"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"}
@@ -1,12 +1,3 @@
1
1
  export declare function gitGetBranch(): string;
2
2
  export declare function gitGetCommitHash(): string;
3
- interface Repo {
4
- owner?: string;
5
- name: string;
6
- }
7
- export declare function gitCloneRepo(params: Repo & {
8
- destination: string;
9
- }): Promise<boolean>;
10
- export declare function gitIsReachable({ owner, name }: Repo): boolean;
11
- export {};
12
3
  //# sourceMappingURL=cli-git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-git.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-git.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,UAAU,IAAI;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,oBAsBxE;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAsB,EAAE,IAAI,EAAE,EAAE,IAAI,WASpE"}
1
+ {"version":3,"file":"cli-git.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-git.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
@@ -9,78 +9,19 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- get gitCloneRepo () {
13
- return gitCloneRepo;
14
- },
15
12
  get gitGetBranch () {
16
13
  return gitGetBranch;
17
14
  },
18
15
  get gitGetCommitHash () {
19
16
  return gitGetCommitHash;
20
- },
21
- get gitIsReachable () {
22
- return gitIsReachable;
23
17
  }
24
18
  });
25
- const _utils = require("../../utils");
26
19
  const _clios = require("./cli-os");
27
- const _isci = require("./is-ci");
28
20
  function gitGetBranch() {
29
21
  return (0, _clios.runCommandOutput)('git rev-parse --abbrev-ref HEAD').trim();
30
22
  }
31
23
  function gitGetCommitHash() {
32
24
  return (0, _clios.runCommandOutput)('git rev-parse --short HEAD').trim();
33
25
  }
34
- async function gitCloneRepo(params) {
35
- const { destination, name, owner = 'servicetitan' } = params;
36
- const gitUrls = getGitUrls({
37
- owner,
38
- name
39
- });
40
- for (const url of gitUrls){
41
- try {
42
- const command = `git clone -q ${url} ${destination}`;
43
- _utils.log.debug('git:clone-repo', `running ${command}`);
44
- // eslint-disable-next-line no-await-in-loop
45
- await (0, _clios.runCommand)(command, {
46
- quiet: true,
47
- // eslint-disable-next-line @typescript-eslint/naming-convention
48
- env: {
49
- ...process.env,
50
- GIT_TERMINAL_PROMPT: '0'
51
- }
52
- });
53
- return true;
54
- } catch (e) {
55
- // ignore error
56
- }
57
- }
58
- return false;
59
- }
60
- function gitIsReachable({ owner = 'servicetitan', name }) {
61
- return getGitUrls({
62
- owner,
63
- name
64
- }).some((url)=>{
65
- try {
66
- (0, _clios.runCommandOutput)(`git ls-remote -qt ${url}`, {
67
- quiet: true
68
- });
69
- return true;
70
- } catch (e) {
71
- return false;
72
- }
73
- });
74
- }
75
- function getGitUrls({ owner, name }) {
76
- const webUrl = `https://github.com/${owner}/${name}.git`;
77
- const sshUrl = `git@github.com:${owner}/${name}.git`;
78
- return (0, _isci.isCI)() && !!process.env.GITHUB_TOKEN ? [
79
- webUrl.replace('github.com', `oauth2:${process.env.GITHUB_TOKEN}@github.com`)
80
- ] : [
81
- sshUrl,
82
- webUrl
83
- ];
84
- }
85
26
 
86
27
  //# sourceMappingURL=cli-git.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/utils/cli-git.ts"],"sourcesContent":["import { log } from '../../utils';\nimport { runCommand, runCommandOutput } from './cli-os';\nimport { isCI } from './is-ci';\n\nexport function gitGetBranch(): string {\n return runCommandOutput('git rev-parse --abbrev-ref HEAD').trim();\n}\n\nexport function gitGetCommitHash(): string {\n return runCommandOutput('git rev-parse --short HEAD').trim();\n}\n\ninterface Repo {\n owner?: string;\n name: string;\n}\n\nexport async function gitCloneRepo(params: Repo & { destination: string }) {\n const { destination, name, owner = 'servicetitan' } = params;\n const gitUrls = getGitUrls({ owner, name });\n\n for (const url of gitUrls) {\n try {\n const command = `git clone -q ${url} ${destination}`;\n log.debug('git:clone-repo', `running ${command}`);\n\n // eslint-disable-next-line no-await-in-loop\n await runCommand(command, {\n quiet: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n env: { ...process.env, GIT_TERMINAL_PROMPT: '0' },\n });\n return true;\n } catch {\n // ignore error\n }\n }\n\n return false;\n}\n\nexport function gitIsReachable({ owner = 'servicetitan', name }: Repo) {\n return getGitUrls({ owner, name }).some(url => {\n try {\n runCommandOutput(`git ls-remote -qt ${url}`, { quiet: true });\n return true;\n } catch {\n return false;\n }\n });\n}\n\nfunction getGitUrls({ owner, name }: Repo) {\n const webUrl = `https://github.com/${owner}/${name}.git`;\n const sshUrl = `git@github.com:${owner}/${name}.git`;\n\n return isCI() && !!process.env.GITHUB_TOKEN\n ? [webUrl.replace('github.com', `oauth2:${process.env.GITHUB_TOKEN}@github.com`)]\n : [sshUrl, webUrl];\n}\n"],"names":["gitCloneRepo","gitGetBranch","gitGetCommitHash","gitIsReachable","runCommandOutput","trim","params","destination","name","owner","gitUrls","getGitUrls","url","command","log","debug","runCommand","quiet","env","process","GIT_TERMINAL_PROMPT","some","webUrl","sshUrl","isCI","GITHUB_TOKEN","replace"],"mappings":";;;;;;;;;;;QAiBsBA;eAAAA;;QAbNC;eAAAA;;QAIAC;eAAAA;;QAiCAC;eAAAA;;;uBAzCI;uBACyB;sBACxB;AAEd,SAASF;IACZ,OAAOG,IAAAA,uBAAgB,EAAC,mCAAmCC,IAAI;AACnE;AAEO,SAASH;IACZ,OAAOE,IAAAA,uBAAgB,EAAC,8BAA8BC,IAAI;AAC9D;AAOO,eAAeL,aAAaM,MAAsC;IACrE,MAAM,EAAEC,WAAW,EAAEC,IAAI,EAAEC,QAAQ,cAAc,EAAE,GAAGH;IACtD,MAAMI,UAAUC,WAAW;QAAEF;QAAOD;IAAK;IAEzC,KAAK,MAAMI,OAAOF,QAAS;QACvB,IAAI;YACA,MAAMG,UAAU,CAAC,aAAa,EAAED,IAAI,CAAC,EAAEL,aAAa;YACpDO,UAAG,CAACC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAEF,SAAS;YAEhD,4CAA4C;YAC5C,MAAMG,IAAAA,iBAAU,EAACH,SAAS;gBACtBI,OAAO;gBACP,gEAAgE;gBAChEC,KAAK;oBAAE,GAAGC,QAAQD,GAAG;oBAAEE,qBAAqB;gBAAI;YACpD;YACA,OAAO;QACX,EAAE,UAAM;QACJ,eAAe;QACnB;IACJ;IAEA,OAAO;AACX;AAEO,SAASjB,eAAe,EAAEM,QAAQ,cAAc,EAAED,IAAI,EAAQ;IACjE,OAAOG,WAAW;QAAEF;QAAOD;IAAK,GAAGa,IAAI,CAACT,CAAAA;QACpC,IAAI;YACAR,IAAAA,uBAAgB,EAAC,CAAC,kBAAkB,EAAEQ,KAAK,EAAE;gBAAEK,OAAO;YAAK;YAC3D,OAAO;QACX,EAAE,UAAM;YACJ,OAAO;QACX;IACJ;AACJ;AAEA,SAASN,WAAW,EAAEF,KAAK,EAAED,IAAI,EAAQ;IACrC,MAAMc,SAAS,CAAC,mBAAmB,EAAEb,MAAM,CAAC,EAAED,KAAK,IAAI,CAAC;IACxD,MAAMe,SAAS,CAAC,eAAe,EAAEd,MAAM,CAAC,EAAED,KAAK,IAAI,CAAC;IAEpD,OAAOgB,IAAAA,UAAI,OAAM,CAAC,CAACL,QAAQD,GAAG,CAACO,YAAY,GACrC;QAACH,OAAOI,OAAO,CAAC,cAAc,CAAC,OAAO,EAAEP,QAAQD,GAAG,CAACO,YAAY,CAAC,WAAW,CAAC;KAAE,GAC/E;QAACF;QAAQD;KAAO;AAC1B"}
1
+ {"version":3,"sources":["../../../src/cli/utils/cli-git.ts"],"sourcesContent":["import { runCommandOutput } from './cli-os';\n\nexport function gitGetBranch(): string {\n return runCommandOutput('git rev-parse --abbrev-ref HEAD').trim();\n}\n\nexport function gitGetCommitHash(): string {\n return runCommandOutput('git rev-parse --short HEAD').trim();\n}\n"],"names":["gitGetBranch","gitGetCommitHash","runCommandOutput","trim"],"mappings":";;;;;;;;;;;QAEgBA;eAAAA;;QAIAC;eAAAA;;;uBANiB;AAE1B,SAASD;IACZ,OAAOE,IAAAA,uBAAgB,EAAC,mCAAmCC,IAAI;AACnE;AAEO,SAASF;IACZ,OAAOC,IAAAA,uBAAgB,EAAC,8BAA8BC,IAAI;AAC9D"}
@@ -28,7 +28,4 @@ export declare function npmView({ packageName, registry }: {
28
28
  packageName: string;
29
29
  registry?: string;
30
30
  }): NPMPackageInfo | undefined;
31
- export declare function npmWhoAmI({ registry }?: {
32
- registry?: string;
33
- }): string | undefined;
34
31
  //# sourceMappingURL=cli-npm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-npm.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-npm.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAWrF;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE,CAmB7F;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAI/F;AAED,wBAAsB,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,iBAE7E;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAE7D;AAED,wBAAsB,aAAa,CAAC,EAChC,WAAW,EACX,cAAc,EACd,QAAQ,EACR,GAAG,GACN,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACf,iBAMA;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,8BAY5F;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,sBAUjE"}
1
+ {"version":3,"file":"cli-npm.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-npm.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAWrF;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE,CAmB7F;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAI/F;AAED,wBAAsB,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,iBAE7E;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAE7D;AAED,wBAAsB,aAAa,CAAC,EAChC,WAAW,EACX,cAAc,EACd,QAAQ,EACR,GAAG,GACN,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACf,iBAMA;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,8BAY5F"}
@@ -29,9 +29,6 @@ _export(exports, {
29
29
  },
30
30
  get npmView () {
31
31
  return npmView;
32
- },
33
- get npmWhoAmI () {
34
- return npmWhoAmI;
35
32
  }
36
33
  });
37
34
  const _clios = require("./cli-os");
@@ -107,24 +104,5 @@ function npmView({ packageName, registry }) {
107
104
  // ignore
108
105
  }
109
106
  }
110
- function npmWhoAmI({ registry } = {}) {
111
- try {
112
- return (0, _clios.runCommandOutput)([
113
- 'npm',
114
- 'whoami',
115
- registry ? `--registry=${registry}` : ''
116
- ], {
117
- quiet: true,
118
- stdio: [
119
- 'pipe',
120
- 'pipe',
121
- 'ignore'
122
- ],
123
- timeout: NPM_TIMEOUT
124
- }).trim();
125
- } catch (e) {
126
- // ignore
127
- }
128
- }
129
107
 
130
108
  //# sourceMappingURL=cli-npm.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/utils/cli-npm.ts"],"sourcesContent":["import { runCommand, runCommandOutput } from './cli-os';\n\nexport interface Version {\n name: string;\n date: Date;\n tag?: string;\n}\n\nconst NPM_TIMEOUT = 10000;\n\nexport function npmGetPackageVersions(registry: string, packageName: string): string[] {\n try {\n const v = runCommandOutput(\n `npm show ${packageName} versions --registry ${registry} --json`,\n { timeout: NPM_TIMEOUT }\n );\n\n return JSON.parse(v);\n } catch {\n return [];\n }\n}\n\nexport function npmGetPackageVersionsDetails(registry: string, packageName: string): Version[] {\n try {\n const result = runCommandOutput(\n `npm view ${packageName} time dist-tags --registry ${registry} --json`,\n { timeout: NPM_TIMEOUT }\n );\n\n const { time, 'dist-tags': distTags } = JSON.parse(result);\n\n const tags = Object.fromEntries(\n Object.entries(distTags).map(([tag, version]) => [version, tag])\n );\n\n return Object.keys(time).reduce((out, version) => {\n return [...out, { name: version, date: new Date(time[version]), tag: tags[version] }];\n }, []);\n } catch {\n return [];\n }\n}\n\nexport async function npmUnpublish(registry: string, packageName: string, packageVersion: string) {\n await runCommand(`npm unpublish ${packageName}@${packageVersion} --registry ${registry}`, {\n timeout: NPM_TIMEOUT,\n });\n}\n\nexport async function npmPublish({ dry, tag }: { dry?: boolean; tag?: string }) {\n await runCommand(['npm publish', !!tag && `--tag ${tag}`, !!dry && `--dry-run`]);\n}\n\nexport async function npmPackageSet(key: string, value: string) {\n await runCommand(`npm pkg set ${key}=${value}`);\n}\n\nexport async function npmTagVersion({\n packageName,\n packageVersion,\n registry,\n tag,\n}: {\n packageName: string;\n packageVersion: string;\n registry?: string;\n tag: string;\n}) {\n await runCommand(\n `npm dist-tag ${\n registry ? `--registry=${registry} ` : ''\n }add ${packageName}@${packageVersion} ${tag}`\n );\n}\n\nexport interface NPMPackageInfo {\n 'name': string;\n 'version': string;\n 'dist-tags'?: Record<string, string>;\n 'time'?: Record<string, string>;\n 'versions'?: string[];\n}\n\nexport function npmView({ packageName, registry }: { packageName: string; registry?: string }) {\n try {\n const result = runCommandOutput(\n ['npm', 'view', '--json', registry ? `--registry=${registry}` : '', packageName],\n { quiet: true, timeout: NPM_TIMEOUT }\n );\n if (result) {\n return JSON.parse(result) as NPMPackageInfo;\n }\n } catch {\n // ignore\n }\n}\n\nexport function npmWhoAmI({ registry }: { registry?: string } = {}) {\n try {\n return runCommandOutput(['npm', 'whoami', registry ? `--registry=${registry}` : ''], {\n quiet: true,\n stdio: ['pipe', 'pipe', 'ignore'],\n timeout: NPM_TIMEOUT,\n }).trim();\n } catch {\n // ignore\n }\n}\n"],"names":["npmGetPackageVersions","npmGetPackageVersionsDetails","npmPackageSet","npmPublish","npmTagVersion","npmUnpublish","npmView","npmWhoAmI","NPM_TIMEOUT","registry","packageName","v","runCommandOutput","timeout","JSON","parse","result","time","distTags","tags","Object","fromEntries","entries","map","tag","version","keys","reduce","out","name","date","Date","packageVersion","runCommand","dry","key","value","quiet","stdio","trim"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/utils/cli-npm.ts"],"sourcesContent":["import { runCommand, runCommandOutput } from './cli-os';\n\nexport interface Version {\n name: string;\n date: Date;\n tag?: string;\n}\n\nconst NPM_TIMEOUT = 10000;\n\nexport function npmGetPackageVersions(registry: string, packageName: string): string[] {\n try {\n const v = runCommandOutput(\n `npm show ${packageName} versions --registry ${registry} --json`,\n { timeout: NPM_TIMEOUT }\n );\n\n return JSON.parse(v);\n } catch {\n return [];\n }\n}\n\nexport function npmGetPackageVersionsDetails(registry: string, packageName: string): Version[] {\n try {\n const result = runCommandOutput(\n `npm view ${packageName} time dist-tags --registry ${registry} --json`,\n { timeout: NPM_TIMEOUT }\n );\n\n const { time, 'dist-tags': distTags } = JSON.parse(result);\n\n const tags = Object.fromEntries(\n Object.entries(distTags).map(([tag, version]) => [version, tag])\n );\n\n return Object.keys(time).reduce((out, version) => {\n return [...out, { name: version, date: new Date(time[version]), tag: tags[version] }];\n }, []);\n } catch {\n return [];\n }\n}\n\nexport async function npmUnpublish(registry: string, packageName: string, packageVersion: string) {\n await runCommand(`npm unpublish ${packageName}@${packageVersion} --registry ${registry}`, {\n timeout: NPM_TIMEOUT,\n });\n}\n\nexport async function npmPublish({ dry, tag }: { dry?: boolean; tag?: string }) {\n await runCommand(['npm publish', !!tag && `--tag ${tag}`, !!dry && `--dry-run`]);\n}\n\nexport async function npmPackageSet(key: string, value: string) {\n await runCommand(`npm pkg set ${key}=${value}`);\n}\n\nexport async function npmTagVersion({\n packageName,\n packageVersion,\n registry,\n tag,\n}: {\n packageName: string;\n packageVersion: string;\n registry?: string;\n tag: string;\n}) {\n await runCommand(\n `npm dist-tag ${\n registry ? `--registry=${registry} ` : ''\n }add ${packageName}@${packageVersion} ${tag}`\n );\n}\n\nexport interface NPMPackageInfo {\n 'name': string;\n 'version': string;\n 'dist-tags'?: Record<string, string>;\n 'time'?: Record<string, string>;\n 'versions'?: string[];\n}\n\nexport function npmView({ packageName, registry }: { packageName: string; registry?: string }) {\n try {\n const result = runCommandOutput(\n ['npm', 'view', '--json', registry ? `--registry=${registry}` : '', packageName],\n { quiet: true, timeout: NPM_TIMEOUT }\n );\n if (result) {\n return JSON.parse(result) as NPMPackageInfo;\n }\n } catch {\n // ignore\n }\n}\n"],"names":["npmGetPackageVersions","npmGetPackageVersionsDetails","npmPackageSet","npmPublish","npmTagVersion","npmUnpublish","npmView","NPM_TIMEOUT","registry","packageName","v","runCommandOutput","timeout","JSON","parse","result","time","distTags","tags","Object","fromEntries","entries","map","tag","version","keys","reduce","out","name","date","Date","packageVersion","runCommand","dry","key","value","quiet"],"mappings":";;;;;;;;;;;QAUgBA;eAAAA;;QAaAC;eAAAA;;QA+BMC;eAAAA;;QAJAC;eAAAA;;QAQAC;eAAAA;;QAdAC;eAAAA;;QAwCNC;eAAAA;;;uBApF6B;AAQ7C,MAAMC,cAAc;AAEb,SAASP,sBAAsBQ,QAAgB,EAAEC,WAAmB;IACvE,IAAI;QACA,MAAMC,IAAIC,IAAAA,uBAAgB,EACtB,CAAC,SAAS,EAAEF,YAAY,qBAAqB,EAAED,SAAS,OAAO,CAAC,EAChE;YAAEI,SAASL;QAAY;QAG3B,OAAOM,KAAKC,KAAK,CAACJ;IACtB,EAAE,UAAM;QACJ,OAAO,EAAE;IACb;AACJ;AAEO,SAAST,6BAA6BO,QAAgB,EAAEC,WAAmB;IAC9E,IAAI;QACA,MAAMM,SAASJ,IAAAA,uBAAgB,EAC3B,CAAC,SAAS,EAAEF,YAAY,2BAA2B,EAAED,SAAS,OAAO,CAAC,EACtE;YAAEI,SAASL;QAAY;QAG3B,MAAM,EAAES,IAAI,EAAE,aAAaC,QAAQ,EAAE,GAAGJ,KAAKC,KAAK,CAACC;QAEnD,MAAMG,OAAOC,OAAOC,WAAW,CAC3BD,OAAOE,OAAO,CAACJ,UAAUK,GAAG,CAAC,CAAC,CAACC,KAAKC,QAAQ,GAAK;gBAACA;gBAASD;aAAI;QAGnE,OAAOJ,OAAOM,IAAI,CAACT,MAAMU,MAAM,CAAC,CAACC,KAAKH;YAClC,OAAO;mBAAIG;gBAAK;oBAAEC,MAAMJ;oBAASK,MAAM,IAAIC,KAAKd,IAAI,CAACQ,QAAQ;oBAAGD,KAAKL,IAAI,CAACM,QAAQ;gBAAC;aAAE;QACzF,GAAG,EAAE;IACT,EAAE,UAAM;QACJ,OAAO,EAAE;IACb;AACJ;AAEO,eAAenB,aAAaG,QAAgB,EAAEC,WAAmB,EAAEsB,cAAsB;IAC5F,MAAMC,IAAAA,iBAAU,EAAC,CAAC,cAAc,EAAEvB,YAAY,CAAC,EAAEsB,eAAe,YAAY,EAAEvB,UAAU,EAAE;QACtFI,SAASL;IACb;AACJ;AAEO,eAAeJ,WAAW,EAAE8B,GAAG,EAAEV,GAAG,EAAmC;IAC1E,MAAMS,IAAAA,iBAAU,EAAC;QAAC;QAAe,CAAC,CAACT,OAAO,CAAC,MAAM,EAAEA,KAAK;QAAE,CAAC,CAACU,OAAO,CAAC,SAAS,CAAC;KAAC;AACnF;AAEO,eAAe/B,cAAcgC,GAAW,EAAEC,KAAa;IAC1D,MAAMH,IAAAA,iBAAU,EAAC,CAAC,YAAY,EAAEE,IAAI,CAAC,EAAEC,OAAO;AAClD;AAEO,eAAe/B,cAAc,EAChCK,WAAW,EACXsB,cAAc,EACdvB,QAAQ,EACRe,GAAG,EAMN;IACG,MAAMS,IAAAA,iBAAU,EACZ,CAAC,aAAa,EACVxB,WAAW,CAAC,WAAW,EAAEA,SAAS,CAAC,CAAC,GAAG,GAC1C,IAAI,EAAEC,YAAY,CAAC,EAAEsB,eAAe,CAAC,EAAER,KAAK;AAErD;AAUO,SAASjB,QAAQ,EAAEG,WAAW,EAAED,QAAQ,EAA8C;IACzF,IAAI;QACA,MAAMO,SAASJ,IAAAA,uBAAgB,EAC3B;YAAC;YAAO;YAAQ;YAAUH,WAAW,CAAC,WAAW,EAAEA,UAAU,GAAG;YAAIC;SAAY,EAChF;YAAE2B,OAAO;YAAMxB,SAASL;QAAY;QAExC,IAAIQ,QAAQ;YACR,OAAOF,KAAKC,KAAK,CAACC;QACtB;IACJ,EAAE,UAAM;IACJ,SAAS;IACb;AACJ"}
@@ -9,7 +9,6 @@ export * from './compile-sass';
9
9
  export * from './copy-files';
10
10
  export * from './eslint';
11
11
  export * from './get-module-type';
12
- export * from './is-ci';
13
12
  export * from './is-module-installed';
14
13
  export * from './is-tty';
15
14
  export * from './lerna-exec';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
@@ -13,7 +13,6 @@ _export_star(require("./compile-sass"), exports);
13
13
  _export_star(require("./copy-files"), exports);
14
14
  _export_star(require("./eslint"), exports);
15
15
  _export_star(require("./get-module-type"), exports);
16
- _export_star(require("./is-ci"), exports);
17
16
  _export_star(require("./is-module-installed"), exports);
18
17
  _export_star(require("./is-tty"), exports);
19
18
  _export_star(require("./lerna-exec"), exports);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/utils/index.ts"],"sourcesContent":["export * from './bundle';\nexport * from './check-args';\nexport * from './cli-git';\nexport * from './cli-npm';\nexport * from './cli-os';\nexport * from './compile';\nexport * from './compile-less';\nexport * from './compile-sass';\nexport * from './copy-files';\nexport * from './eslint';\nexport * from './get-module-type';\nexport * from './is-ci';\nexport * from './is-module-installed';\nexport * from './is-tty';\nexport * from './lerna-exec';\nexport * from './maybe-create-git-folder';\nexport * from './pipe-stdout';\nexport * from './process-tree';\nexport * from './publish';\nexport * from './set-node-options';\nexport * from './ts-config';\nexport * from './type-check';\nexport * from './watch-stdout';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}
1
+ {"version":3,"sources":["../../../src/cli/utils/index.ts"],"sourcesContent":["export * from './bundle';\nexport * from './check-args';\nexport * from './cli-git';\nexport * from './cli-npm';\nexport * from './cli-os';\nexport * from './compile';\nexport * from './compile-less';\nexport * from './compile-sass';\nexport * from './copy-files';\nexport * from './eslint';\nexport * from './get-module-type';\nexport * from './is-module-installed';\nexport * from './is-tty';\nexport * from './lerna-exec';\nexport * from './maybe-create-git-folder';\nexport * from './pipe-stdout';\nexport * from './process-tree';\nexport * from './publish';\nexport * from './set-node-options';\n// Don't export ./stylelint, it breaks tests using the default \"jsdom\" environment\nexport * from './ts-config';\nexport * from './type-check';\nexport * from './watch-stdout';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBAEA;qBACA;qBACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"lerna-exec.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/lerna-exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAO3C,UAAU,IAAI;IACV,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,WAAW,EAAE,CAAC;CACpE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,mCAkBnC"}
1
+ {"version":3,"file":"lerna-exec.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/lerna-exec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAM3C,UAAU,IAAI;IACV,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,WAAW,EAAE,CAAC;CACpE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,mCAkBnC"}
@@ -8,10 +8,10 @@ Object.defineProperty(exports, "lernaExec", {
8
8
  return lernaExec;
9
9
  }
10
10
  });
11
+ const _install = require("@servicetitan/install");
11
12
  const _execa = /*#__PURE__*/ _interop_require_default(require("execa"));
12
13
  const _nodeos = /*#__PURE__*/ _interop_require_default(require("node:os"));
13
14
  const _utils = require("../../utils");
14
- const _isci = require("./is-ci");
15
15
  const _maybecreategitfolder = require("./maybe-create-git-folder");
16
16
  function _interop_require_default(obj) {
17
17
  return obj && obj.__esModule ? obj : {
@@ -49,7 +49,7 @@ function getOptions(args) {
49
49
  result.push('--no-bail');
50
50
  }
51
51
  if (args.parallel === true) {
52
- result.push((0, _isci.isCI)() ? `--concurrency=${_nodeos.default.availableParallelism()}` : '--parallel');
52
+ result.push((0, _install.isCI)() ? `--concurrency=${_nodeos.default.availableParallelism()}` : '--parallel');
53
53
  } else if (typeof args.parallel === 'number') {
54
54
  result.push(`--concurrency=${args.parallel}`);
55
55
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/utils/lerna-exec.ts"],"sourcesContent":["import execa, { StdioOption } from 'execa';\nimport os from 'node:os';\n\nimport { log } from '../../utils';\nimport { isCI } from './is-ci';\nimport { maybeCreateGitFolder } from './maybe-create-git-folder';\n\ninterface Args {\n 'bail'?: boolean;\n 'cmd': string;\n 'scope'?: string[];\n 'stream'?: boolean;\n 'parallel'?: boolean | number;\n '--'?: string[];\n 'stdio'?: 'pipe' | 'ignore' | 'inherit' | readonly StdioOption[];\n}\n\nexport function lernaExec(args: Args) {\n maybeCreateGitFolder();\n\n const lernaArguments = [\n 'exec',\n ...getOptions(args),\n '--',\n ...args.cmd.split(' '),\n ...(args['--'] ?? []).flatMap(arg => arg.split(' ')),\n ];\n log.info(`Running ${[args.cmd, ...(args['--'] ?? [])].join(' ')}`);\n return execa('lerna', lernaArguments, {\n stdio: args.stdio ?? 'inherit',\n env: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n FORCE_COLOR: 'true',\n },\n });\n}\n\nfunction getOptions(args: Args) {\n const result = (args.scope ?? []).map(name => `--scope=${name}`);\n if (args.bail === false) {\n result.push('--no-bail');\n }\n if (args.parallel === true) {\n result.push(isCI() ? `--concurrency=${os.availableParallelism()}` : '--parallel');\n } else if (typeof args.parallel === 'number') {\n result.push(`--concurrency=${args.parallel}`);\n }\n if (args.stream) {\n result.push('--stream');\n }\n return result;\n}\n"],"names":["lernaExec","args","maybeCreateGitFolder","lernaArguments","getOptions","cmd","split","flatMap","arg","log","info","join","execa","stdio","env","FORCE_COLOR","result","scope","map","name","bail","push","parallel","isCI","os","availableParallelism","stream"],"mappings":";;;;+BAiBgBA;;;eAAAA;;;8DAjBmB;+DACpB;uBAEK;sBACC;sCACgB;;;;;;AAY9B,SAASA,UAAUC,IAAU;IAChCC,IAAAA,0CAAoB;QAOZD;IALR,MAAME,iBAAiB;QACnB;WACGC,WAAWH;QACd;WACGA,KAAKI,GAAG,CAACC,KAAK,CAAC;WACf,AAACL,CAAAA,CAAAA,SAAAA,IAAI,CAAC,KAAK,cAAVA,oBAAAA,SAAc,EAAE,AAAD,EAAGM,OAAO,CAACC,CAAAA,MAAOA,IAAIF,KAAK,CAAC;KAClD;QACkCL;IAAnCQ,UAAG,CAACC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAACT,KAAKI,GAAG;WAAMJ,CAAAA,UAAAA,IAAI,CAAC,KAAK,cAAVA,qBAAAA,UAAc,EAAE;KAAE,CAACU,IAAI,CAAC,MAAM;QAEtDV;IADX,OAAOW,IAAAA,cAAK,EAAC,SAAST,gBAAgB;QAClCU,OAAOZ,CAAAA,cAAAA,KAAKY,KAAK,cAAVZ,yBAAAA,cAAc;QACrBa,KAAK;YACD,gEAAgE;YAChEC,aAAa;QACjB;IACJ;AACJ;AAEA,SAASX,WAAWH,IAAU;QACVA;IAAhB,MAAMe,SAAS,AAACf,CAAAA,CAAAA,cAAAA,KAAKgB,KAAK,cAAVhB,yBAAAA,cAAc,EAAE,AAAD,EAAGiB,GAAG,CAACC,CAAAA,OAAQ,CAAC,QAAQ,EAAEA,MAAM;IAC/D,IAAIlB,KAAKmB,IAAI,KAAK,OAAO;QACrBJ,OAAOK,IAAI,CAAC;IAChB;IACA,IAAIpB,KAAKqB,QAAQ,KAAK,MAAM;QACxBN,OAAOK,IAAI,CAACE,IAAAA,UAAI,MAAK,CAAC,cAAc,EAAEC,eAAE,CAACC,oBAAoB,IAAI,GAAG;IACxE,OAAO,IAAI,OAAOxB,KAAKqB,QAAQ,KAAK,UAAU;QAC1CN,OAAOK,IAAI,CAAC,CAAC,cAAc,EAAEpB,KAAKqB,QAAQ,EAAE;IAChD;IACA,IAAIrB,KAAKyB,MAAM,EAAE;QACbV,OAAOK,IAAI,CAAC;IAChB;IACA,OAAOL;AACX"}
1
+ {"version":3,"sources":["../../../src/cli/utils/lerna-exec.ts"],"sourcesContent":["import { isCI } from '@servicetitan/install';\nimport execa, { StdioOption } from 'execa';\nimport os from 'node:os';\n\nimport { log } from '../../utils';\nimport { maybeCreateGitFolder } from './maybe-create-git-folder';\n\ninterface Args {\n 'bail'?: boolean;\n 'cmd': string;\n 'scope'?: string[];\n 'stream'?: boolean;\n 'parallel'?: boolean | number;\n '--'?: string[];\n 'stdio'?: 'pipe' | 'ignore' | 'inherit' | readonly StdioOption[];\n}\n\nexport function lernaExec(args: Args) {\n maybeCreateGitFolder();\n\n const lernaArguments = [\n 'exec',\n ...getOptions(args),\n '--',\n ...args.cmd.split(' '),\n ...(args['--'] ?? []).flatMap(arg => arg.split(' ')),\n ];\n log.info(`Running ${[args.cmd, ...(args['--'] ?? [])].join(' ')}`);\n return execa('lerna', lernaArguments, {\n stdio: args.stdio ?? 'inherit',\n env: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n FORCE_COLOR: 'true',\n },\n });\n}\n\nfunction getOptions(args: Args) {\n const result = (args.scope ?? []).map(name => `--scope=${name}`);\n if (args.bail === false) {\n result.push('--no-bail');\n }\n if (args.parallel === true) {\n result.push(isCI() ? `--concurrency=${os.availableParallelism()}` : '--parallel');\n } else if (typeof args.parallel === 'number') {\n result.push(`--concurrency=${args.parallel}`);\n }\n if (args.stream) {\n result.push('--stream');\n }\n return result;\n}\n"],"names":["lernaExec","args","maybeCreateGitFolder","lernaArguments","getOptions","cmd","split","flatMap","arg","log","info","join","execa","stdio","env","FORCE_COLOR","result","scope","map","name","bail","push","parallel","isCI","os","availableParallelism","stream"],"mappings":";;;;+BAiBgBA;;;eAAAA;;;yBAjBK;8DACc;+DACpB;uBAEK;sCACiB;;;;;;AAY9B,SAASA,UAAUC,IAAU;IAChCC,IAAAA,0CAAoB;QAOZD;IALR,MAAME,iBAAiB;QACnB;WACGC,WAAWH;QACd;WACGA,KAAKI,GAAG,CAACC,KAAK,CAAC;WACf,AAACL,CAAAA,CAAAA,SAAAA,IAAI,CAAC,KAAK,cAAVA,oBAAAA,SAAc,EAAE,AAAD,EAAGM,OAAO,CAACC,CAAAA,MAAOA,IAAIF,KAAK,CAAC;KAClD;QACkCL;IAAnCQ,UAAG,CAACC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAACT,KAAKI,GAAG;WAAMJ,CAAAA,UAAAA,IAAI,CAAC,KAAK,cAAVA,qBAAAA,UAAc,EAAE;KAAE,CAACU,IAAI,CAAC,MAAM;QAEtDV;IADX,OAAOW,IAAAA,cAAK,EAAC,SAAST,gBAAgB;QAClCU,OAAOZ,CAAAA,cAAAA,KAAKY,KAAK,cAAVZ,yBAAAA,cAAc;QACrBa,KAAK;YACD,gEAAgE;YAChEC,aAAa;QACjB;IACJ;AACJ;AAEA,SAASX,WAAWH,IAAU;QACVA;IAAhB,MAAMe,SAAS,AAACf,CAAAA,CAAAA,cAAAA,KAAKgB,KAAK,cAAVhB,yBAAAA,cAAc,EAAE,AAAD,EAAGiB,GAAG,CAACC,CAAAA,OAAQ,CAAC,QAAQ,EAAEA,MAAM;IAC/D,IAAIlB,KAAKmB,IAAI,KAAK,OAAO;QACrBJ,OAAOK,IAAI,CAAC;IAChB;IACA,IAAIpB,KAAKqB,QAAQ,KAAK,MAAM;QACxBN,OAAOK,IAAI,CAACE,IAAAA,aAAI,MAAK,CAAC,cAAc,EAAEC,eAAE,CAACC,oBAAoB,IAAI,GAAG;IACxE,OAAO,IAAI,OAAOxB,KAAKqB,QAAQ,KAAK,UAAU;QAC1CN,OAAOK,IAAI,CAAC,CAAC,cAAc,EAAEpB,KAAKqB,QAAQ,EAAE;IAChD;IACA,IAAIrB,KAAKyB,MAAM,EAAE;QACbV,OAAOK,IAAI,CAAC;IAChB;IACA,OAAOL;AACX"}
@@ -0,0 +1,8 @@
1
+ import { CommandArgs } from '../commands';
2
+ interface Args extends CommandArgs {
3
+ fix?: boolean;
4
+ paths?: string[];
5
+ }
6
+ export declare function stylelint({ fix, paths }: Args): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=stylelint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stylelint.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/stylelint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,UAAU,IAAK,SAAQ,WAAW;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAKD,wBAAsB,SAAS,CAAC,EAAE,GAAG,EAAE,KAAU,EAAE,EAAE,IAAI,iBAqCxD"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "stylelint", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return stylelint;
9
+ }
10
+ });
11
+ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
+ const _stylelint = require("stylelint");
13
+ const _utils = require("../../utils");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ const allowedExtensions = [
20
+ 'css',
21
+ 'scss',
22
+ 'less'
23
+ ];
24
+ const glob = `**/*.{${allowedExtensions.join(',')}}`;
25
+ async function stylelint({ fix, paths = [] }) {
26
+ const { disabled, ...config } = (0, _utils.getStylelintConfiguration)();
27
+ if (disabled) {
28
+ return;
29
+ }
30
+ const files = paths.reduce((result, file)=>{
31
+ const extension = _path.default.parse(file).ext.slice(1); // drop leading dot
32
+ if (extension) {
33
+ if (allowedExtensions.includes(extension.toLowerCase())) {
34
+ result.push(file);
35
+ } else {
36
+ _utils.log.debug('stylelint', `ignoring ${file}`);
37
+ }
38
+ } else {
39
+ result.push(pathUniJoin(file, glob));
40
+ }
41
+ return result;
42
+ }, []);
43
+ const options = {
44
+ files: files.length ? files : [
45
+ glob
46
+ ],
47
+ ignorePattern: [
48
+ 'node_modules',
49
+ ...(0, _utils.getDestinationFolders)()
50
+ ],
51
+ formatter: 'string',
52
+ fix,
53
+ quietDeprecationWarnings: true,
54
+ ...config
55
+ };
56
+ /* istanbul ignore next: debug only */ _utils.log.debug('stylelint', ()=>JSON.stringify(options, null, 2));
57
+ const { report, errored } = await (0, _stylelint.lint)(options);
58
+ process.stdout.write(report);
59
+ if (errored) {
60
+ process.exitCode = 1;
61
+ }
62
+ }
63
+ function pathUniJoin(...chunks) {
64
+ return _path.default.join(...chunks).replace(/\\/g, '/');
65
+ }
66
+
67
+ //# sourceMappingURL=stylelint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/utils/stylelint.ts"],"sourcesContent":["import path from 'path';\nimport { lint } from 'stylelint';\nimport { CommandArgs } from '../commands';\nimport { getDestinationFolders, getStylelintConfiguration, log } from '../../utils';\n\ninterface Args extends CommandArgs {\n fix?: boolean;\n paths?: string[];\n}\n\nconst allowedExtensions = ['css', 'scss', 'less'];\nconst glob = `**/*.{${allowedExtensions.join(',')}}`;\n\nexport async function stylelint({ fix, paths = [] }: Args) {\n const { disabled, ...config } = getStylelintConfiguration();\n if (disabled) {\n return;\n }\n\n const files = paths.reduce<string[]>((result, file) => {\n const extension = path.parse(file).ext.slice(1); // drop leading dot\n if (extension) {\n if (allowedExtensions.includes(extension.toLowerCase())) {\n result.push(file);\n } else {\n log.debug('stylelint', `ignoring ${file}`);\n }\n } else {\n result.push(pathUniJoin(file, glob));\n }\n return result;\n }, []);\n\n const options: Parameters<typeof lint>[0] = {\n files: files.length ? files : [glob],\n ignorePattern: ['node_modules', ...getDestinationFolders()],\n formatter: 'string',\n fix,\n quietDeprecationWarnings: true,\n ...config,\n };\n\n /* istanbul ignore next: debug only */\n log.debug('stylelint', () => JSON.stringify(options, null, 2));\n\n const { report, errored } = await lint(options);\n process.stdout.write(report);\n if (errored) {\n process.exitCode = 1;\n }\n}\n\nfunction pathUniJoin(...chunks: string[]) {\n return path.join(...chunks).replace(/\\\\/g, '/');\n}\n"],"names":["stylelint","allowedExtensions","glob","join","fix","paths","disabled","config","getStylelintConfiguration","files","reduce","result","file","extension","path","parse","ext","slice","includes","toLowerCase","push","log","debug","pathUniJoin","options","length","ignorePattern","getDestinationFolders","formatter","quietDeprecationWarnings","JSON","stringify","report","errored","lint","process","stdout","write","exitCode","chunks","replace"],"mappings":";;;;+BAasBA;;;eAAAA;;;6DAbL;2BACI;uBAEiD;;;;;;AAOtE,MAAMC,oBAAoB;IAAC;IAAO;IAAQ;CAAO;AACjD,MAAMC,OAAO,CAAC,MAAM,EAAED,kBAAkBE,IAAI,CAAC,KAAK,CAAC,CAAC;AAE7C,eAAeH,UAAU,EAAEI,GAAG,EAAEC,QAAQ,EAAE,EAAQ;IACrD,MAAM,EAAEC,QAAQ,EAAE,GAAGC,QAAQ,GAAGC,IAAAA,gCAAyB;IACzD,IAAIF,UAAU;QACV;IACJ;IAEA,MAAMG,QAAQJ,MAAMK,MAAM,CAAW,CAACC,QAAQC;QAC1C,MAAMC,YAAYC,aAAI,CAACC,KAAK,CAACH,MAAMI,GAAG,CAACC,KAAK,CAAC,IAAI,mBAAmB;QACpE,IAAIJ,WAAW;YACX,IAAIZ,kBAAkBiB,QAAQ,CAACL,UAAUM,WAAW,KAAK;gBACrDR,OAAOS,IAAI,CAACR;YAChB,OAAO;gBACHS,UAAG,CAACC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAEV,MAAM;YAC7C;QACJ,OAAO;YACHD,OAAOS,IAAI,CAACG,YAAYX,MAAMV;QAClC;QACA,OAAOS;IACX,GAAG,EAAE;IAEL,MAAMa,UAAsC;QACxCf,OAAOA,MAAMgB,MAAM,GAAGhB,QAAQ;YAACP;SAAK;QACpCwB,eAAe;YAAC;eAAmBC,IAAAA,4BAAqB;SAAG;QAC3DC,WAAW;QACXxB;QACAyB,0BAA0B;QAC1B,GAAGtB,MAAM;IACb;IAEA,oCAAoC,GACpCc,UAAG,CAACC,KAAK,CAAC,aAAa,IAAMQ,KAAKC,SAAS,CAACP,SAAS,MAAM;IAE3D,MAAM,EAAEQ,MAAM,EAAEC,OAAO,EAAE,GAAG,MAAMC,IAAAA,eAAI,EAACV;IACvCW,QAAQC,MAAM,CAACC,KAAK,CAACL;IACrB,IAAIC,SAAS;QACTE,QAAQG,QAAQ,GAAG;IACvB;AACJ;AAEA,SAASf,YAAY,GAAGgB,MAAgB;IACpC,OAAOzB,aAAI,CAACX,IAAI,IAAIoC,QAAQC,OAAO,CAAC,OAAO;AAC/C"}