@servicetitan/startup 34.3.0 → 35.0.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.
- package/dist/cli/commands/get-command.d.ts.map +1 -1
- package/dist/cli/commands/get-command.js +2 -0
- package/dist/cli/commands/get-command.js.map +1 -1
- package/dist/cli/commands/mfe-package-publish.d.ts +10 -0
- package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js +12 -0
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/mfe-package-rollback.d.ts +10 -1
- package/dist/cli/commands/mfe-package-rollback.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-rollback.js +15 -3
- package/dist/cli/commands/mfe-package-rollback.js.map +1 -1
- package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js +10 -4
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/mfe-purge-cache.d.ts +57 -0
- package/dist/cli/commands/mfe-purge-cache.d.ts.map +1 -0
- package/dist/cli/commands/mfe-purge-cache.js +101 -0
- package/dist/cli/commands/mfe-purge-cache.js.map +1 -0
- package/dist/cli/commands/{utils.d.ts → utils/build-rollback-tag.d.ts} +1 -2
- package/dist/cli/commands/utils/build-rollback-tag.d.ts.map +1 -0
- package/dist/cli/commands/{utils.js → utils/build-rollback-tag.js} +1 -5
- package/dist/cli/commands/utils/build-rollback-tag.js.map +1 -0
- package/dist/cli/commands/utils/constants.d.ts +2 -0
- package/dist/cli/commands/utils/constants.d.ts.map +1 -0
- package/dist/cli/commands/utils/constants.js +13 -0
- package/dist/cli/commands/utils/constants.js.map +1 -0
- package/dist/cli/commands/utils/index.d.ts +4 -0
- package/dist/cli/commands/utils/index.d.ts.map +1 -0
- package/dist/cli/commands/utils/index.js +22 -0
- package/dist/cli/commands/utils/index.js.map +1 -0
- package/dist/cli/commands/utils/purge-cache.d.ts +6 -0
- package/dist/cli/commands/utils/purge-cache.d.ts.map +1 -0
- package/dist/cli/commands/utils/purge-cache.js +21 -0
- package/dist/cli/commands/utils/purge-cache.js.map +1 -0
- package/dist/cli/utils/cli-os.js +1 -1
- package/dist/cli/utils/cli-os.js.map +1 -1
- package/dist/utils/get-configuration.d.ts +1 -0
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +1 -0
- package/dist/utils/get-configuration.js.map +1 -1
- package/package.json +15 -15
- package/src/cli/commands/__tests__/mfe-package-publish.test.ts +27 -1
- package/src/cli/commands/__tests__/mfe-package-rollback.test.ts +31 -0
- package/src/cli/commands/__tests__/mfe-publish.test.ts +4 -2
- package/src/cli/commands/__tests__/mfe-purge-cache.test.ts +141 -0
- package/src/cli/commands/get-command.ts +2 -0
- package/src/cli/commands/mfe-package-publish.ts +11 -1
- package/src/cli/commands/mfe-package-rollback.ts +15 -5
- package/src/cli/commands/mfe-publish.ts +14 -3
- package/src/cli/commands/mfe-purge-cache.ts +75 -0
- package/src/cli/commands/utils/__tests__/purge-cache.test.ts +40 -0
- package/src/cli/commands/{utils.ts → utils/build-rollback-tag.ts} +0 -1
- package/src/cli/commands/utils/constants.ts +1 -0
- package/src/cli/commands/utils/index.ts +3 -0
- package/src/cli/commands/utils/purge-cache.ts +13 -0
- package/src/cli/utils/cli-os.ts +1 -1
- package/src/utils/get-configuration.ts +1 -0
- package/dist/cli/commands/utils.d.ts.map +0 -1
- package/dist/cli/commands/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/get-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"get-command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/get-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAyB1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA+B3C,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAE1E"}
|
|
@@ -25,6 +25,7 @@ const _mfepackageclean = require("./mfe-package-clean");
|
|
|
25
25
|
const _mfepackagepublish = require("./mfe-package-publish");
|
|
26
26
|
const _mfepackagerollback = require("./mfe-package-rollback");
|
|
27
27
|
const _mfepublish = require("./mfe-publish");
|
|
28
|
+
const _mfepurgecache = require("./mfe-purge-cache");
|
|
28
29
|
const _preparepackage = require("./prepare-package");
|
|
29
30
|
const _review = require("./review");
|
|
30
31
|
const _runtask = require("./run-task");
|
|
@@ -50,6 +51,7 @@ const commands = {
|
|
|
50
51
|
[_utils.CommandName['mfe-package-publish']]: _mfepackagepublish.MFEPackagePublish,
|
|
51
52
|
[_utils.CommandName['mfe-package-rollback']]: _mfepackagerollback.MFEPackageRollback,
|
|
52
53
|
[_utils.CommandName['mfe-publish']]: _mfepublish.MFEPublish,
|
|
54
|
+
[_utils.CommandName['mfe-purge-cache']]: _mfepurgecache.MFEPurgeCache,
|
|
53
55
|
[_utils.CommandName['prepare-package']]: _preparepackage.PreparePackage,
|
|
54
56
|
[_utils.CommandName.review]: _review.Review,
|
|
55
57
|
[_utils.CommandName.start]: _start.Start,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/get-command.ts"],"sourcesContent":["import { CommandName } from '../../utils';\nimport { Build } from './build';\nimport { BundlePackage } from './bundle-package';\nimport { Clean } from './clean';\nimport { ConvertEslintConfig } from './convert-eslint-config';\nimport { ESLintCommand } from './eslint';\nimport { Init } from './init';\nimport { Install } from './install';\nimport { KendoUILicense } from './kendo-ui-license';\nimport { Lint } from './lint';\nimport { MfeCheck } from './mfe-check';\nimport { MfeGenerateMetadata } from './mfe-generate-metadata';\nimport { MFEList } from './mfe-list';\nimport { MFEPackageClean } from './mfe-package-clean';\nimport { MFEPackagePublish } from './mfe-package-publish';\nimport { MFEPackageRollback } from './mfe-package-rollback';\nimport { MFEPublish } from './mfe-publish';\nimport { PreparePackage } from './prepare-package';\nimport { Review } from './review';\nimport { RunTask } from './run-task';\nimport { Start } from './start';\nimport { Stylelint } from './stylelint';\nimport { StylesCheck } from './styles-check';\nimport { Tests } from './test';\nimport { Command, Newable } from './types';\nimport { UploadSourcemaps } from './upload-sourcemaps';\n\nconst commands: Record<CommandName, Newable<Command>> = {\n [CommandName.build]: Build,\n [CommandName['bundle-package']]: BundlePackage,\n [CommandName['convert-eslint-config']]: ConvertEslintConfig,\n [CommandName.clean]: Clean,\n [CommandName.eslint]: ESLintCommand,\n [CommandName.init]: Init,\n [CommandName.install]: Install,\n [CommandName['kendo-ui-license']]: KendoUILicense,\n [CommandName.lint]: Lint,\n [CommandName['mfe-check']]: MfeCheck,\n [CommandName['mfe-generate-metadata']]: MfeGenerateMetadata,\n [CommandName['mfe-list']]: MFEList,\n [CommandName['mfe-package-clean']]: MFEPackageClean,\n [CommandName['mfe-package-publish']]: MFEPackagePublish,\n [CommandName['mfe-package-rollback']]: MFEPackageRollback,\n [CommandName['mfe-publish']]: MFEPublish,\n [CommandName['prepare-package']]: PreparePackage,\n [CommandName.review]: Review,\n [CommandName.start]: Start,\n [CommandName.stylelint]: Stylelint,\n [CommandName['styles-check']]: StylesCheck,\n [CommandName.test]: Tests,\n [CommandName.task]: RunTask,\n [CommandName['upload-sourcemaps']]: UploadSourcemaps,\n};\n\nexport function getCommand(name: CommandName): Newable<Command> | undefined {\n return commands[name];\n}\n"],"names":["getCommand","commands","CommandName","build","Build","BundlePackage","ConvertEslintConfig","clean","Clean","eslint","ESLintCommand","init","Init","install","Install","KendoUILicense","lint","Lint","MfeCheck","MfeGenerateMetadata","MFEList","MFEPackageClean","MFEPackagePublish","MFEPackageRollback","MFEPublish","PreparePackage","review","Review","start","Start","stylelint","Stylelint","StylesCheck","test","Tests","task","RunTask","UploadSourcemaps","name"],"mappings":";;;;+
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/get-command.ts"],"sourcesContent":["import { CommandName } from '../../utils';\nimport { Build } from './build';\nimport { BundlePackage } from './bundle-package';\nimport { Clean } from './clean';\nimport { ConvertEslintConfig } from './convert-eslint-config';\nimport { ESLintCommand } from './eslint';\nimport { Init } from './init';\nimport { Install } from './install';\nimport { KendoUILicense } from './kendo-ui-license';\nimport { Lint } from './lint';\nimport { MfeCheck } from './mfe-check';\nimport { MfeGenerateMetadata } from './mfe-generate-metadata';\nimport { MFEList } from './mfe-list';\nimport { MFEPackageClean } from './mfe-package-clean';\nimport { MFEPackagePublish } from './mfe-package-publish';\nimport { MFEPackageRollback } from './mfe-package-rollback';\nimport { MFEPublish } from './mfe-publish';\nimport { MFEPurgeCache } from './mfe-purge-cache';\nimport { PreparePackage } from './prepare-package';\nimport { Review } from './review';\nimport { RunTask } from './run-task';\nimport { Start } from './start';\nimport { Stylelint } from './stylelint';\nimport { StylesCheck } from './styles-check';\nimport { Tests } from './test';\nimport { Command, Newable } from './types';\nimport { UploadSourcemaps } from './upload-sourcemaps';\n\nconst commands: Record<CommandName, Newable<Command>> = {\n [CommandName.build]: Build,\n [CommandName['bundle-package']]: BundlePackage,\n [CommandName['convert-eslint-config']]: ConvertEslintConfig,\n [CommandName.clean]: Clean,\n [CommandName.eslint]: ESLintCommand,\n [CommandName.init]: Init,\n [CommandName.install]: Install,\n [CommandName['kendo-ui-license']]: KendoUILicense,\n [CommandName.lint]: Lint,\n [CommandName['mfe-check']]: MfeCheck,\n [CommandName['mfe-generate-metadata']]: MfeGenerateMetadata,\n [CommandName['mfe-list']]: MFEList,\n [CommandName['mfe-package-clean']]: MFEPackageClean,\n [CommandName['mfe-package-publish']]: MFEPackagePublish,\n [CommandName['mfe-package-rollback']]: MFEPackageRollback,\n [CommandName['mfe-publish']]: MFEPublish,\n [CommandName['mfe-purge-cache']]: MFEPurgeCache,\n [CommandName['prepare-package']]: PreparePackage,\n [CommandName.review]: Review,\n [CommandName.start]: Start,\n [CommandName.stylelint]: Stylelint,\n [CommandName['styles-check']]: StylesCheck,\n [CommandName.test]: Tests,\n [CommandName.task]: RunTask,\n [CommandName['upload-sourcemaps']]: UploadSourcemaps,\n};\n\nexport function getCommand(name: CommandName): Newable<Command> | undefined {\n return commands[name];\n}\n"],"names":["getCommand","commands","CommandName","build","Build","BundlePackage","ConvertEslintConfig","clean","Clean","eslint","ESLintCommand","init","Init","install","Install","KendoUILicense","lint","Lint","MfeCheck","MfeGenerateMetadata","MFEList","MFEPackageClean","MFEPackagePublish","MFEPackageRollback","MFEPublish","MFEPurgeCache","PreparePackage","review","Review","start","Start","stylelint","Stylelint","StylesCheck","test","Tests","task","RunTask","UploadSourcemaps","name"],"mappings":";;;;+BAwDgBA;;;eAAAA;;;uBAxDY;uBACN;+BACQ;uBACR;qCACc;wBACN;sBACT;yBACG;gCACO;sBACV;0BACI;qCACW;yBACZ;iCACQ;mCACE;oCACC;4BACR;+BACG;gCACC;wBACR;yBACC;uBACF;2BACI;6BACE;sBACN;kCAEW;AAEjC,MAAMC,WAAkD;IACpD,CAACC,kBAAW,CAACC,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACF,kBAAW,CAAC,iBAAiB,CAAC,EAAEG,4BAAa;IAC9C,CAACH,kBAAW,CAAC,wBAAwB,CAAC,EAAEI,wCAAmB;IAC3D,CAACJ,kBAAW,CAACK,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACN,kBAAW,CAACO,MAAM,CAAC,EAAEC,qBAAa;IACnC,CAACR,kBAAW,CAACS,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACV,kBAAW,CAACW,OAAO,CAAC,EAAEC,gBAAO;IAC9B,CAACZ,kBAAW,CAAC,mBAAmB,CAAC,EAAEa,8BAAc;IACjD,CAACb,kBAAW,CAACc,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACf,kBAAW,CAAC,YAAY,CAAC,EAAEgB,kBAAQ;IACpC,CAAChB,kBAAW,CAAC,wBAAwB,CAAC,EAAEiB,wCAAmB;IAC3D,CAACjB,kBAAW,CAAC,WAAW,CAAC,EAAEkB,gBAAO;IAClC,CAAClB,kBAAW,CAAC,oBAAoB,CAAC,EAAEmB,gCAAe;IACnD,CAACnB,kBAAW,CAAC,sBAAsB,CAAC,EAAEoB,oCAAiB;IACvD,CAACpB,kBAAW,CAAC,uBAAuB,CAAC,EAAEqB,sCAAkB;IACzD,CAACrB,kBAAW,CAAC,cAAc,CAAC,EAAEsB,sBAAU;IACxC,CAACtB,kBAAW,CAAC,kBAAkB,CAAC,EAAEuB,4BAAa;IAC/C,CAACvB,kBAAW,CAAC,kBAAkB,CAAC,EAAEwB,8BAAc;IAChD,CAACxB,kBAAW,CAACyB,MAAM,CAAC,EAAEC,cAAM;IAC5B,CAAC1B,kBAAW,CAAC2B,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAAC5B,kBAAW,CAAC6B,SAAS,CAAC,EAAEC,oBAAS;IAClC,CAAC9B,kBAAW,CAAC,eAAe,CAAC,EAAE+B,wBAAW;IAC1C,CAAC/B,kBAAW,CAACgC,IAAI,CAAC,EAAEC,WAAK;IACzB,CAACjC,kBAAW,CAACkC,IAAI,CAAC,EAAEC,gBAAO;IAC3B,CAACnC,kBAAW,CAAC,oBAAoB,CAAC,EAAEoC,kCAAgB;AACxD;AAEO,SAAStC,WAAWuC,IAAiB;IACxC,OAAOtC,QAAQ,CAACsC,KAAK;AACzB"}
|
|
@@ -38,6 +38,11 @@ export declare const mfePackagePublishOptions: {
|
|
|
38
38
|
description: string;
|
|
39
39
|
defaultDescription: string;
|
|
40
40
|
};
|
|
41
|
+
purgeCache: {
|
|
42
|
+
boolean: true;
|
|
43
|
+
description: string;
|
|
44
|
+
defaultDescription: string;
|
|
45
|
+
};
|
|
41
46
|
};
|
|
42
47
|
export declare class MFEPackagePublish extends Command<typeof mfePackagePublishOptions> {
|
|
43
48
|
static readonly options: {
|
|
@@ -79,6 +84,11 @@ export declare class MFEPackagePublish extends Command<typeof mfePackagePublishO
|
|
|
79
84
|
description: string;
|
|
80
85
|
defaultDescription: string;
|
|
81
86
|
};
|
|
87
|
+
purgeCache: {
|
|
88
|
+
boolean: true;
|
|
89
|
+
description: string;
|
|
90
|
+
defaultDescription: string;
|
|
91
|
+
};
|
|
82
92
|
};
|
|
83
93
|
execute(): Promise<void>;
|
|
84
94
|
private get dryRunPrefix();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCX,CAAC;AAqB3B,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,OAAO,wBAAwB,CAAC;IAC3E,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAA4B;IAG7C,OAAO;IA0Bb,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,YAAY;YAoBN,mBAAmB;IAiDjC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;YA2BR,eAAe;IAqB7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;YAsBZ,qBAAqB;YAoCrB,kBAAkB;CAgBnC"}
|
|
@@ -87,6 +87,11 @@ const mfePackagePublishOptions = {
|
|
|
87
87
|
boolean: true,
|
|
88
88
|
description: 'Upload source maps to Datadog?',
|
|
89
89
|
defaultDescription: 'true'
|
|
90
|
+
},
|
|
91
|
+
purgeCache: {
|
|
92
|
+
boolean: true,
|
|
93
|
+
description: 'Purge unpkg cache after publishing?',
|
|
94
|
+
defaultDescription: 'true'
|
|
90
95
|
}
|
|
91
96
|
};
|
|
92
97
|
class MFEPackagePublish extends _types.Command {
|
|
@@ -101,6 +106,13 @@ class MFEPackagePublish extends _types.Command {
|
|
|
101
106
|
}
|
|
102
107
|
await this.maybeApplyRollbackTag(packageJson.name, data);
|
|
103
108
|
await this.maybePublishPackage(packageJson, data);
|
|
109
|
+
const { dry, tag } = data;
|
|
110
|
+
if (this.args.purgeCache !== false && !dry) {
|
|
111
|
+
(0, _utils2.purgeCache)({
|
|
112
|
+
packageName: packageJson.name,
|
|
113
|
+
tag
|
|
114
|
+
});
|
|
115
|
+
}
|
|
104
116
|
if (data.uploadSourcemaps) {
|
|
105
117
|
this.uploadSourcemaps(data);
|
|
106
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-package-publish.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport {\n getBranchesConfigs,\n getFolders,\n isWebComponent,\n log,\n logErrors,\n readJson,\n} from '../../utils';\nimport { EntryPoint, EntryPoints, Metadata } from '../../webpack/configs';\nimport {\n DRY_RUN_PREFIX,\n getDefaultBuildVersion,\n gitGetBranch,\n gitGetCommitHash,\n npmGetPackageVersions,\n npmPackageSet,\n npmPublish,\n npmTagVersion,\n npmView,\n runCommand,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { buildRollbackTag, DEFAULT_MFE_REGISTRY } from './utils';\n\nexport const mfePackagePublishOptions = {\n branch: {\n string: true,\n description: 'Branch name to associate with published version',\n defaultDescription: 'current git branch',\n },\n build: {\n string: true,\n description: 'Package version',\n defaultDescription: '<branch_name>.<commit_hash>',\n },\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be published',\n },\n force: {\n boolean: true,\n description: 'Force publishing from an unrecognized branch',\n },\n registry: { string: true, hidden: true, description: 'Registry url' },\n trackHistory: {\n boolean: true,\n description: `Tag the previous release, to support rollbacks`,\n defaultDescription: 'true',\n hidden: true,\n },\n tag: {\n string: true,\n description: 'Tag to assign to published version',\n },\n uploadSourcemaps: {\n boolean: true,\n description: 'Upload source maps to Datadog?',\n defaultDescription: 'true',\n },\n} satisfies CommandOptions;\n\ninterface PublishData {\n buildVersion: string;\n dry: boolean;\n force: boolean;\n isBranchConfigured: boolean;\n registry: string;\n tag: string;\n uploadSourcemaps: boolean;\n version: string;\n trackHistory: boolean;\n publishedTags: Record<string, string>;\n}\n\ninterface PackageJson {\n name: string;\n private?: boolean;\n files?: string[];\n}\n\nexport class MFEPackagePublish extends Command<typeof mfePackagePublishOptions> {\n static readonly options = mfePackagePublishOptions;\n\n @logErrors\n async execute() {\n if (this.args.dry) {\n log.warning('DRY-RUN MODE ENABLED, WILL NOT PUBLISH PACKAGES');\n }\n\n const packageJson = readJson<PackageJson>('package.json');\n\n const data = this.getPublishData(packageJson.name);\n if (!this.checkPackage(packageJson, data)) {\n return;\n }\n\n await this.maybeApplyRollbackTag(packageJson.name, data);\n\n await this.maybePublishPackage(packageJson, data);\n\n if (data.uploadSourcemaps) {\n this.uploadSourcemaps(data);\n }\n }\n\n private get dryRunPrefix() {\n return this.args.dry ? DRY_RUN_PREFIX : '';\n }\n\n private checkPackage(packageJson: PackageJson, { force, isBranchConfigured }: PublishData) {\n if (!isWebComponent()) {\n throw new Error('only web-components can be published');\n }\n\n if (packageJson.private) {\n log.warning('package is private, skipping publish');\n return false;\n }\n\n if (!isBranchConfigured && !force) {\n log.warning(\n 'branch is not configured for publishing, use --force flag to publish if needed'\n );\n return false;\n }\n\n return true;\n }\n\n private async maybePublishPackage(packageJson: PackageJson, data: PublishData) {\n try {\n const { dry, registry, tag, version } = data;\n\n const versions = npmGetPackageVersions(registry, packageJson.name);\n if (versions.includes(version)) {\n log.warning(\n `${this.dryRunPrefix}${packageJson.name} version ${version} is already published, skipping publish`\n );\n\n log.info(`${this.dryRunPrefix}Tagging version ${version} with tag \"${tag}\"`);\n\n if (!dry) {\n await npmTagVersion({\n packageName: packageJson.name,\n packageVersion: version,\n registry,\n tag,\n });\n }\n\n return;\n }\n\n this.validateMetadata(version);\n\n await npmPackageSet('version', version);\n await npmPackageSet('publishConfig.registry', registry);\n await this.setPackageFiles(packageJson);\n\n log.info(`${this.dryRunPrefix}Publishing ${packageJson.name} version ${version}`);\n await npmPublish({ dry, tag });\n } catch (error) {\n log.error(`Failed to publish package ${packageJson.name}`);\n\n const versionOriginallyTaggedWithRollback =\n data.publishedTags[buildRollbackTag(data.tag)];\n\n if (versionOriginallyTaggedWithRollback) {\n await this.restoreRollbackTag(\n packageJson.name,\n data,\n versionOriginallyTaggedWithRollback\n );\n }\n throw error;\n }\n }\n\n private uploadSourcemaps({ dry, version }: PublishData) {\n const options = [...[dry && '--dry'], `--releaseVersion=${version}`].filter(\n option => !!option\n ) as string[];\n\n runCommand(`npx startup upload-sourcemaps ${options.join(' ')}`);\n }\n\n private getPublishData(packageName: string): PublishData {\n const cli = this.args;\n const branch = cli.branch ?? gitGetBranch();\n const branchConfig = getBranchesConfigs()[branch];\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const buildVersion = cli.build || getDefaultBuildVersion(branch, gitGetCommitHash());\n const registry = cli.registry ?? DEFAULT_MFE_REGISTRY;\n const tag = cli.tag ?? branchConfig?.publishTag ?? '';\n const uploadSourcemaps = cli.uploadSourcemaps ?? branchConfig?.uploadSourcemaps ?? true;\n const version = '0.0.0-' + buildVersion;\n const publishedTags = npmView({ packageName, registry })?.['dist-tags'] ?? {};\n\n return {\n buildVersion,\n dry: !!cli.dry,\n force: !!cli.force,\n isBranchConfigured: !!branchConfig,\n publishedTags,\n registry,\n tag: tag || 'latest',\n trackHistory: cli.trackHistory ?? true,\n uploadSourcemaps,\n version,\n };\n }\n\n private async setPackageFiles({ files: inputFiles }: PackageJson) {\n let outputFiles = ['dist/bundle', 'dist/metadata.json', 'package.json'];\n\n if (inputFiles?.length) {\n const index = inputFiles.findIndex(file => file === 'dist');\n if (index < 0) {\n return;\n }\n outputFiles = [\n ...inputFiles.slice(0, index),\n ...outputFiles.filter(file => file.startsWith('dist')),\n ...inputFiles.slice(index + 1),\n ];\n }\n\n for (let i = 0, n = outputFiles.length; i < n; i++) {\n // eslint-disable-next-line no-await-in-loop\n await npmPackageSet(`files[${i}]`, outputFiles[i]);\n }\n }\n\n private validateMetadata(version: string) {\n const { destination: outDir } = getFolders();\n\n const metadataJson = path.join(outDir, 'metadata.json');\n if (!fs.existsSync(metadataJson)) {\n throw new Error(`${metadataJson} is not present`);\n }\n\n const metadata = readJson<Metadata>(metadataJson);\n this.validateEntryPoints(outDir, metadata);\n\n fs.writeFileSync(metadataJson, JSON.stringify({ ...metadata, version }, null, 2), 'utf-8');\n }\n\n private validateEntryPoints(outDir: string, { entrypoints = {} }: Metadata) {\n const keys: (keyof EntryPoints)[] = ['full', 'light'];\n keys.forEach(name =>\n this.validateEntryPoint({ entryPoint: entrypoints[name], name, outDir })\n );\n }\n\n private validateEntryPoint({\n entryPoint = {},\n name,\n outDir,\n }: {\n entryPoint?: EntryPoint;\n name: keyof EntryPoints;\n outDir: string;\n }) {\n const keys: (keyof EntryPoint)[] = ['css', 'js'];\n keys.forEach(key => {\n if (!entryPoint[key]) {\n throw new Error(`${name}.${key} not found in metadata.json`);\n }\n entryPoint[key].forEach(filename => {\n if (!fs.existsSync(path.join(outDir, 'bundle', name, filename))) {\n throw new Error(`referenced bundle ${filename} was not found`);\n }\n });\n });\n }\n\n private async maybeApplyRollbackTag(packageName: string, data: PublishData) {\n const { dry, registry, tag, trackHistory, version, publishedTags } = data;\n\n if (!trackHistory) {\n log.info('Track history is turned off, skipping rollback tag');\n return;\n }\n\n const previousVersion = publishedTags[tag];\n\n if (!previousVersion) {\n log.info(`No previous version published with tag \"${tag}\", skipping rollback tag`);\n return;\n }\n\n if (previousVersion === version) {\n log.info(`Version \"${version}\" is already tagged \"${tag}\", skipping rollback tag`);\n return;\n }\n\n const prevTag = buildRollbackTag(tag);\n\n log.info(\n `${this.dryRunPrefix}Tagging previous version ${previousVersion} with tag \"${prevTag}\"`\n );\n\n if (!dry) {\n await npmTagVersion({\n packageName,\n packageVersion: previousVersion,\n registry,\n tag: prevTag,\n });\n }\n }\n\n private async restoreRollbackTag(\n packageName: string,\n { registry, tag }: PublishData,\n version: string\n ) {\n const rollbackTag = buildRollbackTag(tag);\n\n log.info(`Restoring rollback tag ${rollbackTag} back to version ${version}`);\n\n await npmTagVersion({\n packageName,\n packageVersion: version,\n registry,\n tag: rollbackTag,\n });\n }\n}\n"],"names":["MFEPackagePublish","mfePackagePublishOptions","branch","string","description","defaultDescription","build","dry","boolean","force","registry","hidden","trackHistory","tag","uploadSourcemaps","Command","execute","args","log","warning","packageJson","readJson","data","getPublishData","name","checkPackage","maybeApplyRollbackTag","maybePublishPackage","dryRunPrefix","DRY_RUN_PREFIX","isBranchConfigured","isWebComponent","Error","private","version","versions","npmGetPackageVersions","includes","info","npmTagVersion","packageName","packageVersion","validateMetadata","npmPackageSet","setPackageFiles","npmPublish","error","versionOriginallyTaggedWithRollback","publishedTags","buildRollbackTag","restoreRollbackTag","options","filter","option","runCommand","join","cli","npmView","gitGetBranch","branchConfig","getBranchesConfigs","buildVersion","getDefaultBuildVersion","gitGetCommitHash","DEFAULT_MFE_REGISTRY","publishTag","files","inputFiles","outputFiles","length","index","findIndex","file","slice","startsWith","i","n","destination","outDir","getFolders","metadataJson","path","fs","existsSync","metadata","validateEntryPoints","writeFileSync","JSON","stringify","entrypoints","keys","forEach","validateEntryPoint","entryPoint","key","filename","previousVersion","prevTag","rollbackTag"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-package-publish.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport {\n getBranchesConfigs,\n getFolders,\n isWebComponent,\n log,\n logErrors,\n readJson,\n} from '../../utils';\nimport { EntryPoint, EntryPoints, Metadata } from '../../webpack/configs';\nimport {\n DRY_RUN_PREFIX,\n getDefaultBuildVersion,\n gitGetBranch,\n gitGetCommitHash,\n npmGetPackageVersions,\n npmPackageSet,\n npmPublish,\n npmTagVersion,\n npmView,\n runCommand,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { DEFAULT_MFE_REGISTRY, buildRollbackTag, purgeCache } from './utils';\n\nexport const mfePackagePublishOptions = {\n branch: {\n string: true,\n description: 'Branch name to associate with published version',\n defaultDescription: 'current git branch',\n },\n build: {\n string: true,\n description: 'Package version',\n defaultDescription: '<branch_name>.<commit_hash>',\n },\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be published',\n },\n force: {\n boolean: true,\n description: 'Force publishing from an unrecognized branch',\n },\n registry: { string: true, hidden: true, description: 'Registry url' },\n trackHistory: {\n boolean: true,\n description: `Tag the previous release, to support rollbacks`,\n defaultDescription: 'true',\n hidden: true,\n },\n tag: {\n string: true,\n description: 'Tag to assign to published version',\n },\n uploadSourcemaps: {\n boolean: true,\n description: 'Upload source maps to Datadog?',\n defaultDescription: 'true',\n },\n purgeCache: {\n boolean: true,\n description: 'Purge unpkg cache after publishing?',\n defaultDescription: 'true',\n },\n} satisfies CommandOptions;\n\ninterface PublishData {\n buildVersion: string;\n dry: boolean;\n force: boolean;\n isBranchConfigured: boolean;\n registry: string;\n tag: string;\n uploadSourcemaps: boolean;\n version: string;\n trackHistory: boolean;\n publishedTags: Record<string, string>;\n}\n\ninterface PackageJson {\n name: string;\n private?: boolean;\n files?: string[];\n}\n\nexport class MFEPackagePublish extends Command<typeof mfePackagePublishOptions> {\n static readonly options = mfePackagePublishOptions;\n\n @logErrors\n async execute() {\n if (this.args.dry) {\n log.warning('DRY-RUN MODE ENABLED, WILL NOT PUBLISH PACKAGES');\n }\n\n const packageJson = readJson<PackageJson>('package.json');\n\n const data = this.getPublishData(packageJson.name);\n if (!this.checkPackage(packageJson, data)) {\n return;\n }\n\n await this.maybeApplyRollbackTag(packageJson.name, data);\n\n await this.maybePublishPackage(packageJson, data);\n\n const { dry, tag } = data;\n if (this.args.purgeCache !== false && !dry) {\n purgeCache({ packageName: packageJson.name, tag });\n }\n\n if (data.uploadSourcemaps) {\n this.uploadSourcemaps(data);\n }\n }\n\n private get dryRunPrefix() {\n return this.args.dry ? DRY_RUN_PREFIX : '';\n }\n\n private checkPackage(packageJson: PackageJson, { force, isBranchConfigured }: PublishData) {\n if (!isWebComponent()) {\n throw new Error('only web-components can be published');\n }\n\n if (packageJson.private) {\n log.warning('package is private, skipping publish');\n return false;\n }\n\n if (!isBranchConfigured && !force) {\n log.warning(\n 'branch is not configured for publishing, use --force flag to publish if needed'\n );\n return false;\n }\n\n return true;\n }\n\n private async maybePublishPackage(packageJson: PackageJson, data: PublishData) {\n try {\n const { dry, registry, tag, version } = data;\n\n const versions = npmGetPackageVersions(registry, packageJson.name);\n if (versions.includes(version)) {\n log.warning(\n `${this.dryRunPrefix}${packageJson.name} version ${version} is already published, skipping publish`\n );\n\n log.info(`${this.dryRunPrefix}Tagging version ${version} with tag \"${tag}\"`);\n\n if (!dry) {\n await npmTagVersion({\n packageName: packageJson.name,\n packageVersion: version,\n registry,\n tag,\n });\n }\n\n return;\n }\n\n this.validateMetadata(version);\n\n await npmPackageSet('version', version);\n await npmPackageSet('publishConfig.registry', registry);\n await this.setPackageFiles(packageJson);\n\n log.info(`${this.dryRunPrefix}Publishing ${packageJson.name} version ${version}`);\n await npmPublish({ dry, tag });\n } catch (error) {\n log.error(`Failed to publish package ${packageJson.name}`);\n\n const versionOriginallyTaggedWithRollback =\n data.publishedTags[buildRollbackTag(data.tag)];\n\n if (versionOriginallyTaggedWithRollback) {\n await this.restoreRollbackTag(\n packageJson.name,\n data,\n versionOriginallyTaggedWithRollback\n );\n }\n throw error;\n }\n }\n\n private uploadSourcemaps({ dry, version }: PublishData) {\n const options = [...[dry && '--dry'], `--releaseVersion=${version}`].filter(\n option => !!option\n ) as string[];\n\n runCommand(`npx startup upload-sourcemaps ${options.join(' ')}`);\n }\n\n private getPublishData(packageName: string): PublishData {\n const cli = this.args;\n const branch = cli.branch ?? gitGetBranch();\n const branchConfig = getBranchesConfigs()[branch];\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const buildVersion = cli.build || getDefaultBuildVersion(branch, gitGetCommitHash());\n const registry = cli.registry ?? DEFAULT_MFE_REGISTRY;\n const tag = cli.tag ?? branchConfig?.publishTag ?? '';\n const uploadSourcemaps = cli.uploadSourcemaps ?? branchConfig?.uploadSourcemaps ?? true;\n const version = '0.0.0-' + buildVersion;\n const publishedTags = npmView({ packageName, registry })?.['dist-tags'] ?? {};\n\n return {\n buildVersion,\n dry: !!cli.dry,\n force: !!cli.force,\n isBranchConfigured: !!branchConfig,\n publishedTags,\n registry,\n tag: tag || 'latest',\n trackHistory: cli.trackHistory ?? true,\n uploadSourcemaps,\n version,\n };\n }\n\n private async setPackageFiles({ files: inputFiles }: PackageJson) {\n let outputFiles = ['dist/bundle', 'dist/metadata.json', 'package.json'];\n\n if (inputFiles?.length) {\n const index = inputFiles.findIndex(file => file === 'dist');\n if (index < 0) {\n return;\n }\n outputFiles = [\n ...inputFiles.slice(0, index),\n ...outputFiles.filter(file => file.startsWith('dist')),\n ...inputFiles.slice(index + 1),\n ];\n }\n\n for (let i = 0, n = outputFiles.length; i < n; i++) {\n // eslint-disable-next-line no-await-in-loop\n await npmPackageSet(`files[${i}]`, outputFiles[i]);\n }\n }\n\n private validateMetadata(version: string) {\n const { destination: outDir } = getFolders();\n\n const metadataJson = path.join(outDir, 'metadata.json');\n if (!fs.existsSync(metadataJson)) {\n throw new Error(`${metadataJson} is not present`);\n }\n\n const metadata = readJson<Metadata>(metadataJson);\n this.validateEntryPoints(outDir, metadata);\n\n fs.writeFileSync(metadataJson, JSON.stringify({ ...metadata, version }, null, 2), 'utf-8');\n }\n\n private validateEntryPoints(outDir: string, { entrypoints = {} }: Metadata) {\n const keys: (keyof EntryPoints)[] = ['full', 'light'];\n keys.forEach(name =>\n this.validateEntryPoint({ entryPoint: entrypoints[name], name, outDir })\n );\n }\n\n private validateEntryPoint({\n entryPoint = {},\n name,\n outDir,\n }: {\n entryPoint?: EntryPoint;\n name: keyof EntryPoints;\n outDir: string;\n }) {\n const keys: (keyof EntryPoint)[] = ['css', 'js'];\n keys.forEach(key => {\n if (!entryPoint[key]) {\n throw new Error(`${name}.${key} not found in metadata.json`);\n }\n entryPoint[key].forEach(filename => {\n if (!fs.existsSync(path.join(outDir, 'bundle', name, filename))) {\n throw new Error(`referenced bundle ${filename} was not found`);\n }\n });\n });\n }\n\n private async maybeApplyRollbackTag(packageName: string, data: PublishData) {\n const { dry, registry, tag, trackHistory, version, publishedTags } = data;\n\n if (!trackHistory) {\n log.info('Track history is turned off, skipping rollback tag');\n return;\n }\n\n const previousVersion = publishedTags[tag];\n\n if (!previousVersion) {\n log.info(`No previous version published with tag \"${tag}\", skipping rollback tag`);\n return;\n }\n\n if (previousVersion === version) {\n log.info(`Version \"${version}\" is already tagged \"${tag}\", skipping rollback tag`);\n return;\n }\n\n const prevTag = buildRollbackTag(tag);\n\n log.info(\n `${this.dryRunPrefix}Tagging previous version ${previousVersion} with tag \"${prevTag}\"`\n );\n\n if (!dry) {\n await npmTagVersion({\n packageName,\n packageVersion: previousVersion,\n registry,\n tag: prevTag,\n });\n }\n }\n\n private async restoreRollbackTag(\n packageName: string,\n { registry, tag }: PublishData,\n version: string\n ) {\n const rollbackTag = buildRollbackTag(tag);\n\n log.info(`Restoring rollback tag ${rollbackTag} back to version ${version}`);\n\n await npmTagVersion({\n packageName,\n packageVersion: version,\n registry,\n tag: rollbackTag,\n });\n }\n}\n"],"names":["MFEPackagePublish","mfePackagePublishOptions","branch","string","description","defaultDescription","build","dry","boolean","force","registry","hidden","trackHistory","tag","uploadSourcemaps","purgeCache","Command","execute","args","log","warning","packageJson","readJson","data","getPublishData","name","checkPackage","maybeApplyRollbackTag","maybePublishPackage","packageName","dryRunPrefix","DRY_RUN_PREFIX","isBranchConfigured","isWebComponent","Error","private","version","versions","npmGetPackageVersions","includes","info","npmTagVersion","packageVersion","validateMetadata","npmPackageSet","setPackageFiles","npmPublish","error","versionOriginallyTaggedWithRollback","publishedTags","buildRollbackTag","restoreRollbackTag","options","filter","option","runCommand","join","cli","npmView","gitGetBranch","branchConfig","getBranchesConfigs","buildVersion","getDefaultBuildVersion","gitGetCommitHash","DEFAULT_MFE_REGISTRY","publishTag","files","inputFiles","outputFiles","length","index","findIndex","file","slice","startsWith","i","n","destination","outDir","getFolders","metadataJson","path","fs","existsSync","metadata","validateEntryPoints","writeFileSync","JSON","stringify","entrypoints","keys","forEach","validateEntryPoint","entryPoint","key","filename","previousVersion","prevTag","rollbackTag"],"mappings":"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"}
|
|
@@ -14,9 +14,13 @@ export declare const mfePackageRollbackOptions: {
|
|
|
14
14
|
description: string;
|
|
15
15
|
required: true;
|
|
16
16
|
};
|
|
17
|
+
purgeCache: {
|
|
18
|
+
boolean: true;
|
|
19
|
+
description: string;
|
|
20
|
+
defaultDescription: string;
|
|
21
|
+
};
|
|
17
22
|
};
|
|
18
23
|
export declare class MFEPackageRollback extends Command<typeof mfePackageRollbackOptions> {
|
|
19
|
-
static readonly description = "Rollback a package to a previous tagged version";
|
|
20
24
|
static readonly options: {
|
|
21
25
|
dry: {
|
|
22
26
|
boolean: true;
|
|
@@ -32,6 +36,11 @@ export declare class MFEPackageRollback extends Command<typeof mfePackageRollbac
|
|
|
32
36
|
description: string;
|
|
33
37
|
required: true;
|
|
34
38
|
};
|
|
39
|
+
purgeCache: {
|
|
40
|
+
boolean: true;
|
|
41
|
+
description: string;
|
|
42
|
+
defaultDescription: string;
|
|
43
|
+
};
|
|
35
44
|
};
|
|
36
45
|
private get dryRunPrefix();
|
|
37
46
|
execute(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-rollback.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-rollback.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"mfe-package-rollback.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-rollback.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;CAoBZ,CAAC;AAM3B,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,OAAO,yBAAyB,CAAC;IAC7E,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;MAA6B;IAEpD,OAAO,KAAK,YAAY,GAEvB;IAGK,OAAO;YAaC,cAAc;CAyD/B"}
|
|
@@ -56,6 +56,11 @@ const mfePackageRollbackOptions = {
|
|
|
56
56
|
string: true,
|
|
57
57
|
description: 'The tag to rollback to its previous version',
|
|
58
58
|
required: true
|
|
59
|
+
},
|
|
60
|
+
purgeCache: {
|
|
61
|
+
boolean: true,
|
|
62
|
+
description: 'Purge unpkg cache after rolling back?',
|
|
63
|
+
defaultDescription: 'true'
|
|
59
64
|
}
|
|
60
65
|
};
|
|
61
66
|
class MFEPackageRollback extends _types.Command {
|
|
@@ -63,10 +68,17 @@ class MFEPackageRollback extends _types.Command {
|
|
|
63
68
|
return this.args.dry ? _utils1.DRY_RUN_PREFIX : '';
|
|
64
69
|
}
|
|
65
70
|
async execute() {
|
|
66
|
-
|
|
71
|
+
const { dry, tag } = this.args;
|
|
72
|
+
if (dry) {
|
|
67
73
|
_utils.log.warning('DRY-RUN MODE ENABLED, WILL NOT PERFORM ROLLBACK');
|
|
68
74
|
}
|
|
69
|
-
await this.handleRollback();
|
|
75
|
+
const packageName = await this.handleRollback();
|
|
76
|
+
if (packageName && this.args.purgeCache !== false && !dry) {
|
|
77
|
+
(0, _utils2.purgeCache)({
|
|
78
|
+
packageName,
|
|
79
|
+
tag
|
|
80
|
+
});
|
|
81
|
+
}
|
|
70
82
|
}
|
|
71
83
|
async handleRollback() {
|
|
72
84
|
var _ref;
|
|
@@ -105,9 +117,9 @@ class MFEPackageRollback extends _types.Command {
|
|
|
105
117
|
tag
|
|
106
118
|
});
|
|
107
119
|
}
|
|
120
|
+
return packageName;
|
|
108
121
|
}
|
|
109
122
|
}
|
|
110
|
-
_define_property(MFEPackageRollback, "description", 'Rollback a package to a previous tagged version');
|
|
111
123
|
_define_property(MFEPackageRollback, "options", mfePackageRollbackOptions);
|
|
112
124
|
_ts_decorate([
|
|
113
125
|
_utils.logErrors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-package-rollback.ts"],"sourcesContent":["import { log, logErrors, readJson } from '../../utils';\nimport { DRY_RUN_PREFIX, npmTagVersion, npmView } from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { buildRollbackTag,
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-package-rollback.ts"],"sourcesContent":["import { log, logErrors, readJson } from '../../utils';\nimport { DRY_RUN_PREFIX, npmTagVersion, npmView } from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { DEFAULT_MFE_REGISTRY, buildRollbackTag, purgeCache } from './utils';\n\nexport const mfePackageRollbackOptions = {\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be rolled back',\n },\n registry: {\n string: true,\n hidden: true,\n description: 'Registry url',\n },\n tag: {\n string: true,\n description: 'The tag to rollback to its previous version',\n required: true,\n },\n purgeCache: {\n boolean: true,\n description: 'Purge unpkg cache after rolling back?',\n defaultDescription: 'true',\n },\n} satisfies CommandOptions;\n\ninterface PackageJson {\n name: string;\n}\n\nexport class MFEPackageRollback extends Command<typeof mfePackageRollbackOptions> {\n static readonly options = mfePackageRollbackOptions;\n\n private get dryRunPrefix() {\n return this.args.dry ? DRY_RUN_PREFIX : '';\n }\n\n @logErrors\n async execute() {\n const { dry, tag } = this.args;\n if (dry) {\n log.warning('DRY-RUN MODE ENABLED, WILL NOT PERFORM ROLLBACK');\n }\n\n const packageName = await this.handleRollback();\n\n if (packageName && this.args.purgeCache !== false && !dry) {\n purgeCache({ packageName, tag });\n }\n }\n\n private async handleRollback() {\n const { tag, registry = DEFAULT_MFE_REGISTRY, dry } = this.args;\n\n const packageJson = readJson<PackageJson>('package.json');\n const packageName = packageJson.name;\n\n log.info(`${this.dryRunPrefix}Rolling back ${packageName} for tag \"${tag}\"`);\n\n const packageInfo = npmView({ packageName, registry });\n if (!packageInfo) {\n throw new Error(`Package ${packageName} not found in registry`);\n }\n\n const distTags = packageInfo?.['dist-tags'] ?? {};\n\n const rollbackTag = buildRollbackTag(tag);\n const rollbackVersion = distTags[rollbackTag];\n\n if (!rollbackVersion) {\n throw new Error(\n `No rollback version found for tag \"${tag}\" (looking for \"${rollbackTag}\")`\n );\n }\n\n log.info(\n `${this.dryRunPrefix}Found rollback version ${rollbackVersion} for tag \"${rollbackTag}\"`\n );\n\n const currentVersion = distTags[tag];\n if (currentVersion === rollbackVersion) {\n log.info(\n `${this.dryRunPrefix}Tags \"${tag}\" and \"${rollbackTag}\" both point to version ${rollbackVersion}, skipping rollback`\n );\n return;\n }\n\n if (currentVersion) {\n log.info(\n `${this.dryRunPrefix}Current tag \"${tag}\" points to version ${currentVersion}`\n );\n }\n\n log.info(\n `${this.dryRunPrefix}Rolling back ${packageName} tag \"${tag}\" to version ${rollbackVersion}`\n );\n\n if (!dry) {\n await npmTagVersion({\n packageName,\n packageVersion: rollbackVersion,\n registry,\n tag,\n });\n }\n\n return packageName;\n }\n}\n"],"names":["MFEPackageRollback","mfePackageRollbackOptions","dry","boolean","description","registry","string","hidden","tag","required","purgeCache","defaultDescription","Command","dryRunPrefix","args","DRY_RUN_PREFIX","execute","log","warning","packageName","handleRollback","DEFAULT_MFE_REGISTRY","packageJson","readJson","name","info","packageInfo","npmView","Error","distTags","rollbackTag","buildRollbackTag","rollbackVersion","currentVersion","npmTagVersion","packageVersion","options"],"mappings":";;;;;;;;;;;QA+BaA;eAAAA;;QA1BAC;eAAAA;;;uBAL4B;wBACc;uBACf;wBAC2B;;;;;;;;;;;;;;;;;;;;;;;AAE5D,MAAMA,4BAA4B;IACrCC,KAAK;QACDC,SAAS;QACTC,aAAa;IACjB;IACAC,UAAU;QACNC,QAAQ;QACRC,QAAQ;QACRH,aAAa;IACjB;IACAI,KAAK;QACDF,QAAQ;QACRF,aAAa;QACbK,UAAU;IACd;IACAC,YAAY;QACRP,SAAS;QACTC,aAAa;QACbO,oBAAoB;IACxB;AACJ;AAMO,MAAMX,2BAA2BY,cAAO;IAG3C,IAAYC,eAAe;QACvB,OAAO,IAAI,CAACC,IAAI,CAACZ,GAAG,GAAGa,sBAAc,GAAG;IAC5C;IAEA,MACMC,UAAU;QACZ,MAAM,EAAEd,GAAG,EAAEM,GAAG,EAAE,GAAG,IAAI,CAACM,IAAI;QAC9B,IAAIZ,KAAK;YACLe,UAAG,CAACC,OAAO,CAAC;QAChB;QAEA,MAAMC,cAAc,MAAM,IAAI,CAACC,cAAc;QAE7C,IAAID,eAAe,IAAI,CAACL,IAAI,CAACJ,UAAU,KAAK,SAAS,CAACR,KAAK;YACvDQ,IAAAA,kBAAU,EAAC;gBAAES;gBAAaX;YAAI;QAClC;IACJ;IAEA,MAAcY,iBAAiB;;QAC3B,MAAM,EAAEZ,GAAG,EAAEH,WAAWgB,4BAAoB,EAAEnB,GAAG,EAAE,GAAG,IAAI,CAACY,IAAI;QAE/D,MAAMQ,cAAcC,IAAAA,eAAQ,EAAc;QAC1C,MAAMJ,cAAcG,YAAYE,IAAI;QAEpCP,UAAG,CAACQ,IAAI,CAAC,GAAG,IAAI,CAACZ,YAAY,CAAC,aAAa,EAAEM,YAAY,UAAU,EAAEX,IAAI,CAAC,CAAC;QAE3E,MAAMkB,cAAcC,IAAAA,eAAO,EAAC;YAAER;YAAad;QAAS;QACpD,IAAI,CAACqB,aAAa;YACd,MAAM,IAAIE,MAAM,CAAC,QAAQ,EAAET,YAAY,sBAAsB,CAAC;QAClE;QAEA,MAAMU,mBAAWH,wBAAAA,kCAAAA,WAAa,CAAC,YAAY,uCAAI,CAAC;QAEhD,MAAMI,cAAcC,IAAAA,wBAAgB,EAACvB;QACrC,MAAMwB,kBAAkBH,QAAQ,CAACC,YAAY;QAE7C,IAAI,CAACE,iBAAiB;YAClB,MAAM,IAAIJ,MACN,CAAC,mCAAmC,EAAEpB,IAAI,gBAAgB,EAAEsB,YAAY,EAAE,CAAC;QAEnF;QAEAb,UAAG,CAACQ,IAAI,CACJ,GAAG,IAAI,CAACZ,YAAY,CAAC,uBAAuB,EAAEmB,gBAAgB,UAAU,EAAEF,YAAY,CAAC,CAAC;QAG5F,MAAMG,iBAAiBJ,QAAQ,CAACrB,IAAI;QACpC,IAAIyB,mBAAmBD,iBAAiB;YACpCf,UAAG,CAACQ,IAAI,CACJ,GAAG,IAAI,CAACZ,YAAY,CAAC,MAAM,EAAEL,IAAI,OAAO,EAAEsB,YAAY,wBAAwB,EAAEE,gBAAgB,mBAAmB,CAAC;YAExH;QACJ;QAEA,IAAIC,gBAAgB;YAChBhB,UAAG,CAACQ,IAAI,CACJ,GAAG,IAAI,CAACZ,YAAY,CAAC,aAAa,EAAEL,IAAI,oBAAoB,EAAEyB,gBAAgB;QAEtF;QAEAhB,UAAG,CAACQ,IAAI,CACJ,GAAG,IAAI,CAACZ,YAAY,CAAC,aAAa,EAAEM,YAAY,MAAM,EAAEX,IAAI,aAAa,EAAEwB,iBAAiB;QAGhG,IAAI,CAAC9B,KAAK;YACN,MAAMgC,IAAAA,qBAAa,EAAC;gBAChBf;gBACAgB,gBAAgBH;gBAChB3B;gBACAG;YACJ;QACJ;QAEA,OAAOW;IACX;AACJ;AA7EI,iBADSnB,oBACOoC,WAAUnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;CAgBA,CAAC;AAE3B,KAAK,iBAAiB,GAAG,OAAO,oBAAoB,GAChD,OAAO,wBAAwB,GAC/B,OAAO,sBAAsB,GAE7B,IAAI,CAAC,OAAO,yBAAyB,EAAE,KAAK,CAAC,GAAG;IAC5C,GAAG,EAAE,IAAI,CAAC,OAAO,yBAAyB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;CAC/D,CAAC;AAEN,qBAAa,UAAW,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IACtD,MAAM,CAAC,QAAQ,CAAC,WAAW,uCAAuC;IAClE,MAAM,KAAK,OAAO;;;;;;;;;;;;;;;;;;;MA0CjB;IAGK,OAAO;IAgCb,iBAAiB,
|
|
1
|
+
{"version":3,"file":"mfe-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;CAgBA,CAAC;AAE3B,KAAK,iBAAiB,GAAG,OAAO,oBAAoB,GAChD,OAAO,wBAAwB,GAC/B,OAAO,sBAAsB,GAE7B,IAAI,CAAC,OAAO,yBAAyB,EAAE,KAAK,CAAC,GAAG;IAC5C,GAAG,EAAE,IAAI,CAAC,OAAO,yBAAyB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;CAC/D,CAAC;AAEN,qBAAa,UAAW,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IACtD,MAAM,CAAC,QAAQ,CAAC,WAAW,uCAAuC;IAClE,MAAM,KAAK,OAAO;;;;;;;;;;;;;;;;;;;MA0CjB;IAGK,OAAO;IAgCb,iBAAiB,IAyBe,MAAM,EAAE;IAGxC,kBAAkB,IAMc,MAAM,EAAE;IAGxC,eAAe,IAQiB,MAAM,EAAE;CAE3C"}
|
|
@@ -118,7 +118,7 @@ class MFEPublish extends _types.Command {
|
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
getPublishOptions() {
|
|
121
|
-
const { build, branch, dry, force, registry, tag, uploadSourcemaps, trackHistory } = this.args;
|
|
121
|
+
const { build, branch, dry, force, purgeCache, registry, tag, uploadSourcemaps, trackHistory } = this.args;
|
|
122
122
|
return [
|
|
123
123
|
...[
|
|
124
124
|
branch && `--branch ${branch}`
|
|
@@ -133,17 +133,23 @@ class MFEPublish extends _types.Command {
|
|
|
133
133
|
force && '--force'
|
|
134
134
|
],
|
|
135
135
|
...[
|
|
136
|
-
|
|
136
|
+
purgeCache === true && '--purge-cache'
|
|
137
137
|
],
|
|
138
138
|
...[
|
|
139
|
-
|
|
139
|
+
purgeCache === false && '--no-purge-cache'
|
|
140
140
|
],
|
|
141
141
|
...[
|
|
142
|
-
|
|
142
|
+
registry && `--registry ${registry}`
|
|
143
143
|
],
|
|
144
144
|
...[
|
|
145
145
|
typeof tag === 'string' && `--tag ${tag}`
|
|
146
146
|
],
|
|
147
|
+
...[
|
|
148
|
+
trackHistory === true && '--track-history'
|
|
149
|
+
],
|
|
150
|
+
...[
|
|
151
|
+
trackHistory === false && '--no-track-history'
|
|
152
|
+
],
|
|
147
153
|
...[
|
|
148
154
|
uploadSourcemaps === true && `--upload-sourcemaps`
|
|
149
155
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-publish.ts"],"sourcesContent":["import { getPackages, isWebComponent, logErrors, PackageType } from '../../utils';\nimport { lernaExec } from '../utils';\nimport { mfePackageCleanOptions } from './mfe-package-clean';\nimport { mfePackagePublishOptions } from './mfe-package-publish';\nimport { mfePackageRollbackOptions } from './mfe-package-rollback';\nimport { Command, CommandOptions } from './types';\n\nconst mfePublishOwnOptions = {\n clean: { boolean: true, description: 'Unpublish old versions' },\n concurrency: {\n number: true,\n description: 'Publish/unpublish the specified number of packages concurrently',\n defaultDescription: '1',\n },\n rollback: {\n boolean: true,\n description: 'Rollback specified tag to the previous version',\n },\n scope: {\n array: true,\n string: true,\n description: 'Publish/unpublish only the specified packages',\n },\n} satisfies CommandOptions;\n\ntype MFEPublishOptions = typeof mfePublishOwnOptions &\n typeof mfePackagePublishOptions &\n typeof mfePackageCleanOptions &\n // make 'tag' not required for mfe-publish args, since it is only required for rollback\n Omit<typeof mfePackageRollbackOptions, 'tag'> & {\n tag: Omit<typeof mfePackageRollbackOptions.tag, 'required'>;\n };\n\nexport class MFEPublish extends Command<MFEPublishOptions> {\n static readonly description = 'Publish or unpublish MFE packages';\n static get options() {\n const publishOptions = Object.entries(mfePackagePublishOptions).reduce(\n (result, [key, value]) => {\n result[key] = { group: 'Publish Options:', ...value };\n return result;\n },\n {} as NonNullable<typeof Command.options>\n );\n\n const cleanOptions = Object.entries(mfePackageCleanOptions).reduce(\n (result, [key, value]) => {\n // no-break space suffix prevents key collisions\n result[`${key}\\u00A0`] = {\n group: 'Clean Options:',\n ...value,\n };\n return result;\n },\n {} as NonNullable<typeof Command.options>\n );\n\n const rollbackOptions = Object.entries(mfePackageRollbackOptions).reduce(\n (result, [key, value]) => {\n const optionProps = Object.fromEntries(\n Object.entries(value).filter(([k]) => k !== 'required')\n );\n // double no-break space suffix prevents key collisions\n result[`${key}\\u00A0\\u00A0`] = {\n group: 'Rollback Options:',\n ...optionProps,\n };\n return result;\n },\n {} as NonNullable<typeof Command.options>\n );\n\n return {\n ...mfePublishOwnOptions,\n ...publishOptions,\n ...cleanOptions,\n ...rollbackOptions,\n };\n }\n\n @logErrors\n async execute() {\n const packages = getPackages({ scope: this.args.scope, type: PackageType.Webpack }).filter(\n ({ location }) => isWebComponent(location)\n );\n\n if (!packages.length) {\n throw new Error('no packages found for publication');\n }\n\n const isRollback = !!this.args.rollback;\n const isClean = !!this.args.clean;\n\n let cmdSuffix: string;\n let options: string[];\n\n if (isRollback) {\n cmdSuffix = 'rollback';\n options = this.getRollbackOptions();\n } else {\n cmdSuffix = isClean ? 'clean' : 'publish';\n options = isClean ? this.getCleanOptions() : this.getPublishOptions();\n }\n\n await lernaExec({\n 'cmd': `startup mfe-package-${cmdSuffix}`,\n 'parallel': this.args.concurrency ?? 1,\n 'scope': packages.map(({ name }) => name),\n 'stream': true,\n '--': options,\n });\n }\n\n getPublishOptions() {\n const {
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-publish.ts"],"sourcesContent":["import { getPackages, isWebComponent, logErrors, PackageType } from '../../utils';\nimport { lernaExec } from '../utils';\nimport { mfePackageCleanOptions } from './mfe-package-clean';\nimport { mfePackagePublishOptions } from './mfe-package-publish';\nimport { mfePackageRollbackOptions } from './mfe-package-rollback';\nimport { Command, CommandOptions } from './types';\n\nconst mfePublishOwnOptions = {\n clean: { boolean: true, description: 'Unpublish old versions' },\n concurrency: {\n number: true,\n description: 'Publish/unpublish the specified number of packages concurrently',\n defaultDescription: '1',\n },\n rollback: {\n boolean: true,\n description: 'Rollback specified tag to the previous version',\n },\n scope: {\n array: true,\n string: true,\n description: 'Publish/unpublish only the specified packages',\n },\n} satisfies CommandOptions;\n\ntype MFEPublishOptions = typeof mfePublishOwnOptions &\n typeof mfePackagePublishOptions &\n typeof mfePackageCleanOptions &\n // make 'tag' not required for mfe-publish args, since it is only required for rollback\n Omit<typeof mfePackageRollbackOptions, 'tag'> & {\n tag: Omit<typeof mfePackageRollbackOptions.tag, 'required'>;\n };\n\nexport class MFEPublish extends Command<MFEPublishOptions> {\n static readonly description = 'Publish or unpublish MFE packages';\n static get options() {\n const publishOptions = Object.entries(mfePackagePublishOptions).reduce(\n (result, [key, value]) => {\n result[key] = { group: 'Publish Options:', ...value };\n return result;\n },\n {} as NonNullable<typeof Command.options>\n );\n\n const cleanOptions = Object.entries(mfePackageCleanOptions).reduce(\n (result, [key, value]) => {\n // no-break space suffix prevents key collisions\n result[`${key}\\u00A0`] = {\n group: 'Clean Options:',\n ...value,\n };\n return result;\n },\n {} as NonNullable<typeof Command.options>\n );\n\n const rollbackOptions = Object.entries(mfePackageRollbackOptions).reduce(\n (result, [key, value]) => {\n const optionProps = Object.fromEntries(\n Object.entries(value).filter(([k]) => k !== 'required')\n );\n // double no-break space suffix prevents key collisions\n result[`${key}\\u00A0\\u00A0`] = {\n group: 'Rollback Options:',\n ...optionProps,\n };\n return result;\n },\n {} as NonNullable<typeof Command.options>\n );\n\n return {\n ...mfePublishOwnOptions,\n ...publishOptions,\n ...cleanOptions,\n ...rollbackOptions,\n };\n }\n\n @logErrors\n async execute() {\n const packages = getPackages({ scope: this.args.scope, type: PackageType.Webpack }).filter(\n ({ location }) => isWebComponent(location)\n );\n\n if (!packages.length) {\n throw new Error('no packages found for publication');\n }\n\n const isRollback = !!this.args.rollback;\n const isClean = !!this.args.clean;\n\n let cmdSuffix: string;\n let options: string[];\n\n if (isRollback) {\n cmdSuffix = 'rollback';\n options = this.getRollbackOptions();\n } else {\n cmdSuffix = isClean ? 'clean' : 'publish';\n options = isClean ? this.getCleanOptions() : this.getPublishOptions();\n }\n\n await lernaExec({\n 'cmd': `startup mfe-package-${cmdSuffix}`,\n 'parallel': this.args.concurrency ?? 1,\n 'scope': packages.map(({ name }) => name),\n 'stream': true,\n '--': options,\n });\n }\n\n getPublishOptions() {\n const {\n build,\n branch,\n dry,\n force,\n purgeCache,\n registry,\n tag,\n uploadSourcemaps,\n trackHistory,\n } = this.args;\n return [\n ...[branch && `--branch ${branch}`],\n ...[build && `--build ${build}`],\n ...[dry && '--dry'],\n ...[force && '--force'],\n ...[purgeCache === true && '--purge-cache'],\n ...[purgeCache === false && '--no-purge-cache'],\n ...[registry && `--registry ${registry}`],\n ...[typeof tag === 'string' && `--tag ${tag}`],\n ...[trackHistory === true && '--track-history'],\n ...[trackHistory === false && '--no-track-history'],\n ...[uploadSourcemaps === true && `--upload-sourcemaps`],\n ...[uploadSourcemaps === false && `--no-upload-sourcemaps`],\n ].filter(item => !!item) as string[];\n }\n\n getRollbackOptions() {\n const { dry, registry, tag } = this.args;\n return [\n ...[dry && '--dry'],\n ...[registry && `--registry ${registry}`],\n ...[typeof tag === 'string' && `--tag ${tag}`],\n ].filter(item => !!item) as string[];\n }\n\n getCleanOptions() {\n const { all, branch, count, dry, registry } = this.args;\n return [\n ...[all && '--all'],\n ...[typeof branch === 'string' && `--branch ${branch}`],\n ...[count && `--count ${count}`],\n ...[dry && '--dry'],\n ...[registry && `--registry ${registry}`],\n ].filter(item => !!item) as string[];\n }\n}\n"],"names":["MFEPublish","mfePublishOwnOptions","clean","boolean","description","concurrency","number","defaultDescription","rollback","scope","array","string","Command","options","publishOptions","Object","entries","mfePackagePublishOptions","reduce","result","key","value","group","cleanOptions","mfePackageCleanOptions","rollbackOptions","mfePackageRollbackOptions","optionProps","fromEntries","filter","k","execute","packages","getPackages","args","type","PackageType","Webpack","location","isWebComponent","length","Error","isRollback","isClean","cmdSuffix","getRollbackOptions","getCleanOptions","getPublishOptions","lernaExec","map","name","build","branch","dry","force","purgeCache","registry","tag","uploadSourcemaps","trackHistory","item","all","count"],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Command } from './types';
|
|
2
|
+
declare const mfePurgeCacheOptions: {
|
|
3
|
+
host: {
|
|
4
|
+
string: true;
|
|
5
|
+
description: string;
|
|
6
|
+
demandOption: true;
|
|
7
|
+
};
|
|
8
|
+
packageName: {
|
|
9
|
+
string: true;
|
|
10
|
+
description: string;
|
|
11
|
+
demandOption: true;
|
|
12
|
+
};
|
|
13
|
+
tag: {
|
|
14
|
+
string: true;
|
|
15
|
+
description: string;
|
|
16
|
+
demandOption: true;
|
|
17
|
+
};
|
|
18
|
+
token: {
|
|
19
|
+
string: true;
|
|
20
|
+
description: string;
|
|
21
|
+
defaultDescription: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export type PurgeResponse = {
|
|
25
|
+
pod: string;
|
|
26
|
+
status: number;
|
|
27
|
+
cache: string | null;
|
|
28
|
+
location: string | null;
|
|
29
|
+
}[];
|
|
30
|
+
export declare class MFEPurgeCache extends Command<typeof mfePurgeCacheOptions> {
|
|
31
|
+
static readonly options: {
|
|
32
|
+
host: {
|
|
33
|
+
string: true;
|
|
34
|
+
description: string;
|
|
35
|
+
demandOption: true;
|
|
36
|
+
};
|
|
37
|
+
packageName: {
|
|
38
|
+
string: true;
|
|
39
|
+
description: string;
|
|
40
|
+
demandOption: true;
|
|
41
|
+
};
|
|
42
|
+
tag: {
|
|
43
|
+
string: true;
|
|
44
|
+
description: string;
|
|
45
|
+
demandOption: true;
|
|
46
|
+
};
|
|
47
|
+
token: {
|
|
48
|
+
string: true;
|
|
49
|
+
description: string;
|
|
50
|
+
defaultDescription: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
execute(): Promise<void>;
|
|
54
|
+
private getLocation;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=mfe-purge-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mfe-purge-cache.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-purge-cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;CAqBA,CAAC;AAE3B,MAAM,MAAM,aAAa,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,EAAE,CAAC;AAEJ,qBAAa,aAAc,SAAQ,OAAO,CAAC,OAAO,oBAAoB,CAAC;IACnE,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;MAAwB;IAGzC,OAAO;IA8Bb,OAAO,CAAC,WAAW;CAOtB"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "MFEPurgeCache", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return MFEPurgeCache;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _utils = require("../../utils");
|
|
12
|
+
const _types = require("./types");
|
|
13
|
+
function _define_property(obj, key, value) {
|
|
14
|
+
if (key in obj) {
|
|
15
|
+
Object.defineProperty(obj, key, {
|
|
16
|
+
value: value,
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true
|
|
20
|
+
});
|
|
21
|
+
} else {
|
|
22
|
+
obj[key] = value;
|
|
23
|
+
}
|
|
24
|
+
return obj;
|
|
25
|
+
}
|
|
26
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
27
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
28
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
29
|
+
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;
|
|
30
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
31
|
+
}
|
|
32
|
+
function _ts_metadata(k, v) {
|
|
33
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
34
|
+
}
|
|
35
|
+
const mfePurgeCacheOptions = {
|
|
36
|
+
host: {
|
|
37
|
+
string: true,
|
|
38
|
+
description: 'Host URL to send purge requests to',
|
|
39
|
+
demandOption: true
|
|
40
|
+
},
|
|
41
|
+
packageName: {
|
|
42
|
+
string: true,
|
|
43
|
+
description: 'Package name to purge',
|
|
44
|
+
demandOption: true
|
|
45
|
+
},
|
|
46
|
+
tag: {
|
|
47
|
+
string: true,
|
|
48
|
+
description: 'Package tag to purge',
|
|
49
|
+
demandOption: true
|
|
50
|
+
},
|
|
51
|
+
token: {
|
|
52
|
+
string: true,
|
|
53
|
+
description: 'X-Purge-Token header value',
|
|
54
|
+
defaultDescription: 'process.env.UNPKG_PURGE_TOKEN'
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
class MFEPurgeCache extends _types.Command {
|
|
58
|
+
async execute() {
|
|
59
|
+
var _this_args_token;
|
|
60
|
+
const { host: rawHost, packageName, tag } = this.args;
|
|
61
|
+
const host = rawHost.replace(/\/$/, '');
|
|
62
|
+
const token = (_this_args_token = this.args.token) !== null && _this_args_token !== void 0 ? _this_args_token : process.env.UNPKG_PURGE_TOKEN;
|
|
63
|
+
const packageNameAndTag = `${packageName}@${tag}`;
|
|
64
|
+
const path = `${packageNameAndTag}/dist/metadata.json`;
|
|
65
|
+
_utils.log.info(`Purging cache for ${packageNameAndTag}`);
|
|
66
|
+
if (!token) {
|
|
67
|
+
_utils.log.warning('Token is not defined, skipping purge');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const response = await fetch(`${host}/_purge/${path}`, {
|
|
71
|
+
method: 'POST',
|
|
72
|
+
headers: {
|
|
73
|
+
'X-Purge-Token': token
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
if (!response.ok) {
|
|
77
|
+
throw new Error(`Purge request failed: ${response.status} ${response.statusText}`);
|
|
78
|
+
}
|
|
79
|
+
const responseJson = await response.json();
|
|
80
|
+
/* istanbul ignore next: debug only */ _utils.log.debug('mfe-purge-cache', ()=>JSON.stringify(responseJson, null, 2));
|
|
81
|
+
_utils.log.info(`Cache purged: ${path} -> ${this.getLocation(responseJson)}`);
|
|
82
|
+
}
|
|
83
|
+
getLocation(responseJson) {
|
|
84
|
+
let location = null;
|
|
85
|
+
if (Array.isArray(responseJson)) {
|
|
86
|
+
var _ref;
|
|
87
|
+
var _responseJson__location, _responseJson_;
|
|
88
|
+
location = (_ref = (_responseJson_ = responseJson[0]) === null || _responseJson_ === void 0 ? void 0 : (_responseJson__location = _responseJson_.location) === null || _responseJson__location === void 0 ? void 0 : _responseJson__location.replace(/^\//, '')) !== null && _ref !== void 0 ? _ref : null;
|
|
89
|
+
}
|
|
90
|
+
return location;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
_define_property(MFEPurgeCache, "options", mfePurgeCacheOptions);
|
|
94
|
+
_ts_decorate([
|
|
95
|
+
_utils.logErrors,
|
|
96
|
+
_ts_metadata("design:type", Function),
|
|
97
|
+
_ts_metadata("design:paramtypes", []),
|
|
98
|
+
_ts_metadata("design:returntype", Promise)
|
|
99
|
+
], MFEPurgeCache.prototype, "execute", null);
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=mfe-purge-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-purge-cache.ts"],"sourcesContent":["import { log, logErrors } from '../../utils';\nimport { Command, CommandOptions } from './types';\n\nconst mfePurgeCacheOptions = {\n host: {\n string: true,\n description: 'Host URL to send purge requests to',\n demandOption: true,\n },\n packageName: {\n string: true,\n description: 'Package name to purge',\n demandOption: true,\n },\n tag: {\n string: true,\n description: 'Package tag to purge',\n demandOption: true,\n },\n token: {\n string: true,\n description: 'X-Purge-Token header value',\n defaultDescription: 'process.env.UNPKG_PURGE_TOKEN',\n },\n} satisfies CommandOptions;\n\nexport type PurgeResponse = {\n pod: string;\n status: number;\n cache: string | null;\n location: string | null;\n}[];\n\nexport class MFEPurgeCache extends Command<typeof mfePurgeCacheOptions> {\n static readonly options = mfePurgeCacheOptions;\n\n @logErrors\n async execute() {\n const { host: rawHost, packageName, tag } = this.args;\n const host = rawHost.replace(/\\/$/, '');\n const token = this.args.token ?? process.env.UNPKG_PURGE_TOKEN;\n const packageNameAndTag = `${packageName}@${tag}`;\n const path = `${packageNameAndTag}/dist/metadata.json`;\n\n log.info(`Purging cache for ${packageNameAndTag}`);\n\n if (!token) {\n log.warning('Token is not defined, skipping purge');\n return;\n }\n\n const response = await fetch(`${host}/_purge/${path}`, {\n method: 'POST',\n headers: { 'X-Purge-Token': token },\n });\n\n if (!response.ok) {\n throw new Error(`Purge request failed: ${response.status} ${response.statusText}`);\n }\n\n const responseJson = await response.json();\n /* istanbul ignore next: debug only */\n log.debug('mfe-purge-cache', () => JSON.stringify(responseJson, null, 2));\n\n log.info(`Cache purged: ${path} -> ${this.getLocation(responseJson)}`);\n }\n\n private getLocation(responseJson: PurgeResponse) {\n let location: string | null = null;\n if (Array.isArray(responseJson)) {\n location = responseJson[0]?.location?.replace(/^\\//, '') ?? null;\n }\n return location;\n }\n}\n"],"names":["MFEPurgeCache","mfePurgeCacheOptions","host","string","description","demandOption","packageName","tag","token","defaultDescription","Command","execute","rawHost","args","replace","process","env","UNPKG_PURGE_TOKEN","packageNameAndTag","path","log","info","warning","response","fetch","method","headers","ok","Error","status","statusText","responseJson","json","debug","JSON","stringify","getLocation","location","Array","isArray","options"],"mappings":";;;;+BAiCaA;;;eAAAA;;;uBAjCkB;uBACS;;;;;;;;;;;;;;;;;;;;;;;AAExC,MAAMC,uBAAuB;IACzBC,MAAM;QACFC,QAAQ;QACRC,aAAa;QACbC,cAAc;IAClB;IACAC,aAAa;QACTH,QAAQ;QACRC,aAAa;QACbC,cAAc;IAClB;IACAE,KAAK;QACDJ,QAAQ;QACRC,aAAa;QACbC,cAAc;IAClB;IACAG,OAAO;QACHL,QAAQ;QACRC,aAAa;QACbK,oBAAoB;IACxB;AACJ;AASO,MAAMT,sBAAsBU,cAAO;IAGtC,MACMC,UAAU;YAGE;QAFd,MAAM,EAAET,MAAMU,OAAO,EAAEN,WAAW,EAAEC,GAAG,EAAE,GAAG,IAAI,CAACM,IAAI;QACrD,MAAMX,OAAOU,QAAQE,OAAO,CAAC,OAAO;QACpC,MAAMN,SAAQ,mBAAA,IAAI,CAACK,IAAI,CAACL,KAAK,cAAf,8BAAA,mBAAmBO,QAAQC,GAAG,CAACC,iBAAiB;QAC9D,MAAMC,oBAAoB,GAAGZ,YAAY,CAAC,EAAEC,KAAK;QACjD,MAAMY,OAAO,GAAGD,kBAAkB,mBAAmB,CAAC;QAEtDE,UAAG,CAACC,IAAI,CAAC,CAAC,kBAAkB,EAAEH,mBAAmB;QAEjD,IAAI,CAACV,OAAO;YACRY,UAAG,CAACE,OAAO,CAAC;YACZ;QACJ;QAEA,MAAMC,WAAW,MAAMC,MAAM,GAAGtB,KAAK,QAAQ,EAAEiB,MAAM,EAAE;YACnDM,QAAQ;YACRC,SAAS;gBAAE,iBAAiBlB;YAAM;QACtC;QAEA,IAAI,CAACe,SAASI,EAAE,EAAE;YACd,MAAM,IAAIC,MAAM,CAAC,sBAAsB,EAAEL,SAASM,MAAM,CAAC,CAAC,EAAEN,SAASO,UAAU,EAAE;QACrF;QAEA,MAAMC,eAAe,MAAMR,SAASS,IAAI;QACxC,oCAAoC,GACpCZ,UAAG,CAACa,KAAK,CAAC,mBAAmB,IAAMC,KAAKC,SAAS,CAACJ,cAAc,MAAM;QAEtEX,UAAG,CAACC,IAAI,CAAC,CAAC,cAAc,EAAEF,KAAK,IAAI,EAAE,IAAI,CAACiB,WAAW,CAACL,eAAe;IACzE;IAEQK,YAAYL,YAA2B,EAAE;QAC7C,IAAIM,WAA0B;QAC9B,IAAIC,MAAMC,OAAO,CAACR,eAAe;;gBAClBA,yBAAAA;YAAXM,oBAAWN,iBAAAA,YAAY,CAAC,EAAE,cAAfA,sCAAAA,0BAAAA,eAAiBM,QAAQ,cAAzBN,8CAAAA,wBAA2BjB,OAAO,CAAC,OAAO,0CAAO;QAChE;QACA,OAAOuB;IACX;AACJ;AAxCI,iBADSrC,eACOwC,WAAUvC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export declare const DEFAULT_MFE_REGISTRY = "https://verdaccio.servicetitan.com";
|
|
2
1
|
export declare const ROLLBACK_TAG_SUFFIX = "-rollback-1";
|
|
3
2
|
export declare function buildRollbackTag(tag: string): string;
|
|
4
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=build-rollback-tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-rollback-tag.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/utils/build-rollback-tag.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD"}
|
|
@@ -9,9 +9,6 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get DEFAULT_MFE_REGISTRY () {
|
|
13
|
-
return DEFAULT_MFE_REGISTRY;
|
|
14
|
-
},
|
|
15
12
|
get ROLLBACK_TAG_SUFFIX () {
|
|
16
13
|
return ROLLBACK_TAG_SUFFIX;
|
|
17
14
|
},
|
|
@@ -19,10 +16,9 @@ _export(exports, {
|
|
|
19
16
|
return buildRollbackTag;
|
|
20
17
|
}
|
|
21
18
|
});
|
|
22
|
-
const DEFAULT_MFE_REGISTRY = 'https://verdaccio.servicetitan.com';
|
|
23
19
|
const ROLLBACK_TAG_SUFFIX = '-rollback-1';
|
|
24
20
|
function buildRollbackTag(tag) {
|
|
25
21
|
return `${tag}${ROLLBACK_TAG_SUFFIX}`;
|
|
26
22
|
}
|
|
27
23
|
|
|
28
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=build-rollback-tag.js.map
|