@atomicsmash/cli 7.0.0-beta.1 → 7.0.0-beta.11

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,3 +1,3 @@
1
- export declare const blocksHelpMessage = "\n Atomic Smash CLI - Blocks command.\n\n A command to generate WordPress blocks from a src folder.\n\n Options:\n --in The directory where the WP blocks can be found. Relative to cwd.\n --out The directory where the WP blocks will be output. Relative to cwd.\n --tsConfigPath (optional) The directory where the tsconfig file can be found. Relative to cwd. Defaults to the in folder.\n --watch (optional) Watch the blocks in folder for changes and compile.\n --excludeBlocks (optional) A comma separated list of the folder names of blocks to exclude from compilation. Defaults to \"__TEMPLATE__\".\n --excludeRootFiles (optional) A comma separated list of the root file names to exclude from compilation. Nothing is excluded by default.\n --alwaysCompileRootFiles (optional) By default, we won't compile root files if no blocks are found, this allows you to override that setting. Defaults to false.\n\n Example usage:\n $ smash-cli blocks --watch --in src --out build --tsConfigPath tsconfig.json\n";
2
- export default function blocks(args: string[]): void;
1
+ export declare const blocksHelpMessage = "\n Atomic Smash CLI - Blocks command.\n\n A command to generate WordPress blocks from a src folder.\n\n Options:\n --in The directory where the WP blocks can be found. Relative to cwd.\n --out The directory where the WP blocks will be output. Relative to cwd.\n --tsConfigPath (optional) The directory where the tsconfig file can be found. Relative to cwd. Defaults to the in folder.\n --postcssConfigPath (optional) The directory where the postcss config file can be found. Relative to cwd. Defaults to the in folder and then searches up the directory tree.\n --watch (optional) Watch the blocks in folder for changes and compile.\n --excludeBlocks (optional) A comma separated list of the folder names of blocks to exclude from compilation. Defaults to \"__TEMPLATE__\".\n --excludeRootFiles (optional) A comma separated list of the root file names to exclude from compilation. Nothing is excluded by default.\n --alwaysCompileRootFiles (optional) By default, we won't compile root files if no blocks are found, this allows you to override that setting. Defaults to false.\n\t\t--watch (optional) Run compiler in watch mode. Default to false.\n\n Example usage:\n $ smash-cli blocks --watch --in src --out build --tsConfigPath tsconfig.json\n";
2
+ export default function blocks(args: string[]): Promise<void>;
3
3
  //# sourceMappingURL=blocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iBAAiB,ylCAgB7B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAwN5C"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,iBAAiB,u2CAkB7B,CAAC;AAEF,wBAA8B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,iBAyClD"}
@@ -1,7 +1,8 @@
1
1
  import crypto from "node:crypto";
2
- import { readFileSync, writeFileSync, renameSync } from "node:fs";
3
- import { readdir } from "node:fs/promises";
4
- import { resolve as resolvePath } from "node:path";
2
+ import { readFileSync, writeFileSync } from "node:fs";
3
+ import { readdir, mkdir } from "node:fs/promises";
4
+ import { basename, dirname, extname, join, resolve as resolvePath, } from "node:path";
5
+ import { pathToFileURL } from "node:url";
5
6
  import DependencyExtractionWebpackPlugin from "@wordpress/dependency-extraction-webpack-plugin";
6
7
  import defaultConfig from "@wordpress/scripts/config/webpack.config.js";
7
8
  import autoprefixer from "autoprefixer";
@@ -10,7 +11,10 @@ import cssnano from "cssnano";
10
11
  import { deleteAsync } from "del";
11
12
  import glob from "glob-promise";
12
13
  import postcss from "postcss";
14
+ import postcssLoadConfig from "postcss-load-config";
15
+ import { compileStringAsync } from "sass";
13
16
  import { TsconfigPathsPlugin } from "tsconfig-paths-webpack-plugin";
17
+ import { register } from "tsx/esm/api";
14
18
  import webpack from "webpack";
15
19
  import { hasHelpFlag, interpretFlag, toCamelCase } from "../utils.js";
16
20
  const isProduction = process.env.NODE_ENV === "production";
@@ -23,15 +27,17 @@ export const blocksHelpMessage = `
23
27
  --in The directory where the WP blocks can be found. Relative to cwd.
24
28
  --out The directory where the WP blocks will be output. Relative to cwd.
25
29
  --tsConfigPath (optional) The directory where the tsconfig file can be found. Relative to cwd. Defaults to the in folder.
30
+ --postcssConfigPath (optional) The directory where the postcss config file can be found. Relative to cwd. Defaults to the in folder and then searches up the directory tree.
26
31
  --watch (optional) Watch the blocks in folder for changes and compile.
27
32
  --excludeBlocks (optional) A comma separated list of the folder names of blocks to exclude from compilation. Defaults to "__TEMPLATE__".
28
33
  --excludeRootFiles (optional) A comma separated list of the root file names to exclude from compilation. Nothing is excluded by default.
29
34
  --alwaysCompileRootFiles (optional) By default, we won't compile root files if no blocks are found, this allows you to override that setting. Defaults to false.
35
+ --watch (optional) Run compiler in watch mode. Default to false.
30
36
 
31
37
  Example usage:
32
38
  $ smash-cli blocks --watch --in src --out build --tsConfigPath tsconfig.json
33
39
  `;
34
- export default function blocks(args) {
40
+ export default async function blocks(args) {
35
41
  if (hasHelpFlag(args)) {
36
42
  console.log(blocksHelpMessage);
37
43
  return;
@@ -47,110 +53,64 @@ export default function blocks(args) {
47
53
  const srcFolder = resolvePath(inFlag.value);
48
54
  const distFolder = resolvePath(outFlag.value);
49
55
  const tsConfigLocation = interpretFlag(args, "--tsConfigPath").value ?? srcFolder;
56
+ const postcssConfigLocation = interpretFlag(args, "--postcssConfigPath").value ?? srcFolder;
50
57
  const excludeBlocks = interpretFlag(args, "--excludeBlocks", "list")
51
58
  .value ?? ["__TEMPLATE__"];
52
59
  const excludeRootFiles = interpretFlag(args, "--excludeRootFiles", "list").value ?? [];
53
60
  const shouldAlwaysCompileRootFiles = interpretFlag(args, "--alwaysCompileRootFiles", "boolean").value;
54
- const postCSSPlugins = [autoprefixer];
55
- if (isProduction) {
56
- postCSSPlugins.push(cssnano({ preset: "default" }));
57
- }
58
- async function processCSSFiles(globMatches) {
59
- for (const match of globMatches) {
60
- const fileName = match.split("/").pop();
61
- if (!fileName) {
62
- console.error(`Failed to get filename of ${match}`);
63
- continue;
64
- }
65
- const css = readFileSync(match);
66
- await postcss(postCSSPlugins)
67
- .process(css, {
68
- from: match,
69
- to: match.replace(srcFolder, distFolder),
70
- })
71
- .then((result) => {
72
- writeFileSync(match.replace(srcFolder, distFolder), result.css);
73
- if (result.map) {
74
- writeFileSync(`${match.replace(srcFolder, distFolder)}.map`, result.map.toString());
75
- }
76
- });
77
- }
78
- }
79
- async function fingerprintCSSFilesIfProduction() {
80
- if (!isProduction) {
81
- return;
82
- }
83
- return glob.promise(`${distFolder}/**/*.css`).then((matches) => {
84
- const currentCSSFileNames = [];
85
- for (const match of matches) {
86
- const fileBuffer = readFileSync(match);
87
- const contentHash = crypto.createHash("shake256", {
88
- outputLength: 10,
89
- });
90
- contentHash.update(fileBuffer);
91
- const fileMatchArray = match.split("/");
92
- const fileName = fileMatchArray.pop()?.split(".")[0];
93
- if (!fileName) {
94
- throw new Error("Error getting CSS file name.");
95
- }
96
- const newFileName = `${fileName}.${contentHash.digest("hex")}.css`;
97
- renameSync(match, `${fileMatchArray.join("/")}/${newFileName}`);
98
- currentCSSFileNames.push(`!${fileMatchArray.join("/")}/${newFileName}`);
99
- }
100
- deleteAsync([`${distFolder}/**/*.css`, ...currentCSSFileNames]).catch((error) => {
101
- console.log(error);
102
- });
103
- return;
104
- });
105
- }
106
- const plugins = [
107
- ...(defaultConfig.plugins?.filter((plugin) => {
108
- return ![
109
- "DependencyExtractionWebpackPlugin",
110
- "CopyPlugin", // CopyWebpackPlugin
111
- ].includes(plugin?.constructor.name ?? "");
112
- }) ?? []),
113
- new DependencyExtractionWebpackPlugin({
114
- combineAssets: true,
115
- }),
116
- new CopyWebpackPlugin({
117
- patterns: [
118
- {
119
- from: `${srcFolder}/**/block.json`,
120
- noErrorOnMissing: true,
121
- globOptions: {
122
- ignore: excludeBlocks.map((blockName) => `${srcFolder}/${blockName}/**/*`),
123
- },
124
- },
125
- ],
126
- }),
127
- {
128
- apply: (compiler) => {
129
- compiler.hooks.afterEmit.tapPromise("Build CSS and copy to test area", async () => {
130
- await glob
131
- .promise(`${srcFolder}/**/*.css`, {
132
- ignore: excludeBlocks.map((blockName) => `${srcFolder}/${blockName}/**/*`),
133
- })
134
- .then(processCSSFiles)
135
- .then(fingerprintCSSFilesIfProduction)
136
- .catch((error) => {
137
- console.error(error);
138
- throw error;
139
- });
140
- });
141
- },
142
- },
143
- ];
61
+ const isWatch = interpretFlag(args, "--watch", "boolean").value;
62
+ await runCommand({
63
+ srcFolder,
64
+ distFolder,
65
+ tsConfigLocation,
66
+ postcssConfigLocation,
67
+ excludeBlocks,
68
+ excludeRootFiles,
69
+ shouldAlwaysCompileRootFiles,
70
+ isWatch,
71
+ });
72
+ }
73
+ async function runCommand({ srcFolder, distFolder, tsConfigLocation, postcssConfigLocation, excludeBlocks, excludeRootFiles, shouldAlwaysCompileRootFiles, isWatch, }) {
74
+ const blocks = await getBlockJsonFiles(srcFolder, excludeBlocks);
75
+ const isNoBlocks = Object.keys(blocks).length === 0;
144
76
  const compiler = webpack({
145
77
  ...defaultConfig,
146
- entry: () => getAllBlocksJSEntryPoints({
147
- srcFolder,
148
- shouldAlwaysCompileRootFiles,
149
- excludeBlocks,
150
- excludeRootFiles,
151
- }),
78
+ entry: async () => {
79
+ const entryPoints = {
80
+ ...(isNoBlocks && !shouldAlwaysCompileRootFiles
81
+ ? {}
82
+ : await getRootFileJSEntryPoints({ srcFolder, excludeRootFiles })),
83
+ ...getAllBlocksJSEntryPoints({
84
+ srcFolder,
85
+ blocks,
86
+ }),
87
+ };
88
+ // TODO: improve this console output
89
+ // eslint-disable-next-line no-console
90
+ console.log({ entryPoints });
91
+ return entryPoints;
92
+ },
152
93
  context: srcFolder,
153
- plugins: plugins,
94
+ plugins: [
95
+ ...(defaultConfig.plugins?.filter((plugin) => {
96
+ return ![
97
+ "DependencyExtractionWebpackPlugin",
98
+ "CopyPlugin", // CopyWebpackPlugin
99
+ ].includes(plugin?.constructor.name ?? "");
100
+ }) ?? []),
101
+ new DependencyExtractionWebpackPlugin({
102
+ combineAssets: true,
103
+ }),
104
+ new CopyWebpackPlugin({
105
+ patterns: [...getCopyPatternsForBlocks(blocks, distFolder)],
106
+ }),
107
+ new CustomBlocksCSSHandler({
108
+ blocks,
109
+ srcFolder,
110
+ distFolder,
111
+ postcssConfigLocation,
112
+ }),
113
+ ],
154
114
  output: {
155
115
  path: distFolder,
156
116
  clean: true,
@@ -165,7 +125,7 @@ export default function blocks(args) {
165
125
  },
166
126
  mode: isProduction ? "production" : "development",
167
127
  });
168
- if (args.find((value) => value === "--watch")) {
128
+ if (isWatch) {
169
129
  const watching = compiler.watch({
170
130
  // Example
171
131
  aggregateTimeout: 300,
@@ -219,7 +179,7 @@ export default function blocks(args) {
219
179
  });
220
180
  }
221
181
  }
222
- async function getAllBlocksJSEntryPoints({ srcFolder, shouldAlwaysCompileRootFiles, excludeBlocks, excludeRootFiles, }) {
182
+ async function getRootFileJSEntryPoints({ srcFolder, excludeRootFiles, }) {
223
183
  const entryPoints = {};
224
184
  const rootFiles = await readdir(srcFolder, {
225
185
  withFileTypes: true,
@@ -246,56 +206,212 @@ async function getAllBlocksJSEntryPoints({ srcFolder, shouldAlwaysCompileRootFil
246
206
  filename: `${entryName}${isProduction ? `.[contenthash]` : ""}.js`,
247
207
  };
248
208
  }
249
- const blockFolders = await readdir(`${srcFolder}`, {
250
- withFileTypes: true,
251
- })
252
- .then((srcDirFiles) => {
253
- return srcDirFiles
254
- .filter((dirent) => dirent.isDirectory())
255
- .map((dirent) => dirent.name);
256
- })
257
- .then((blockFolders) => {
258
- return blockFolders.filter((block) => !excludeBlocks.includes(block));
259
- });
260
- if (blockFolders.length === 0 && !shouldAlwaysCompileRootFiles) {
261
- // If there are no blocks, don't compile root files, unless the flag is present.
262
- console.log({ entryPoints: {} });
263
- return {};
264
- }
265
- for (const block of blockFolders) {
266
- const blockFiles = await readdir(`${srcFolder}/${block}`, {
267
- withFileTypes: true,
268
- }).then((blockDirFiles) => {
269
- return blockDirFiles
270
- .filter((file) => !file.isDirectory())
271
- .map((file) => file.name)
272
- .filter((file) => file.endsWith(".js") || file.endsWith(".ts"));
273
- });
274
- for (const blockJSFile of blockFiles) {
275
- let blockBonusScriptNumber = 1;
276
- const [filename] = blockJSFile.split(".");
277
- let entryName;
278
- if (filename === "index") {
279
- entryName = block;
280
- }
281
- else if (filename === "editor") {
282
- entryName = `${block}-editor`;
283
- }
284
- else if (filename === "view") {
285
- entryName = `${block}-view`;
286
- }
287
- else {
288
- entryName = `${block}-bonus${blockBonusScriptNumber}`;
289
- blockBonusScriptNumber++;
209
+ return entryPoints;
210
+ }
211
+ function getAllBlocksJSEntryPoints({ srcFolder, blocks, }) {
212
+ const entryPoints = {};
213
+ const blocksJsonObjects = Object.values(blocks);
214
+ for (const { blockFolder, blockJson } of blocksJsonObjects) {
215
+ const fields = getBlockJsonScriptFields(blockJson);
216
+ if (!fields) {
217
+ continue;
218
+ }
219
+ for (const value of Object.values(fields).flat()) {
220
+ if ("string" !== typeof value || !value.startsWith("file:")) {
221
+ continue;
290
222
  }
223
+ // Removes the `file:` prefix.
224
+ const filepath = join(blockFolder, value.replace("file:", ""));
225
+ const entryName = filepath
226
+ .replace(srcFolder, "")
227
+ .replace(extname(filepath), "")
228
+ .replace(/\\/g, "/")
229
+ .split("/")
230
+ .filter((string) => string !== "")
231
+ .join("-");
291
232
  entryPoints[toCamelCase(entryName)] = {
292
- import: `${srcFolder}/${block}/${blockJSFile}`,
293
- filename: `${block}/${filename}${isProduction ? `.[contenthash]` : ""}.js`,
233
+ import: filepath,
234
+ filename: `${filepath.replace(srcFolder, "").replace(extname(filepath), "")}${isProduction ? `.[contenthash]` : ""}.js`,
294
235
  };
295
236
  }
296
237
  }
297
- // eslint-disable-next-line no-console
298
- console.log({ entryPoints });
299
238
  return entryPoints;
300
239
  }
240
+ async function getBlockJsonFiles(srcFolder, excludeBlocks) {
241
+ const blockJsonFiles = await glob.promise(`${srcFolder}/**/block.json.ts`, {
242
+ ignore: excludeBlocks.map((blockName) => `${srcFolder}/**/${blockName}/block.json.ts`),
243
+ });
244
+ const blocks = {};
245
+ // Allow imports of Typescript files via tsx.
246
+ const unregister = register();
247
+ for (const blockJsonFile of blockJsonFiles) {
248
+ const blockJson = await import(blockJsonFile).then((loadedFile) => {
249
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
250
+ return loadedFile.default;
251
+ });
252
+ const blockName = blockJsonFile
253
+ .replace("/block.json.ts", "")
254
+ .split("/")
255
+ .pop();
256
+ blocks[blockName] = { blockFolder: dirname(blockJsonFile), blockJson };
257
+ }
258
+ // Disallow imports of Typescript files via tsx.
259
+ await unregister();
260
+ return blocks;
261
+ }
262
+ function getBlockJsonScriptFields(blockJson) {
263
+ const scriptFields = ["viewScript", "script", "editorScript"];
264
+ let result = null;
265
+ for (const field of scriptFields) {
266
+ if (Object.hasOwn(blockJson, field)) {
267
+ if (result === null) {
268
+ result = {};
269
+ }
270
+ result[field] = blockJson[field];
271
+ }
272
+ }
273
+ return result;
274
+ }
275
+ function getBlockJsonStyleFields(blockJson) {
276
+ const styleFields = ["viewStyle", "style", "editorStyle"];
277
+ let result = null;
278
+ for (const field of styleFields) {
279
+ if (Object.hasOwn(blockJson, field)) {
280
+ if (result === null) {
281
+ result = {};
282
+ }
283
+ result[field] = blockJson[field];
284
+ }
285
+ }
286
+ return result;
287
+ }
288
+ function getSassOptions(srcFolder) {
289
+ return {
290
+ importers: [
291
+ {
292
+ findFileUrl(url) {
293
+ if (!url.startsWith("sitecss:"))
294
+ return null;
295
+ const pathname = url.substring(8);
296
+ return pathToFileURL(`${resolvePath(srcFolder, "../css")}${pathname.startsWith("/") ? pathname : `/${pathname}`}`);
297
+ },
298
+ },
299
+ ],
300
+ };
301
+ }
302
+ function getCopyPatternsForBlocks(blocks, distFolder) {
303
+ const blocksCopyPatterns = [];
304
+ const blocksEntries = Object.entries(blocks);
305
+ for (const [blockName, { blockFolder, blockJson }] of blocksEntries) {
306
+ // Generate block.json file.
307
+ blocksCopyPatterns.push({
308
+ from: `${blockFolder}/block.json.ts`,
309
+ to: `${distFolder}/${blockName}/block.json`,
310
+ noErrorOnMissing: true,
311
+ transform: {
312
+ transformer() {
313
+ return JSON.stringify(blockJson, null, 2);
314
+ },
315
+ cache: true,
316
+ },
317
+ });
318
+ // Copy render.php file
319
+ blocksCopyPatterns.push({
320
+ from: `${blockFolder}/render.php`,
321
+ to: `${distFolder}/${blockName}/render.php`,
322
+ noErrorOnMissing: true,
323
+ });
324
+ }
325
+ return blocksCopyPatterns;
326
+ }
327
+ class CustomBlocksCSSHandler {
328
+ blocks;
329
+ distFolder;
330
+ srcFolder;
331
+ postcssConfigLocation;
332
+ constructor({ blocks, srcFolder, distFolder, postcssConfigLocation, }) {
333
+ this.blocks = blocks;
334
+ this.srcFolder = srcFolder;
335
+ this.distFolder = distFolder;
336
+ this.postcssConfigLocation = postcssConfigLocation;
337
+ }
338
+ apply(compiler) {
339
+ compiler.hooks.afterEmit.tapPromise("CustomBlocksCSSHandler", async () => {
340
+ const blocksJsonObjects = Object.values(this.blocks);
341
+ for (const { blockFolder, blockJson } of blocksJsonObjects) {
342
+ const fields = getBlockJsonStyleFields(blockJson);
343
+ if (!fields) {
344
+ continue;
345
+ }
346
+ const currentCSSFileNames = [];
347
+ for (const value of Object.values(fields).flat()) {
348
+ if ("string" !== typeof value || !value.startsWith("file:")) {
349
+ continue;
350
+ }
351
+ // Removes the `file:` prefix.
352
+ const filepath = join(blockFolder, value.replace("file:", ""));
353
+ const fileNameWithExtension = basename(filepath);
354
+ let css = readFileSync(filepath, "utf8");
355
+ if (extname(fileNameWithExtension) === ".scss") {
356
+ css = await compileStringAsync(css, getSassOptions(this.srcFolder)).then((result) => result.css);
357
+ }
358
+ let newFileNameWithExtension = fileNameWithExtension;
359
+ let newMatch = filepath.replace(this.srcFolder, this.distFolder);
360
+ if (isProduction) {
361
+ const fileBuffer = readFileSync(filepath);
362
+ const contentHash = crypto.createHash("shake256", {
363
+ outputLength: 10,
364
+ });
365
+ contentHash.update(fileBuffer);
366
+ newFileNameWithExtension = `${fileNameWithExtension.split(".")[0]}.${contentHash.digest("hex")}.css`;
367
+ newMatch = newMatch.replace(fileNameWithExtension, newFileNameWithExtension);
368
+ currentCSSFileNames.push(`!${newMatch}`);
369
+ }
370
+ const { plugins, options } = await postcssLoadConfig({}, this.postcssConfigLocation)
371
+ .then(({ plugins, options }) => {
372
+ options.from = filepath;
373
+ options.to = newMatch;
374
+ return { plugins, options };
375
+ })
376
+ .catch((error) => {
377
+ if (error &&
378
+ error instanceof Error &&
379
+ error.message.startsWith("No PostCSS Config found")) {
380
+ const postCSSPlugins = [autoprefixer];
381
+ if (isProduction) {
382
+ postCSSPlugins.push(cssnano({ preset: "default" }));
383
+ }
384
+ return {
385
+ plugins: postCSSPlugins,
386
+ options: {
387
+ from: filepath,
388
+ to: newMatch,
389
+ },
390
+ };
391
+ }
392
+ throw error;
393
+ });
394
+ await postcss(plugins)
395
+ .process(css, options)
396
+ .then(async (result) => {
397
+ await mkdir(newMatch.replace(basename(newMatch), ""), {
398
+ recursive: true,
399
+ }).then(() => {
400
+ writeFileSync(newMatch, result.css);
401
+ if (result.map) {
402
+ writeFileSync(`${newMatch}.map`, result.map.toString());
403
+ }
404
+ });
405
+ });
406
+ }
407
+ await deleteAsync([
408
+ `${this.distFolder}/**/*.css`,
409
+ ...currentCSSFileNames,
410
+ ]).catch((error) => {
411
+ console.log(error);
412
+ });
413
+ }
414
+ });
415
+ }
416
+ }
301
417
  //# sourceMappingURL=blocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ switch (commandArg) {
21
21
  case "svg":
22
22
  case "blocks":
23
23
  try {
24
- await import(`./commands/${commandArg}.js`).then((module) => module.default(process.argv.slice(3)));
24
+ await import(`./commands/${commandArg}.js`).then(async (module) => await module.default(process.argv.slice(3)));
25
25
  }
26
26
  catch (error) {
27
27
  if (error instanceof Error) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AAEnE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAgB,CAAC;AAC9D,IAAI,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;IACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAChD,CAAC;AAED,QAAQ,UAAU,EAAE,CAAC;IACpB,KAAK,SAAS,CAAC;IACf,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI;QACR,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM;IACP,KAAK,WAAW,CAAC;IACjB,KAAK,IAAI;QACR,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM;IACP,KAAK,KAAK,CAAC;IACX,KAAK,QAAQ;QACZ,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,cAAc,UAAU,KAAK,CAAC,CAAC,IAAI,CAC/C,CAAC,MAAyC,EAAE,EAAE,CAC7C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACtC,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;oBAC1B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,KAAK,CAAC;YACb,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACtB,CAAC;QACD,MAAM;IAEP;QACC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,MAAM;AACR,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AAEnE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAgB,CAAC;AAC9D,IAAI,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;IACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAChD,CAAC;AAED,QAAQ,UAAU,EAAE,CAAC;IACpB,KAAK,SAAS,CAAC;IACf,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI;QACR,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM;IACP,KAAK,WAAW,CAAC;IACjB,KAAK,IAAI;QACR,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM;IACP,KAAK,KAAK,CAAC;IACX,KAAK,QAAQ;QACZ,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,cAAc,UAAU,KAAK,CAAC,CAAC,IAAI,CAC/C,KAAK,EAAE,MAAyD,EAAE,EAAE,CACnE,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC5C,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;oBAC1B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,KAAK,CAAC;YACb,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACtB,CAAC;QACD,MAAM;IAEP;QACC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,MAAM;AACR,CAAC"}
package/dist/utils.js CHANGED
@@ -75,7 +75,7 @@ export function interpretFlag(args, flag, type = "string") {
75
75
  };
76
76
  }
77
77
  export function toCamelCase(text) {
78
- return text.replace(/^([A-Z])|[\s-_](\w)/g, function (match, p1, p2) {
78
+ return text.replace(/^([A-Z])|[\s-_](\w)/g, function (_match, p1, p2) {
79
79
  if (p2)
80
80
  return p2.toUpperCase();
81
81
  return p1.toLowerCase();
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,gEAAgE;AAChE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,gEAAgE;AAChE,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAE1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAgB,CAAC;AACrE,IAAI,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;IACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAChD,CAAC;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,SAAS,4BAA4B,WAAW,EAAE,CAAC;AACjF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACvD,CAAC;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;AAElD,MAAM,UAAU,WAAW,CAAC,IAAc;IACzC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC5B,OAAe,EACf,UAA8B,EAAE,KAAK,EAAE,KAAK,EAAE;IAE9C,OAAO,IAAI,OAAO,CAIf,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AA+CD,MAAM,UAAU,aAAa,CAC5B,IAAc,EACd,IAAY,EACZ,OAAsC,QAAQ;IAsB9C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7B,iBAAiB;QACjB,OAAO;YACN,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;SACxC,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;SAAM,CAAC;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACxD,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,QAAQ,GAAG,kBAAkB,CAAC;QAC/B,CAAC;IACF,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;YACN,SAAS,EAAE,IAAI;YACf,QAAQ;YACR,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI;SAC1D,CAAC;IACH,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO;YACN,SAAS,EAAE,IAAI;YACf,QAAQ;YACR,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;SACjC,CAAC;IACH,CAAC;IACD,OAAO;QACN,SAAS,EAAE,IAAI;QACf,QAAQ;QACR,KAAK,EAAE,QAAQ;KACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAClB,sBAAsB,EACtB,UAAU,KAAK,EAAE,EAAU,EAAE,EAAU;QACtC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC,CACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomicsmash/cli",
3
- "version": "7.0.0-beta.1",
3
+ "version": "7.0.0-beta.11",
4
4
  "description": "A collection of CLI tools by Atomic Smash.",
5
5
  "keywords": [],
6
6
  "homepage": "https://www.atomicsmash.co.uk/",
@@ -49,13 +49,17 @@
49
49
  "glob-promise": "^6.0.3",
50
50
  "path": "^0.12.7",
51
51
  "postcss": "^8.4.25",
52
+ "postcss-load-config": "^5.0.3",
53
+ "sass": "^1.74.1",
52
54
  "svg-sprite": "^2.0.3",
53
55
  "tsconfig-paths": "^4.2.0",
54
56
  "tsconfig-paths-webpack-plugin": "^4.1.0",
57
+ "tsx": "^4.9.0",
55
58
  "vinyl": "^3.0.0",
56
59
  "webpack": "^5.90.3"
57
60
  },
58
61
  "devDependencies": {
62
+ "@atomicsmash/blocks-helpers": "^4.0.0-beta.16",
59
63
  "@types/glob": "^8.1.0",
60
64
  "@types/node": "^20.11.24",
61
65
  "@types/svg-sprite": "^0.0.38",