dotcom-tool-kit 4.0.0-beta.2 → 4.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/config.js +1 -1
- package/lib/messages.d.ts +2 -1
- package/lib/messages.d.ts.map +1 -1
- package/lib/messages.js +6 -6
- package/lib/tasks.d.ts.map +1 -1
- package/lib/tasks.js +13 -4
- package/package.json +1 -1
package/lib/config.js
CHANGED
|
@@ -111,7 +111,7 @@ async function loadConfig(logger, { validate = true } = {}) {
|
|
|
111
111
|
const invalidOptions = (0, options_1.validatePluginOptions)(logger, validPluginConfig);
|
|
112
112
|
if (invalidOptions.length > 0 && validate) {
|
|
113
113
|
const error = new error_1.ToolKitError('There are problems with your plugin options.');
|
|
114
|
-
error.details = (0, messages_1.
|
|
114
|
+
error.details = (0, messages_1.formatInvalidPluginOptions)(invalidOptions);
|
|
115
115
|
throw error;
|
|
116
116
|
}
|
|
117
117
|
(0, options_1.substituteOptionTags)(validRootPlugin, validPluginConfig);
|
package/lib/messages.d.ts
CHANGED
|
@@ -8,7 +8,8 @@ export declare const formatCommandTaskConflicts: (conflicts: Conflict<CommandTas
|
|
|
8
8
|
export declare const formatPluginOptionConflicts: (conflicts: Conflict<OptionsForPlugin>[]) => string;
|
|
9
9
|
export declare const formatTaskOptionConflicts: (conflicts: Conflict<OptionsForTask>[]) => string;
|
|
10
10
|
export type InvalidOption = [string, z.ZodError];
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const formatInvalidOption: ([id, error]: InvalidOption) => string;
|
|
12
|
+
export declare const formatInvalidPluginOptions: (invalidOptions: InvalidOption[]) => string;
|
|
12
13
|
export declare const formatUnusedPluginOptions: (unusedOptions: string[], definedPlugins: string[]) => string;
|
|
13
14
|
export declare const formatUnusedTaskOptions: (unusedOptions: string[], definedTasks: string[]) => string;
|
|
14
15
|
export declare const formatUninstalledHooks: (uninstalledHooks: Hook<z.ZodTypeAny, unknown>[]) => string;
|
package/lib/messages.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACf,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAOzD,eAAO,MAAM,mBAAmB,cAAe,CAAC,MAAM,EAAE,SAAS,UAAU,CAAC,CAAC,EAAE,KAAG,MAKT,CAAA;AAOzE,eAAO,MAAM,mBAAmB,cAAe,CAAC,MAAM,EAAE,SAAS,UAAU,CAAC,CAAC,EAAE,KAAG,MAKT,CAAA;AAezE,eAAO,MAAM,0BAA0B,cAAe,SAAS,WAAW,CAAC,EAAE,KAAG,MAQ/E,CAAA;AAOD,eAAO,MAAM,2BAA2B,cAAe,SAAS,gBAAgB,CAAC,EAAE,KAAG,MAUrF,CAAA;AAOD,eAAO,MAAM,yBAAyB,cAAe,SAAS,cAAc,CAAC,EAAE,KAAG,MAUjF,CAAA;AAKD,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;AAEhD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACf,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAOzD,eAAO,MAAM,mBAAmB,cAAe,CAAC,MAAM,EAAE,SAAS,UAAU,CAAC,CAAC,EAAE,KAAG,MAKT,CAAA;AAOzE,eAAO,MAAM,mBAAmB,cAAe,CAAC,MAAM,EAAE,SAAS,UAAU,CAAC,CAAC,EAAE,KAAG,MAKT,CAAA;AAezE,eAAO,MAAM,0BAA0B,cAAe,SAAS,WAAW,CAAC,EAAE,KAAG,MAQ/E,CAAA;AAOD,eAAO,MAAM,2BAA2B,cAAe,SAAS,gBAAgB,CAAC,EAAE,KAAG,MAUrF,CAAA;AAOD,eAAO,MAAM,yBAAyB,cAAe,SAAS,cAAc,CAAC,EAAE,KAAG,MAUjF,CAAA;AAKD,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;AAEhD,eAAO,MAAM,mBAAmB,kCAAiC,MACI,CAAA;AAErE,eAAO,MAAM,0BAA0B,mBACrB,aAAa,EAAE,KAC9B,MAKF,CAAA;AAED,eAAO,MAAM,yBAAyB,kBACrB,MAAM,EAAE,kBACP,MAAM,EAAE,KACvB,MAWF,CAAA;AAED,eAAO,MAAM,uBAAuB,kBACnB,MAAM,EAAE,gBACT,MAAM,EAAE,KACrB,MAWF,CAAA;AAED,eAAO,MAAM,sBAAsB,qBACf,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,KAC9C,MAKF,CAAA;AAED,KAAK,OAAO,GAAG;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,cAAc,EAAE,CAAA;CAAE,CAAA;AAOhE,eAAO,MAAM,kBAAkB,iBACf,OAAO,EAAE,SAChB,MAAM,EAAE,KACd,MAOF,CAAA;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAezD;AAED,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAAwC,CAAA"}
|
package/lib/messages.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.indentReasons = exports.formatPluginTree = exports.formatMissingTasks = exports.formatUninstalledHooks = exports.formatUnusedTaskOptions = exports.formatUnusedPluginOptions = exports.
|
|
3
|
+
exports.indentReasons = exports.formatPluginTree = exports.formatMissingTasks = exports.formatUninstalledHooks = exports.formatUnusedTaskOptions = exports.formatUnusedPluginOptions = exports.formatInvalidPluginOptions = exports.formatInvalidOption = exports.formatTaskOptionConflicts = exports.formatPluginOptionConflicts = exports.formatCommandTaskConflicts = exports.formatHookConflicts = exports.formatTaskConflicts = void 0;
|
|
4
4
|
const logger_1 = require("@dotcom-tool-kit/logger");
|
|
5
5
|
const zod_validation_error_1 = require("zod-validation-error");
|
|
6
6
|
const formatTaskConflict = ([key, conflict]) => `- ${logger_1.styles.task(key ?? 'unknown task')} ${logger_1.styles.dim('from plugins')} ${conflict.conflicting
|
|
@@ -51,15 +51,15 @@ You must resolve this conflict by providing options in your app's Tool Kit confi
|
|
|
51
51
|
`;
|
|
52
52
|
exports.formatTaskOptionConflicts = formatTaskOptionConflicts;
|
|
53
53
|
const formatPlugin = (plugin) => plugin.id === 'app root' ? logger_1.styles.app('your app') : `plugin ${logger_1.styles.plugin(plugin.id)}`;
|
|
54
|
-
const
|
|
54
|
+
const formatInvalidOption = ([id, error]) => (0, zod_validation_error_1.fromZodError)(error, { prefix: `- ${id} has the issue(s)` }).message;
|
|
55
|
+
exports.formatInvalidOption = formatInvalidOption;
|
|
56
|
+
const formatInvalidPluginOptions = (invalidOptions) => `Options are defined in your Tool Kit configuration that are the wrong types:
|
|
55
57
|
|
|
56
|
-
${invalidOptions
|
|
57
|
-
.map(([plugin, error]) => (0, zod_validation_error_1.fromZodError)(error, { prefix: `- ${logger_1.styles.plugin(plugin)} has the issue(s)` }).message)
|
|
58
|
-
.join('\n')}
|
|
58
|
+
${invalidOptions.map(([plugin, error]) => (0, exports.formatInvalidOption)([logger_1.styles.plugin(plugin), error])).join('\n')}
|
|
59
59
|
|
|
60
60
|
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.
|
|
61
61
|
`;
|
|
62
|
-
exports.
|
|
62
|
+
exports.formatInvalidPluginOptions = formatInvalidPluginOptions;
|
|
63
63
|
const formatUnusedPluginOptions = (unusedOptions, definedPlugins) => `Options are defined in your Tool Kit configuration for plugins that don't exist:
|
|
64
64
|
|
|
65
65
|
${unusedOptions.map((optionName) => `- ${logger_1.styles.plugin(optionName)}`).join('\n')}
|
package/lib/tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAsDrC,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DlG"}
|
package/lib/tasks.js
CHANGED
|
@@ -11,17 +11,26 @@ const install_1 = require("./install");
|
|
|
11
11
|
const logger_1 = require("@dotcom-tool-kit/logger");
|
|
12
12
|
const fetch_1 = require("./fetch");
|
|
13
13
|
const init_1 = require("./init");
|
|
14
|
+
const messages_1 = require("./messages");
|
|
14
15
|
const schemas_1 = require("@dotcom-tool-kit/schemas");
|
|
15
16
|
const loadTasks = async (logger, tasks, config) => {
|
|
16
17
|
const taskResults = await Promise.all(tasks.map(async ({ task: taskId, options }) => {
|
|
17
18
|
const entryPoint = config.tasks[taskId];
|
|
18
19
|
const taskResult = await (0, entry_point_1.importEntryPoint)(base_1.Task, entryPoint);
|
|
19
|
-
return taskResult.
|
|
20
|
+
return taskResult.flatMap((Task) => {
|
|
20
21
|
const taskSchema = schemas_1.TaskSchemas[taskId];
|
|
21
22
|
const configOptions = config.taskOptions[taskId]?.options ?? {};
|
|
22
|
-
const parsedOptions = taskSchema
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
const parsedOptions = taskSchema?.safeParse({ ...configOptions, ...options }) ?? {
|
|
24
|
+
success: true,
|
|
25
|
+
data: {}
|
|
26
|
+
};
|
|
27
|
+
if (parsedOptions.success) {
|
|
28
|
+
const task = new Task(logger, taskId, (0, options_1.getOptions)(entryPoint.plugin.id) ?? {}, parsedOptions);
|
|
29
|
+
return (0, validated_1.valid)([taskId, task]);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return (0, validated_1.invalid)([(0, messages_1.formatInvalidOption)([logger_1.styles.task(taskId), parsedOptions.error])]);
|
|
33
|
+
}
|
|
25
34
|
});
|
|
26
35
|
}));
|
|
27
36
|
return (0, validated_1.reduceValidated)(taskResults).map(Object.fromEntries);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dotcom-tool-kit",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.3",
|
|
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",
|