dotcom-tool-kit 2.6.0 → 2.6.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAA+C,MAAM,YAAY,CAAA;AAElF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAgB,MAAM,EAAmB,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC1G,OAAO,EAAE,OAAO,IAAI,aAAa,EAAW,MAAM,mCAAmC,CAAA;AAcrF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE,CAAA;IAC5C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,KAAK,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;KAAE,CAAA;IACxD,SAAS,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAA;IAC1D,OAAO,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;KAAE,CAAA;IAC9E,KAAK,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;KAAE,CAAA;CACjE;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAC5D,OAAO,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,MAAM,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAChG,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;KACxB,EAAE,IAAI,MAAM,aAAa,GAAG,kBAAkB,CAAC,EAAE,CAAC;CACpD,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG;IAChG,KAAK,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IAClC,SAAS,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAA;IACrC,OAAO,EAAE,YAAY,CAAA;IACrB,KAAK,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;KAAE,CAAA;CACvC,CAAA;AAID,eAAO,MAAM,YAAY,QAAO,SAQ9B,CAAA;AAQF,wBAAgB,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAsHtF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAKhF;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAC/F,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/lib/config.js CHANGED
@@ -25,6 +25,7 @@ async function asyncFilter(items, predicate) {
25
25
  return results.filter(({ keep }) => keep).map(({ item }) => item);
26
26
  }
27
27
  function validateConfig(config, logger) {
28
+ var _a;
28
29
  const validConfig = config;
29
30
  const hookTaskConflicts = (0, conflict_1.findConflicts)(Object.values(config.hookTasks));
30
31
  const hookConflicts = (0, conflict_1.findConflicts)(Object.values(config.hooks));
@@ -70,20 +71,35 @@ function validateConfig(config, logger) {
70
71
  error.details += (0, messages_1.formatUndefinedHookTasks)(undefinedHookTasks, Array.from(definedHookIds));
71
72
  }
72
73
  const invalidOptions = [];
73
- for (const [id, options] of Object.entries(config.options).filter((entry) => {
74
- const [, options] = entry;
75
- return !!options && !(0, conflict_1.isConflict)(options);
76
- })) {
74
+ for (const [id, plugin] of Object.entries(config.plugins)) {
77
75
  const pluginId = id;
76
+ const pluginOptions = config.options[pluginId];
77
+ if (pluginOptions && (0, conflict_1.isConflict)(pluginOptions)) {
78
+ continue;
79
+ }
78
80
  const pluginSchema = schema_1.Schemas[pluginId];
79
81
  if (!pluginSchema) {
80
82
  logger.silly(`skipping validation of ${pluginId} plugin as no schema can be found`);
81
83
  continue;
82
84
  }
83
- const result = pluginSchema.safeParse(options.options);
85
+ const result = pluginSchema.safeParse((_a = pluginOptions === null || pluginOptions === void 0 ? void 0 : pluginOptions.options) !== null && _a !== void 0 ? _a : {});
84
86
  if (result.success) {
85
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
86
- validConfig.options[pluginId].options = result.data;
87
+ // Set up options entry for plugins that don't have options specified
88
+ // explicitly. They could still have default options that are set by zod.
89
+ if (!pluginOptions) {
90
+ // TypeScript struggles with this type as it sees one side as
91
+ // `Foo<a | b | c>` and the other as `Foo<a> | Foo<b> | Foo<c>` for
92
+ // some reason (something to do with the record indexing) and it can't
93
+ // unify them. But they are equivalent so let's force it with a cast.
94
+ config.options[pluginId] = {
95
+ options: result.data,
96
+ plugin: config.plugins['app root'],
97
+ forPlugin: plugin
98
+ }; // eslint-disable-line @typescript-eslint/no-explicit-any
99
+ }
100
+ else {
101
+ pluginOptions.options = result.data;
102
+ }
87
103
  }
88
104
  else {
89
105
  invalidOptions.push([id, result.error]);
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAU5B,eAAO,MAAM,mBAAmB,cAAe,SAAS,SAAS,CAAC,EAAE,KAAG,MAKE,CAAA;AASzE,eAAO,MAAM,mBAAmB,cAAe,SAAS,KAAK,OAAO,CAAC,CAAC,EAAE,KAAG,MAKF,CAAA;AAazE,eAAO,MAAM,uBAAuB,cAAe,SAAS,QAAQ,CAAC,EAAE,KAAG,MAQzE,CAAA;AAOD,eAAO,MAAM,qBAAqB,cAAe,SAAS,aAAa,CAAC,EAAE,KAAG,MAU5E,CAAA;AAMD,eAAO,MAAM,wBAAwB,mBACnB,QAAQ,EAAE,gBACZ,MAAM,EAAE,KACrB,MAWF,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;AAEhD,eAAO,MAAM,oBAAoB,mBACf,aAAa,EAAE,KAC9B,MAM0J,CAAA;AAE7J,eAAO,MAAM,mBAAmB,kBACf,MAAM,EAAE,kBACP,MAAM,EAAE,KACvB,MAWF,CAAA;AAED,eAAO,MAAM,sBAAsB,qBACf,KAAK,OAAO,CAAC,EAAE,KAChC,MAKF,CAAA;AAED,KAAK,OAAO,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAOlD,eAAO,MAAM,kBAAkB,iBACf,OAAO,EAAE,SAChB,MAAM,EAAE,KACd,MAOF,CAAA;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAezD"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAU5B,eAAO,MAAM,mBAAmB,cAAe,SAAS,SAAS,CAAC,EAAE,KAAG,MAKE,CAAA;AASzE,eAAO,MAAM,mBAAmB,cAAe,SAAS,KAAK,OAAO,CAAC,CAAC,EAAE,KAAG,MAKF,CAAA;AAazE,eAAO,MAAM,uBAAuB,cAAe,SAAS,QAAQ,CAAC,EAAE,KAAG,MAQzE,CAAA;AAOD,eAAO,MAAM,qBAAqB,cAAe,SAAS,aAAa,CAAC,EAAE,KAAG,MAU5E,CAAA;AAMD,eAAO,MAAM,wBAAwB,mBACnB,QAAQ,EAAE,gBACZ,MAAM,EAAE,KACrB,MAWF,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;AAEhD,eAAO,MAAM,oBAAoB,mBACf,aAAa,EAAE,KAC9B,MAOF,CAAA;AAED,eAAO,MAAM,mBAAmB,kBACf,MAAM,EAAE,kBACP,MAAM,EAAE,KACvB,MAWF,CAAA;AAED,eAAO,MAAM,sBAAsB,qBACf,KAAK,OAAO,CAAC,EAAE,KAChC,MAKF,CAAA;AAED,KAAK,OAAO,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAOlD,eAAO,MAAM,kBAAkB,iBACf,OAAO,EAAE,SAChB,MAAM,EAAE,KACd,MAOF,CAAA;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAezD"}
package/lib/messages.js CHANGED
@@ -59,7 +59,8 @@ ${invalidOptions
59
59
  .map(([plugin, error]) => (0, zod_validation_error_1.fromZodError)(error, { prefix: `- ${logger_1.styles.plugin(plugin)} has the issue(s)` }).message)
60
60
  .join('\n')}
61
61
 
62
- Please update the options so that they are the expected types. You can refer to the README for the plugin for examples and descriptions of the options used.`;
62
+ Please update the options so that they are the expected types. You can refer to the README for the plugin for examples and descriptions of the options used.
63
+ `;
63
64
  exports.formatInvalidOptions = formatInvalidOptions;
64
65
  const formatUnusedOptions = (unusedOptions, definedPlugins) => `Options are defined in your Tool Kit configuration for plugins that don't exist:
65
66
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dotcom-tool-kit",
3
- "version": "2.6.0",
3
+ "version": "2.6.2",
4
4
  "description": "modern, maintainable, modular developer tooling for FT.com projects",
5
5
  "author": "FT.com Platforms Team <platforms-team.customer-products@ft.com>",
6
6
  "license": "MIT",
@@ -20,17 +20,17 @@
20
20
  "test": "cd ../../ ; npx jest --silent --projects core/cli"
21
21
  },
22
22
  "devDependencies": {
23
- "@dotcom-tool-kit/babel": "^2.0.13",
24
- "@dotcom-tool-kit/backend-heroku-app": "^1.0.1",
25
- "@dotcom-tool-kit/circleci": "^4.0.0",
26
- "@dotcom-tool-kit/circleci-deploy": "^2.0.0",
27
- "@dotcom-tool-kit/eslint": "^2.3.0",
28
- "@dotcom-tool-kit/frontend-app": "^2.2.1",
29
- "@dotcom-tool-kit/heroku": "^2.1.4",
30
- "@dotcom-tool-kit/mocha": "^2.3.0",
31
- "@dotcom-tool-kit/n-test": "^2.1.8",
32
- "@dotcom-tool-kit/npm": "^2.0.14",
33
- "@dotcom-tool-kit/webpack": "^2.1.12",
23
+ "@dotcom-tool-kit/babel": "^2.0.15",
24
+ "@dotcom-tool-kit/backend-heroku-app": "^1.0.3",
25
+ "@dotcom-tool-kit/circleci": "^4.0.2",
26
+ "@dotcom-tool-kit/circleci-deploy": "^2.0.2",
27
+ "@dotcom-tool-kit/eslint": "^2.3.2",
28
+ "@dotcom-tool-kit/frontend-app": "^2.3.0",
29
+ "@dotcom-tool-kit/heroku": "^2.1.6",
30
+ "@dotcom-tool-kit/mocha": "^2.3.2",
31
+ "@dotcom-tool-kit/n-test": "^2.1.10",
32
+ "@dotcom-tool-kit/npm": "^2.0.16",
33
+ "@dotcom-tool-kit/webpack": "^2.1.14",
34
34
  "@jest/globals": "^27.4.6",
35
35
  "@types/lodash": "^4.14.185",
36
36
  "@types/node": "^12.20.24",
@@ -42,8 +42,8 @@
42
42
  "dependencies": {
43
43
  "@dotcom-tool-kit/error": "^2.0.1",
44
44
  "@dotcom-tool-kit/logger": "^2.2.1",
45
- "@dotcom-tool-kit/options": "^2.0.13",
46
- "@dotcom-tool-kit/types": "^2.9.0",
45
+ "@dotcom-tool-kit/options": "^2.0.15",
46
+ "@dotcom-tool-kit/types": "^2.9.2",
47
47
  "@dotcom-tool-kit/wait-for-ok": "^2.0.1",
48
48
  "cosmiconfig": "^7.0.0",
49
49
  "lodash": "^4.17.21",