@atlassian/wrm-troubleshooting 0.6.5 → 0.6.6

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 (83) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +3 -3
  3. package/package.json +5 -5
  4. package/dist/analytics/analytics.js +0 -74
  5. package/dist/analytics/analytics.js.map +0 -1
  6. package/dist/analytics/events.js +0 -27
  7. package/dist/analytics/events.js.map +0 -1
  8. package/dist/applicationUrls.js +0 -39
  9. package/dist/applicationUrls.js.map +0 -1
  10. package/dist/atlassianPluginXml.js +0 -69
  11. package/dist/atlassianPluginXml.js.map +0 -1
  12. package/dist/checkForUpdate.js +0 -58
  13. package/dist/checkForUpdate.js.map +0 -1
  14. package/dist/cli.js +0 -76
  15. package/dist/cli.js.map +0 -1
  16. package/dist/cliUtils.js +0 -21
  17. package/dist/cliUtils.js.map +0 -1
  18. package/dist/globWithOptions.js +0 -18
  19. package/dist/globWithOptions.js.map +0 -1
  20. package/dist/maven/MavenError.js +0 -14
  21. package/dist/maven/MavenError.js.map +0 -1
  22. package/dist/paths.js +0 -12
  23. package/dist/paths.js.map +0 -1
  24. package/dist/pom.js +0 -147
  25. package/dist/pom.js.map +0 -1
  26. package/dist/steps/getEffectivePomConfig.js +0 -94
  27. package/dist/steps/getEffectivePomConfig.js.map +0 -1
  28. package/dist/steps/getEffectiveWebpackConfig.js +0 -35
  29. package/dist/steps/getEffectiveWebpackConfig.js.map +0 -1
  30. package/dist/steps/getWrmWebpackPlugin.js +0 -22
  31. package/dist/steps/getWrmWebpackPlugin.js.map +0 -1
  32. package/dist/steps/index.js +0 -27
  33. package/dist/steps/index.js.map +0 -1
  34. package/dist/steps/locatePomFile.js +0 -30
  35. package/dist/steps/locatePomFile.js.map +0 -1
  36. package/dist/steps/locateWebpackConfigFile.js +0 -32
  37. package/dist/steps/locateWebpackConfigFile.js.map +0 -1
  38. package/dist/steps/types.js +0 -48
  39. package/dist/steps/types.js.map +0 -1
  40. package/dist/steps/validateOptions.js +0 -21
  41. package/dist/steps/validateOptions.js.map +0 -1
  42. package/dist/steps/verifyPomConfigIsValid.js +0 -22
  43. package/dist/steps/verifyPomConfigIsValid.js.map +0 -1
  44. package/dist/steps/verifyWebpackBundle.js +0 -26
  45. package/dist/steps/verifyWebpackBundle.js.map +0 -1
  46. package/dist/steps/verifyWrmPluginHasValidConfig.js +0 -28
  47. package/dist/steps/verifyWrmPluginHasValidConfig.js.map +0 -1
  48. package/dist/steps/verifyWrmPluginScanFolders.js +0 -15
  49. package/dist/steps/verifyWrmPluginScanFolders.js.map +0 -1
  50. package/dist/steps/verifyWrmRuntime.js +0 -139
  51. package/dist/steps/verifyWrmRuntime.js.map +0 -1
  52. package/dist/troubleshooting.js +0 -219
  53. package/dist/troubleshooting.js.map +0 -1
  54. package/dist/troubleshootingOptions.js +0 -12
  55. package/dist/troubleshootingOptions.js.map +0 -1
  56. package/dist/types.js +0 -3
  57. package/dist/types.js.map +0 -1
  58. package/dist/webpack/webpack.js +0 -149
  59. package/dist/webpack/webpack.js.map +0 -1
  60. package/dist/webpack/webpackCli.js +0 -167
  61. package/dist/webpack/webpackCli.js.map +0 -1
  62. package/dist/webpack/webpackCliV3.js +0 -33
  63. package/dist/webpack/webpackCliV3.js.map +0 -1
  64. package/dist/webpack/webpackCliV4.js +0 -33
  65. package/dist/webpack/webpackCliV4.js.map +0 -1
  66. package/dist/webpack/webpackError.js +0 -14
  67. package/dist/webpack/webpackError.js.map +0 -1
  68. package/dist/webpackPlugin/WebpackRetrieveConfigPlugin.js +0 -61
  69. package/dist/webpackPlugin/WebpackRetrieveConfigPlugin.js.map +0 -1
  70. package/dist/webpackPlugin/webpack.config.js +0 -10
  71. package/dist/webpackPlugin/webpack.config.js.map +0 -1
  72. package/dist/webpackWrmPlugin.js +0 -62
  73. package/dist/webpackWrmPlugin.js.map +0 -1
  74. package/dist/wrm/fetchWithTimeout.js +0 -23
  75. package/dist/wrm/fetchWithTimeout.js.map +0 -1
  76. package/dist/wrm/wrmRestApi.js +0 -93
  77. package/dist/wrm/wrmRestApi.js.map +0 -1
  78. package/dist/wrm/wrmTypes.js +0 -3
  79. package/dist/wrm/wrmTypes.js.map +0 -1
  80. package/dist/xmlParser.js +0 -42
  81. package/dist/xmlParser.js.map +0 -1
  82. package/dist/yargsHelper.js +0 -22
  83. package/dist/yargsHelper.js.map +0 -1
@@ -1,167 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.runWebpackBundle = exports.runWebpackBundleWithInjectedPlugin = exports.getWebpackCliInfo = void 0;
26
- const chalk_1 = __importDefault(require("chalk"));
27
- const execa_1 = __importDefault(require("execa"));
28
- const fs_1 = require("fs");
29
- const path_1 = __importDefault(require("path"));
30
- const semver = __importStar(require("semver"));
31
- const paths_1 = require("../paths");
32
- const types_1 = require("../steps/types");
33
- const webpackCliV3_1 = require("./webpackCliV3");
34
- const webpackCliV4_1 = require("./webpackCliV4");
35
- const webpackError_1 = require("./webpackError");
36
- var WebpackCliVersion;
37
- (function (WebpackCliVersion) {
38
- WebpackCliVersion[WebpackCliVersion["V3"] = 3] = "V3";
39
- WebpackCliVersion[WebpackCliVersion["V4"] = 4] = "V4";
40
- })(WebpackCliVersion || (WebpackCliVersion = {}));
41
- async function getWebpackCliInfo(webpackConfigFile, commandTimeout) {
42
- const absoluteDirname = path_1.default.resolve(path_1.default.dirname(webpackConfigFile));
43
- const workingDirectory = await resolveCliWorkingDirectory(absoluteDirname);
44
- if (!workingDirectory) {
45
- return new Error(`We can't detect the location of the ${chalk_1.default.bold('webpack CLI')}. Please ensure that the project has installed the "${chalk_1.default.bold('webpack-cli')}" NPM dependency.`);
46
- }
47
- const cliVersion = await getWebpackCliVersion(workingDirectory, commandTimeout);
48
- if (cliVersion instanceof Error) {
49
- return cliVersion;
50
- }
51
- return {
52
- version: cliVersion,
53
- workingDirectory,
54
- };
55
- }
56
- exports.getWebpackCliInfo = getWebpackCliInfo;
57
- const versionsMap = new Map([
58
- [3, WebpackCliVersion.V3],
59
- [4, WebpackCliVersion.V4],
60
- ]);
61
- /**
62
- * Returns the version of the webpack-cli command
63
- */
64
- async function getWebpackCliVersion(workingDirectory, commandTimeout) {
65
- let cliVersion;
66
- try {
67
- const { stdout: output } = await (0, execa_1.default)('npx', ['webpack-cli', '--version'], {
68
- cwd: workingDirectory,
69
- timeout: commandTimeout,
70
- });
71
- // webpack-cli v3 outputs only a version but webpack-cli v4 outputs multiple versions for each of the components
72
- cliVersion = semver.parse(output);
73
- if (cliVersion === null && output.split('\n').length > 1) {
74
- cliVersion = semver.parse(findCliVersionString(output));
75
- }
76
- }
77
- catch (err) {
78
- const error = err;
79
- if (error.timedOut) {
80
- return (0, types_1.getTimeoutError)('webpack', commandTimeout);
81
- }
82
- const errorMessage = error.stdout || error.message || error.shortMessage;
83
- return new webpackError_1.WebpackError(`We can't detect the location of the ${chalk_1.default.bold('webpack CLI')}. Please ensure that the project has installed the "${chalk_1.default.bold('webpack-cli')}" NPM dependency.`, errorMessage);
84
- }
85
- if (cliVersion === null) {
86
- return new Error(`The "webpack-cli" has invalid version "${cliVersion}". Please try reinstalling the "webpack-cli" NPM dependency.`);
87
- }
88
- const webpackCliMajorVersion = cliVersion.major;
89
- if (!versionsMap.has(webpackCliMajorVersion)) {
90
- const supportedVersions = [...versionsMap.keys()].join(', ');
91
- return new Error(`The current version ${webpackCliMajorVersion} of "webpack-cli" package is not yet supported. Please try using the "webpack-cli" in one the supported versions instead: ${supportedVersions}.`);
92
- }
93
- // We checked if the map has the value
94
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
95
- return versionsMap.get(webpackCliMajorVersion);
96
- }
97
- function findCliVersionString(input) {
98
- const match = input.match(/^(?:webpack-cli):?\s+([0-9.a-z\-_]+)$/m);
99
- return match && match[1];
100
- }
101
- /**
102
- * Locates the directory where we can safely call the "npx webpack-cli" command withing the project dir
103
- */
104
- async function resolveCliWorkingDirectory(dir) {
105
- // Get a name of the root directory so we can break from the loop while we are traversing path tree
106
- const rootDirectory = path_1.default.parse(dir).root;
107
- let currentDir = dir;
108
- let foundPath = null;
109
- // Chek if we have a valid dir and we haven't reached the root directory yet
110
- while (currentDir && currentDir !== rootDirectory) {
111
- let webpackCliPath;
112
- /**
113
- * Check if we can resolve webpack-cli binary in the current directory.
114
- *
115
- * We need a custom resolution function since we can't simply call {@link require.resolve} with "webpack-cli" as param:
116
- * ```js
117
- * require.resolve('webpack-cli', { paths: [currentDir] });
118
- * ```
119
- * This wouldn't work with the project that is using Yarn and Workspaces that are hoisting the "webpack-cli" NPM module
120
- * to the root directory of the monorepo project. If the webpack-cli bin file is located under node_modules in
121
- * one of the non-project-root directories, most of the time it's the directory we are looking for.
122
- */
123
- try {
124
- webpackCliPath = path_1.default.join(currentDir, 'node_modules', '.bin', 'webpack-cli');
125
- await fs_1.promises.access(webpackCliPath);
126
- }
127
- catch (e) {
128
- currentDir = path_1.default.resolve(currentDir, '..');
129
- continue;
130
- }
131
- // Check if the resolved webpack path is included in current dir
132
- if (!(0, paths_1.isSubDirectory)(currentDir, path_1.default.dirname(webpackCliPath))) {
133
- currentDir = path_1.default.resolve(currentDir, '..');
134
- continue;
135
- }
136
- foundPath = currentDir;
137
- break;
138
- }
139
- return foundPath || null;
140
- }
141
- function runWebpackBundleWithInjectedPlugin(webpackCliInfo, webpackConfigFile, commandTimeout) {
142
- let command;
143
- switch (webpackCliInfo.version) {
144
- case WebpackCliVersion.V3:
145
- command = (0, webpackCliV3_1.runWebpackBundleWithInjectedPluginCliV3)(webpackCliInfo, webpackConfigFile, commandTimeout);
146
- break;
147
- case WebpackCliVersion.V4:
148
- command = (0, webpackCliV4_1.runWebpackBundleWithInjectedPluginCliV4)(webpackCliInfo, webpackConfigFile, commandTimeout);
149
- break;
150
- }
151
- return command;
152
- }
153
- exports.runWebpackBundleWithInjectedPlugin = runWebpackBundleWithInjectedPlugin;
154
- function runWebpackBundle(webpackCliInfo, webpackConfigFile, commandTimeout) {
155
- let command;
156
- switch (webpackCliInfo.version) {
157
- case WebpackCliVersion.V3:
158
- command = (0, webpackCliV3_1.runWebpackBundleCliV3)(webpackCliInfo, webpackConfigFile, commandTimeout);
159
- break;
160
- case WebpackCliVersion.V4:
161
- command = (0, webpackCliV4_1.runWebpackBundleCliV4)(webpackCliInfo, webpackConfigFile, commandTimeout);
162
- break;
163
- }
164
- return command;
165
- }
166
- exports.runWebpackBundle = runWebpackBundle;
167
- //# sourceMappingURL=webpackCli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpackCli.js","sourceRoot":"","sources":["../../src/webpack/webpackCli.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.runWebpackBundleCliV3 = exports.runWebpackBundleWithInjectedPluginCliV3 = void 0;
7
- const execa_1 = __importDefault(require("execa"));
8
- const fs_1 = require("fs");
9
- const path_1 = __importDefault(require("path"));
10
- async function runWebpackBundleWithInjectedPluginCliV3(webpackCliInfo, webpackConfigFile, commandTimeout) {
11
- const pluginPath = path_1.default.resolve(__dirname, '../webpackPlugin/WebpackRetrieveConfigPlugin.js');
12
- try {
13
- await fs_1.promises.access(pluginPath);
14
- }
15
- catch (e) {
16
- return new Error('We couldn\'t locate the "WebpackRetrieveConfigPlugin" plugin. Please try reinstalling the troubleshooting tool.');
17
- }
18
- // TODO: Should we pass webpack bundling modes here?
19
- return (0, execa_1.default)('npx', ['webpack-cli', '--config', webpackConfigFile, '--plugin', pluginPath], {
20
- cwd: webpackCliInfo.workingDirectory,
21
- timeout: commandTimeout,
22
- });
23
- }
24
- exports.runWebpackBundleWithInjectedPluginCliV3 = runWebpackBundleWithInjectedPluginCliV3;
25
- function runWebpackBundleCliV3(webpackCliInfo, webpackConfigFile, commandTimeout) {
26
- // TODO: Should we pass webpack bundling modes here?
27
- return (0, execa_1.default)('npx', ['webpack-cli', '--config', webpackConfigFile], {
28
- cwd: webpackCliInfo.workingDirectory,
29
- timeout: commandTimeout,
30
- });
31
- }
32
- exports.runWebpackBundleCliV3 = runWebpackBundleCliV3;
33
- //# sourceMappingURL=webpackCliV3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpackCliV3.js","sourceRoot":"","sources":["../../src/webpack/webpackCliV3.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,2BAAoC;AACpC,gDAAwB;AAIjB,KAAK,UAAU,uCAAuC,CAC3D,cAA8B,EAC9B,iBAAyB,EACzB,cAAsB;IAEtB,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iDAAiD,CAAC,CAAC;IAE9F,IAAI;QACF,MAAM,aAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KAC7B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,KAAK,CACd,iHAAiH,CAClH,CAAC;KACH;IAED,oDAAoD;IACpD,OAAO,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;QAC1F,GAAG,EAAE,cAAc,CAAC,gBAAgB;QACpC,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;AACL,CAAC;AApBD,0FAoBC;AAED,SAAgB,qBAAqB,CACnC,cAA8B,EAC9B,iBAAyB,EACzB,cAAsB;IAEtB,oDAAoD;IACpD,OAAO,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE;QAClE,GAAG,EAAE,cAAc,CAAC,gBAAgB;QACpC,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;AACL,CAAC;AAVD,sDAUC"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.runWebpackBundleCliV4 = exports.runWebpackBundleWithInjectedPluginCliV4 = void 0;
7
- const execa_1 = __importDefault(require("execa"));
8
- const fs_1 = require("fs");
9
- const path_1 = __importDefault(require("path"));
10
- async function runWebpackBundleWithInjectedPluginCliV4(webpackCliInfo, webpackConfigFile, commandTimeout) {
11
- const configPath = path_1.default.resolve(__dirname, '../webpackPlugin/webpack.config.js');
12
- try {
13
- await fs_1.promises.access(configPath);
14
- }
15
- catch (e) {
16
- return new Error('We couldn\'t locate the "WebpackRetrieveConfigPlugin" plugin. Please try reinstalling the troubleshooting tool.');
17
- }
18
- // TODO: Should we pass webpack bundling modes here?
19
- return (0, execa_1.default)('npx', ['webpack-cli', 'build', '--config', webpackConfigFile, configPath, '--merge'], {
20
- cwd: webpackCliInfo.workingDirectory,
21
- timeout: commandTimeout,
22
- });
23
- }
24
- exports.runWebpackBundleWithInjectedPluginCliV4 = runWebpackBundleWithInjectedPluginCliV4;
25
- function runWebpackBundleCliV4(webpackCliInfo, webpackConfigFile, commandTimeout) {
26
- // TODO: Should we pass webpack bundling modes here?
27
- return (0, execa_1.default)('npx', ['webpack-cli', 'bundle', '--config', webpackConfigFile], {
28
- cwd: webpackCliInfo.workingDirectory,
29
- timeout: commandTimeout,
30
- });
31
- }
32
- exports.runWebpackBundleCliV4 = runWebpackBundleCliV4;
33
- //# sourceMappingURL=webpackCliV4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpackCliV4.js","sourceRoot":"","sources":["../../src/webpack/webpackCliV4.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,2BAAoC;AACpC,gDAAwB;AAIjB,KAAK,UAAU,uCAAuC,CAC3D,cAA8B,EAC9B,iBAAyB,EACzB,cAAsB;IAEtB,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;IAEjF,IAAI;QACF,MAAM,aAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KAC7B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,KAAK,CACd,iHAAiH,CAClH,CAAC;KACH;IAED,oDAAoD;IACpD,OAAO,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;QAClG,GAAG,EAAE,cAAc,CAAC,gBAAgB;QACpC,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;AACL,CAAC;AApBD,0FAoBC;AAED,SAAgB,qBAAqB,CACnC,cAA8B,EAC9B,iBAAyB,EACzB,cAAsB;IAEtB,oDAAoD;IACpD,OAAO,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE;QAC5E,GAAG,EAAE,cAAc,CAAC,gBAAgB;QACpC,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;AACL,CAAC;AAVD,sDAUC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebpackError = void 0;
4
- class WebpackError extends Error {
5
- constructor(message, webpackOutput) {
6
- super(message);
7
- this.webpackOutput = webpackOutput;
8
- }
9
- getWebpackOutput() {
10
- return this.webpackOutput;
11
- }
12
- }
13
- exports.WebpackError = WebpackError;
14
- //# sourceMappingURL=webpackError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpackError.js","sourceRoot":"","sources":["../../src/webpack/webpackError.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;IAGrC,YAAY,OAAe,EAAE,aAAqB;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF;AAZD,oCAYC"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function decoratePluginWithNames(config) {
4
- return {
5
- ...config,
6
- plugins: config.plugins.filter(Boolean).map((plugin) => {
7
- var _a, _b;
8
- plugin.pluginName =
9
- (_b = (_a = plugin.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : plugin.name;
10
- return plugin;
11
- }),
12
- };
13
- }
14
- const unwantedWebpackPlugins = [
15
- /* prettier-ignore-start */
16
- 'BundleAnalyzerPlugin' /* When we serialize the plugin it will generate circular data */,
17
- /* prettier-ignore-end */
18
- ];
19
- function cleanUnwantedPlugins(config) {
20
- return {
21
- ...config,
22
- plugins: config.plugins.map((plugin) => {
23
- const { pluginName } = plugin;
24
- if (!unwantedWebpackPlugins.includes(pluginName)) {
25
- return plugin;
26
- }
27
- // Clean-up config and only keep the plugin name.
28
- // We are doing that to know what webpack plugins are being used by the project and to keep type safety.
29
- const fakePlugin = {
30
- pluginName,
31
- /* eslint-disable @typescript-eslint/no-empty-function */
32
- constructor() { },
33
- apply() { },
34
- /* eslint-enable @typescript-eslint/no-empty-function */
35
- };
36
- return fakePlugin;
37
- }),
38
- };
39
- }
40
- function normalizeConfig(config) {
41
- const configWithDecoratedPlugins = decoratePluginWithNames(config);
42
- return cleanUnwantedPlugins(configWithDecoratedPlugins);
43
- }
44
- class WebpackRetrieveConfigPlugin {
45
- apply(compiler) {
46
- compiler.hooks.beforeRun.tapAsync('Retrieve Webpack Configuration', function (compiler) {
47
- const config = normalizeConfig(compiler.options);
48
- const serializedConfig = JSON.stringify(config);
49
- // Output the serialized webpack config to process stdout so the WRM troubleshooting tool can read it
50
- console.log(serializedConfig);
51
- // We need a timeout since there is an issue in Node related to flushing stdout
52
- // https://github.com/nodejs/node/issues/12921
53
- setTimeout(() => {
54
- process.exit(0);
55
- }, 50);
56
- });
57
- }
58
- }
59
- exports.default = WebpackRetrieveConfigPlugin;
60
- module.exports = WebpackRetrieveConfigPlugin;
61
- //# sourceMappingURL=WebpackRetrieveConfigPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebpackRetrieveConfigPlugin.js","sourceRoot":"","sources":["../../src/webpackPlugin/WebpackRetrieveConfigPlugin.ts"],"names":[],"mappings":";;AAKA,SAAS,uBAAuB,CAAC,MAAgC;IAC/D,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAyB,CAAC,MAAM,EAAE,EAAE;;YAC5E,MAAiC,CAAC,UAAU;gBAC3C,MAAA,MAAC,MAAgC,CAAC,WAAW,0CAAE,IAAI,mCAAK,MAAgC,CAAC,IAAI,CAAC;YAEhG,OAAO,MAAgC,CAAC;QAC1C,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAG;IAC7B,2BAA2B;IAC3B,sBAAsB,CAAC,iEAAiE;IACxF,yBAAyB;CAC1B,CAAC;AAEF,SAAS,oBAAoB,CAAC,MAA8B;IAC1D,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAyB,CAAC,MAAM,EAAE,EAAE;YAC7D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE9B,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAChD,OAAO,MAAM,CAAC;aACf;YAED,iDAAiD;YACjD,wGAAwG;YACxG,MAAM,UAAU,GAA2B;gBACzC,UAAU;gBACV,yDAAyD;gBACzD,WAAW,KAAI,CAAC;gBAChB,KAAK,KAAI,CAAC;gBACV,wDAAwD;aACzD,CAAC;YAEF,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAAgC;IACvD,MAAM,0BAA0B,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAEnE,OAAO,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;AAC1D,CAAC;AAED,MAAqB,2BAA2B;IAC9C,KAAK,CAAC,QAAkB;QACtB,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,gCAAgC,EAAE,UAAU,QAAQ;YACpF,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEhD,qGAAqG;YACrG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAE9B,+EAA+E;YAC/E,8CAA8C;YAC9C,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhBD,8CAgBC;AAED,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const WebpackRetrieveConfigPlugin_1 = __importDefault(require("./WebpackRetrieveConfigPlugin"));
7
- module.exports = {
8
- plugins: [new WebpackRetrieveConfigPlugin_1.default()],
9
- };
10
- //# sourceMappingURL=webpack.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpack.config.js","sourceRoot":"","sources":["../../src/webpackPlugin/webpack.config.ts"],"names":[],"mappings":";;;;;AAAA,gGAAwE;AAExE,MAAM,CAAC,OAAO,GAAG;IACf,OAAO,EAAE,CAAC,IAAI,qCAA2B,EAAE,CAAC;CAC7C,CAAC"}
@@ -1,62 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.verifyGeneratedWebResources = exports.checkWrmScanFoldersIsValid = exports.checkWrmPluginHasValidConfig = exports.NPM_PACKAGE_NAME = exports.WRM_PLUGIN_NAME = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const fs_1 = require("fs");
9
- const atlassianPluginXml_1 = require("./atlassianPluginXml");
10
- const paths_1 = require("./paths");
11
- const pom_1 = require("./pom");
12
- exports.WRM_PLUGIN_NAME = 'WrmPlugin';
13
- exports.NPM_PACKAGE_NAME = 'atlassian-webresource-webpack-plugin';
14
- async function checkWrmPluginHasValidConfig(pomXml, wrmWebpackPlugin) {
15
- const pomPluginKey = (0, pom_1.getAtlassianPluginKeyFromPom)(pomXml);
16
- const { pluginKey: wrmPluginPluginKey } = wrmWebpackPlugin.options;
17
- if (pomPluginKey !== wrmPluginPluginKey) {
18
- const pluginKeyOption = 'pluginKey';
19
- const pomFile = 'pom.xml';
20
- // TODO: the pom.xml should be atlassian-plugin.xml file I guess
21
- return new Error(`The value of atlassian plugin key provided to the ${chalk_1.default.bold(exports.WRM_PLUGIN_NAME)} webpack plugin doesn't match the plugin key defined in "${chalk_1.default.green(pomFile)}" file:
22
- - ${chalk_1.default.bold(exports.WRM_PLUGIN_NAME)} [${chalk_1.default.bold(pluginKeyOption)}]: "${chalk_1.default.bold.red(wrmPluginPluginKey)}"
23
- - ${chalk_1.default.bold(pomFile)} [${chalk_1.default.bold('project.groupId')}].[${chalk_1.default.bold('project.artifactId')}]: "${chalk_1.default.bold.red(pomPluginKey)}"`);
24
- }
25
- return true;
26
- }
27
- exports.checkWrmPluginHasValidConfig = checkWrmPluginHasValidConfig;
28
- async function checkWrmScanFoldersIsValid(pomXml, pomFile, wrmWebpackPlugin) {
29
- const { xmlDescriptors: wrmXmlDescriptorsFile } = wrmWebpackPlugin.options;
30
- // Get Scan Folders value
31
- const pomScanFolders = (0, pom_1.getAbsoluteScanFoldersConfig)(pomXml, pomFile);
32
- // Check if wrmXmlDescriptorsFile is a child of Scan Folders directory
33
- const isInFolder = (0, paths_1.isSubDirectory)(pomScanFolders, wrmXmlDescriptorsFile);
34
- if (!isInFolder) {
35
- const wrmXmlDescriptorOption = 'xmlDescriptors';
36
- return new Error(`The configuration value of "${chalk_1.default.bold(pom_1.SCAN_FOLDERS_KEY)}" entry in ${chalk_1.default.green((0, paths_1.getRelativePath)(pomFile))} file doesn't overlap with the value of "${chalk_1.default.bold(wrmXmlDescriptorOption)}" in your webpack configuration:
37
- - ${chalk_1.default.bold((0, paths_1.getRelativePath)(pomFile))} [${chalk_1.default.bold(pom_1.SCAN_FOLDERS_KEY)}]: ${chalk_1.default.bold.red((0, paths_1.getRelativePath)(pomScanFolders))}
38
- - ${chalk_1.default.bold(exports.WRM_PLUGIN_NAME)} [${chalk_1.default.bold(wrmXmlDescriptorOption)}]: "${chalk_1.default.bold.red((0, paths_1.getRelativePath)(wrmXmlDescriptorsFile))}"`);
39
- }
40
- return true;
41
- }
42
- exports.checkWrmScanFoldersIsValid = checkWrmScanFoldersIsValid;
43
- async function verifyGeneratedWebResources(pomFile, pomXml, preBundleTimestamp) {
44
- const pomScanFolders = (0, pom_1.getAbsoluteScanFoldersConfig)(pomXml, pomFile);
45
- const generatedXmlPaths = await (0, atlassianPluginXml_1.getGeneratedModuleDescriptorPaths)(pomFile, pomXml);
46
- return verifyXmlFiles(generatedXmlPaths, preBundleTimestamp, pomScanFolders);
47
- }
48
- exports.verifyGeneratedWebResources = verifyGeneratedWebResources;
49
- async function verifyXmlFiles(xmlPaths, preBundleTimestamp, pomScanFolders) {
50
- // Check if any files were generated in the directory
51
- if (!xmlPaths.length) {
52
- return new Error(`No *.xml files were created by webpack under the "${chalk_1.default.green((0, paths_1.getRelativePath)(pomScanFolders))}" directory. Check if running the "webpack" CLI command shows you any errors or warnings that might cause the issue.`);
53
- }
54
- // Check if the XML files were generated during the webpack bundle
55
- const fileStats = await Promise.all(xmlPaths.map((filePath) => fs_1.promises.stat(filePath)));
56
- const filesAreNewer = fileStats.some((stats) => stats.mtimeMs > preBundleTimestamp);
57
- if (!filesAreNewer) {
58
- return new Error(`The *.xml files under the "${chalk_1.default.green((0, paths_1.getRelativePath)(pomScanFolders))}" directory are generated by webpack CLI but are coming from the older webpack bundle. Check if running the "webpack" CLI command shows you any errors or warnings that might cause the issue.`);
59
- }
60
- return true;
61
- }
62
- //# sourceMappingURL=webpackWrmPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpackWrmPlugin.js","sourceRoot":"","sources":["../src/webpackWrmPlugin.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.fetchWithTimeout = exports.FetchTimeoutError = void 0;
7
- const abort_controller_1 = require("abort-controller");
8
- const node_fetch_1 = __importDefault(require("node-fetch"));
9
- class FetchTimeoutError extends Error {
10
- }
11
- exports.FetchTimeoutError = FetchTimeoutError;
12
- async function fetchWithTimeout(timeout, url, options) {
13
- const abortCtrl = new abort_controller_1.AbortController();
14
- setTimeout(() => {
15
- abortCtrl.abort();
16
- }, timeout);
17
- return (0, node_fetch_1.default)(url, {
18
- ...options,
19
- signal: abortCtrl.signal,
20
- });
21
- }
22
- exports.fetchWithTimeout = fetchWithTimeout;
23
- //# sourceMappingURL=fetchWithTimeout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchWithTimeout.js","sourceRoot":"","sources":["../../src/wrm/fetchWithTimeout.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAmD;AAEnD,4DAA+B;AAE/B,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C;AAExC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,GAAgB,EAAE,OAAqB;IAC7F,MAAM,SAAS,GAAG,IAAI,kCAAe,EAAE,CAAC;IAExC,UAAU,CAAC,GAAG,EAAE;QACd,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,OAAO,IAAA,oBAAK,EAAC,GAAG,EAAE;QAChB,GAAG,OAAO;QACV,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAC,CAAC;AACL,CAAC;AAXD,4CAWC"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.fetchWebResources = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const fetchWithTimeout_1 = require("./fetchWithTimeout");
9
- const SUPER_BATCH_CONTEXT_KEY = '_super';
10
- async function fetchWebResources(applicationUrl, resourceKeys, timeout) {
11
- const url = `${applicationUrl}/rest/webResources/1.0/resources`;
12
- process.env.DEBUG && console.debug(`Fetching web-resource from ${url}`);
13
- // https://hello.atlassian.net/wiki/spaces/SVRFE/pages/491199354/WRM+Front-end+API#RESOURCES
14
- const payload = {
15
- r: Array.isArray(resourceKeys) ? resourceKeys : [resourceKeys],
16
- c: [],
17
- xr: [],
18
- xc: [SUPER_BATCH_CONTEXT_KEY], // Ignore super batch
19
- };
20
- let jsonResponse;
21
- try {
22
- const response = await (0, fetchWithTimeout_1.fetchWithTimeout)(timeout, url, {
23
- method: 'post',
24
- headers: {
25
- 'Content-Type': 'application/json',
26
- },
27
- body: JSON.stringify(payload),
28
- });
29
- if (!response.ok) {
30
- // TODO: What should be the error here?!
31
- throw new Error(response.status.toString());
32
- }
33
- jsonResponse = (await response.json());
34
- }
35
- catch (err) {
36
- const error = err;
37
- if (error.name === 'AbortError') {
38
- return new fetchWithTimeout_1.FetchTimeoutError(`Fetching web-resource for "${resourceKeys}" timed out`);
39
- }
40
- return Error(`Failed to load the web-resource for "${chalk_1.default.bold(resourceKeys)}" resource key.\nError: ${error.message}`);
41
- }
42
- const { resources } = jsonResponse;
43
- const maybeContents = await loadWrmResources(applicationUrl, resources, timeout);
44
- return maybeContents.filter(notError);
45
- }
46
- exports.fetchWebResources = fetchWebResources;
47
- async function loadWrmResources(applicationUrl, resources, timeout) {
48
- const simplifiedResourcesWithoutContent = resources.map((resource) => {
49
- const { url: urlPathname, resourceType } = resource;
50
- // We need to build a new absolute URL
51
- const url = new URL(applicationUrl);
52
- url.pathname = urlPathname;
53
- return {
54
- url: url.toString(),
55
- type: resourceType,
56
- };
57
- });
58
- const simplifiedResources = [];
59
- for (const resource of simplifiedResourcesWithoutContent) {
60
- const content = await loadWrmResource(resource.url, timeout);
61
- simplifiedResources.push(content instanceof Error
62
- ? content
63
- : {
64
- ...resource,
65
- content,
66
- });
67
- }
68
- return simplifiedResources;
69
- }
70
- async function loadWrmResource(resourceUrl, timeout) {
71
- try {
72
- const response = await (0, fetchWithTimeout_1.fetchWithTimeout)(timeout, resourceUrl, {
73
- method: 'get',
74
- });
75
- if (!response.ok) {
76
- // TODO: should we retry? Or based on error code? (do we only check if we know an instance is running?)
77
- // TODO: What should be the error here?!
78
- throw new Error(response.status.toString());
79
- }
80
- return await response.text();
81
- }
82
- catch (err) {
83
- const error = err;
84
- if (error.name === 'AbortError') {
85
- return new fetchWithTimeout_1.FetchTimeoutError(`Loading web-resource "${resourceUrl}" timed out`);
86
- }
87
- return Error(`Can't load the web-resource for "${resourceUrl}" resource key. Error: ${error.message}`);
88
- }
89
- }
90
- function notError(value) {
91
- return !(value instanceof Error);
92
- }
93
- //# sourceMappingURL=wrmRestApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrmRestApi.js","sourceRoot":"","sources":["../../src/wrm/wrmRestApi.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=wrmTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrmTypes.js","sourceRoot":"","sources":["../../src/wrm/wrmTypes.ts"],"names":[],"mappings":""}
package/dist/xmlParser.js DELETED
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseXmlFromFile = exports.parseXmlContent = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const fast_xml_parser_1 = require("fast-xml-parser");
9
- const fs_1 = require("fs");
10
- const paths_1 = require("./paths");
11
- const readFileContent = (filePath) => {
12
- return fs_1.promises.readFile(filePath, { encoding: 'utf8' });
13
- };
14
- const parseXmlContent = (xmlContent) => {
15
- const xmlParseOptions = {
16
- arrayMode: true,
17
- ignoreAttributes: false,
18
- attrNodeName: 'attrs',
19
- attributeNamePrefix: '',
20
- };
21
- let root;
22
- try {
23
- root = (0, fast_xml_parser_1.parse)(xmlContent, xmlParseOptions);
24
- }
25
- catch (error) {
26
- return new Error(`Can't parse the XML content`);
27
- }
28
- return root;
29
- };
30
- exports.parseXmlContent = parseXmlContent;
31
- async function parseXmlFromFile(filePath) {
32
- let xmlContent;
33
- try {
34
- xmlContent = await readFileContent(filePath);
35
- }
36
- catch (e) {
37
- return new Error(`Can't read the content of "${chalk_1.default.green((0, paths_1.getRelativePath)(filePath))}"`);
38
- }
39
- return (0, exports.parseXmlContent)(xmlContent);
40
- }
41
- exports.parseXmlFromFile = parseXmlFromFile;
42
- //# sourceMappingURL=xmlParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xmlParser.js","sourceRoot":"","sources":["../src/xmlParser.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qDAAoD;AACpD,2BAAoC;AAEpC,mCAA0C;AAG1C,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC3C,OAAO,aAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,UAAkB,EAA8B,EAAE;IAChF,MAAM,eAAe,GAAG;QACtB,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,OAAO;QACrB,mBAAmB,EAAE,EAAE;KACxB,CAAC;IAEF,IAAI,IAAwB,CAAC;IAC7B,IAAI;QACF,IAAI,GAAG,IAAA,uBAAQ,EAAC,UAAU,EAAE,eAAe,CAAC,CAAC;KAC9C;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KACjD;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAhBW,QAAA,eAAe,mBAgB1B;AAEK,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,IAAI,UAAkB,CAAC;IACvB,IAAI;QACF,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;KAC9C;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,KAAK,CAAC,8BAA8B,eAAK,CAAC,KAAK,CAAC,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;KAC3F;IAED,OAAO,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AATD,4CASC"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAsyncHandler = void 0;
4
- /**
5
- * This function will wrap a yargs handler command with try/catch.
6
- * The async will catch any error, display error message, and exist with error code
7
- */
8
- function getAsyncHandler(handler) {
9
- return async function asyncHandler(options) {
10
- try {
11
- await handler(options);
12
- process.exit(0);
13
- }
14
- catch (err) {
15
- const error = err;
16
- console.log(error.message);
17
- process.exit(1);
18
- }
19
- };
20
- }
21
- exports.getAsyncHandler = getAsyncHandler;
22
- //# sourceMappingURL=yargsHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yargsHelper.js","sourceRoot":"","sources":["../src/yargsHelper.ts"],"names":[],"mappings":";;;AAIA;;;GAGG;AACH,SAAgB,eAAe,CAAa,OAA4B;IACtE,OAAO,KAAK,UAAU,YAAY,CAAC,OAA8B;QAC/D,IAAI;YACF,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,KAAK,GAAG,GAAY,CAAC;YAE3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC,CAAC;AACJ,CAAC;AAZD,0CAYC"}