presetter 8.2.0 → 9.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.
Files changed (71) hide show
  1. package/README.md +155 -96
  2. package/lib/context.d.ts +1 -1
  3. package/lib/context.d.ts.map +1 -1
  4. package/lib/debugger.d.ts.map +1 -1
  5. package/lib/executable/entry.d.ts +20 -1
  6. package/lib/executable/entry.d.ts.map +1 -1
  7. package/lib/executable/entry.js +78 -18
  8. package/lib/index.d.ts +5 -5
  9. package/lib/index.d.ts.map +1 -1
  10. package/lib/index.js +6 -6
  11. package/lib/io.d.ts +2 -2
  12. package/lib/io.d.ts.map +1 -1
  13. package/lib/io.js +2 -2
  14. package/lib/parsing.d.ts +92 -0
  15. package/lib/parsing.d.ts.map +1 -0
  16. package/lib/parsing.js +209 -0
  17. package/lib/preset/bootstrap.d.ts.map +1 -1
  18. package/lib/preset/bootstrap.js +7 -3
  19. package/lib/preset/config/resolve.d.ts +1 -1
  20. package/lib/preset/config/resolve.d.ts.map +1 -1
  21. package/lib/preset/config/resolve.js +1 -1
  22. package/lib/preset/project.d.ts +2 -2
  23. package/lib/preset/project.d.ts.map +1 -1
  24. package/lib/preset/project.js +3 -3
  25. package/lib/preset/resolution/asset.d.ts +3 -3
  26. package/lib/preset/resolution/asset.d.ts.map +1 -1
  27. package/lib/preset/resolution/asset.js +3 -3
  28. package/lib/preset/resolution/content.d.ts +3 -3
  29. package/lib/preset/resolution/content.d.ts.map +1 -1
  30. package/lib/preset/resolution/content.js +3 -3
  31. package/lib/preset/resolution/debugger.d.ts.map +1 -1
  32. package/lib/preset/resolution/index.d.ts +1 -0
  33. package/lib/preset/resolution/index.d.ts.map +1 -1
  34. package/lib/preset/resolution/index.js +2 -1
  35. package/lib/preset/resolution/object.d.ts +2 -2
  36. package/lib/preset/resolution/object.d.ts.map +1 -1
  37. package/lib/preset/resolution/object.js +1 -1
  38. package/lib/preset/resolution/preset.d.ts +1 -1
  39. package/lib/preset/resolution/preset.d.ts.map +1 -1
  40. package/lib/preset/resolution/roots.d.ts +15 -0
  41. package/lib/preset/resolution/roots.d.ts.map +1 -0
  42. package/lib/preset/resolution/roots.js +24 -0
  43. package/lib/preset/resolution/script.d.ts +5 -2
  44. package/lib/preset/resolution/script.d.ts.map +1 -1
  45. package/lib/preset/resolution/script.js +7 -2
  46. package/lib/preset/resolution/variable.d.ts +1 -1
  47. package/lib/preset/resolution/variable.d.ts.map +1 -1
  48. package/lib/preset/scripts.d.ts +6 -2
  49. package/lib/preset/scripts.d.ts.map +1 -1
  50. package/lib/preset/scripts.js +5 -6
  51. package/lib/run.d.ts.map +1 -1
  52. package/lib/run.js +44 -27
  53. package/lib/scripts.d.ts +3 -5
  54. package/lib/scripts.d.ts.map +1 -1
  55. package/lib/scripts.js +87 -60
  56. package/lib/serialization.d.ts +1 -1
  57. package/lib/serialization.d.ts.map +1 -1
  58. package/lib/task.d.ts +3 -3
  59. package/lib/task.js +7 -7
  60. package/lib/template/merge.d.ts +12 -2
  61. package/lib/template/merge.d.ts.map +1 -1
  62. package/lib/template/merge.js +161 -1
  63. package/lib/template/substitute.d.ts +1 -1
  64. package/lib/template/substitute.d.ts.map +1 -1
  65. package/lib/utilities/display.js +1 -1
  66. package/lib/utilities/mapping.d.ts +7 -0
  67. package/lib/utilities/mapping.d.ts.map +1 -1
  68. package/lib/utilities/mapping.js +11 -1
  69. package/package.json +19 -39
  70. package/types/npmcli__run-script/index.d.ts +1 -0
  71. package/types/mvdan-sh/index.d.ts +0 -44
@@ -1,10 +1,15 @@
1
- import { existsSync } from 'node:fs';
1
+ import { existsSync, readFileSync } from 'node:fs';
2
2
  import { dirname, posix, resolve } from 'node:path';
3
3
  import { globby } from 'globby';
4
4
  import yargs from 'yargs';
5
5
  import { bootstrap } from '../preset/index.js';
6
6
  import { run } from '../run.js';
7
7
  import { parseGlobalArgs, parseTaskSpec } from '../task.js';
8
+ const DEFAULT_LIST_DELIMITER = ',';
9
+ const WORKSPACE_GLOB_OPTIONS = {
10
+ gitignore: true,
11
+ ignore: ['**/node_modules/**'],
12
+ };
8
13
  const bootstrapCommand = {
9
14
  command: 'bootstrap',
10
15
  describe: 'setup the project according to the specified preset',
@@ -18,23 +23,26 @@ const bootstrapCommand = {
18
23
  alias: 'p',
19
24
  array: true,
20
25
  default: ['.'],
21
- description: 'a glob pattern matching any target project folders containing package.json',
26
+ coerce: (values) => expandDelimitedValues(values),
27
+ description: 'a glob pattern matching any target project folders containing package.json (comma-separated values supported)',
28
+ })
29
+ .option('packages', {
30
+ type: 'string',
31
+ alias: 'P',
32
+ array: true,
33
+ default: [],
34
+ coerce: (values) => expandDelimitedValues(values),
35
+ description: 'a glob pattern matching any target package names (e.g. @presetter/preset-*; comma-separated values supported)',
22
36
  })
23
37
  .help(),
24
38
  handler: async (argv) => {
25
- const { only, projects } = argv;
26
- // only proceed if the specified file exists
27
- if (!only || existsSync(only)) {
28
- // look for all projects by looking for the `preset.json` file
29
- const packageJsons = await globby(projects.map((project) => posix.join(project, 'package.json')), {
30
- gitignore: true,
31
- ignore: ['**/node_modules/**'],
32
- });
33
- const projectRoots = packageJsons.map(dirname);
34
- // bootstrap all projects
35
- for (const root of projectRoots) {
36
- await bootstrap(resolve(root));
37
- }
39
+ const { only, projects, packages } = argv;
40
+ if (only && !existsSync(only)) {
41
+ return;
42
+ }
43
+ const projectRoots = await resolveProjectRoots({ projects, packages });
44
+ for (const root of projectRoots) {
45
+ await bootstrap(root);
38
46
  }
39
47
  },
40
48
  };
@@ -50,7 +58,6 @@ const runCommand = {
50
58
  .usage('run <task>')
51
59
  .demandCommand(),
52
60
  handler: async (argv) => {
53
- // get the options
54
61
  const [, selector] = argv._.map((arg) => arg.toString());
55
62
  const args = parseGlobalArgs(argv);
56
63
  await run([{ selector, args }], { templateOnly: argv.template });
@@ -81,7 +88,6 @@ const runPCommand = {
81
88
  /**
82
89
  * provide a command line interface
83
90
  * @param args command line arguments
84
- * @returns the command entered together with its options
85
91
  */
86
92
  export async function entry(args) {
87
93
  await yargs()
@@ -98,4 +104,58 @@ export async function entry(args) {
98
104
  .demandCommand()
99
105
  .parse(args);
100
106
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0YWJsZS9lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJekQsTUFBTSxnQkFBZ0IsR0FHbEI7SUFDRixPQUFPLEVBQUUsV0FBVztJQUNwQixRQUFRLEVBQUUscURBQXFEO0lBQy9ELE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2pCLEtBQUs7U0FDRixNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2QsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsMkNBQTJDO0tBQ3pELENBQUM7U0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQ2xCLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLEdBQUc7UUFDVixLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNkLFdBQVcsRUFDVCw0RUFBNEU7S0FDL0UsQ0FBQztTQUNELElBQUksRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdEIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFaEMsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxJQUFJ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
107
+ /**
108
+ * resolve target project roots from path globs and package-name globs
109
+ * @param options resolution inputs
110
+ * @param options.projects path globs (e.g. `presets/next`, `packages/*`)
111
+ * @param options.packages package-name globs (e.g. `@presetter/preset-*`)
112
+ * @returns deduped absolute project root paths
113
+ */
114
+ export async function resolveProjectRoots(options) {
115
+ const { projects, packages } = options;
116
+ const roots = new Set();
117
+ if (projects.length > 0) {
118
+ const files = await globby(projects.map((project) => posix.join(project, 'package.json')), WORKSPACE_GLOB_OPTIONS);
119
+ for (const file of files) {
120
+ roots.add(resolve(dirname(file)));
121
+ }
122
+ }
123
+ if (packages.length > 0) {
124
+ const candidates = await globby('**/package.json', WORKSPACE_GLOB_OPTIONS);
125
+ const isMatchingName = compileNameMatcher(packages);
126
+ await Promise.all(candidates.map(async (path) => {
127
+ const { name } = JSON.parse(readFileSync(path, { encoding: 'utf8' }));
128
+ if (name && isMatchingName(name)) {
129
+ roots.add(resolve(dirname(path)));
130
+ }
131
+ }));
132
+ }
133
+ return [...roots];
134
+ }
135
+ /**
136
+ * expand each entry by splitting on a delimiter and trimming the parts
137
+ * @param values raw flag values, each possibly containing the delimiter
138
+ * @param delimiter delimiter character (defaults to `,`)
139
+ * @returns flattened, trimmed, non-empty values
140
+ */
141
+ export function expandDelimitedValues(values, delimiter = DEFAULT_LIST_DELIMITER) {
142
+ return values.flatMap((value) => value
143
+ .split(delimiter)
144
+ .map((part) => part.trim())
145
+ .filter(Boolean));
146
+ }
147
+ /**
148
+ * compile a list of package-name globs into a single predicate
149
+ * @param patterns package-name globs (`*` matches anything except `/`)
150
+ * @returns predicate returning true when a name matches any pattern
151
+ */
152
+ function compileNameMatcher(patterns) {
153
+ const expressions = patterns.map((pattern) => {
154
+ const escaped = pattern
155
+ .replace(/[.+?^${}()|[\]\\]/g, '\\$&')
156
+ .replace(/\*/g, '[^/]*');
157
+ return new RegExp(`^${escaped}$`);
158
+ });
159
+ return (name) => expressions.some((expression) => expression.test(name));
160
+ }
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0YWJsZS9lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBZ0J6RCxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQUNuQyxNQUFNLHNCQUFzQixHQUFHO0lBQzdCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsTUFBTSxFQUFFLENBQUMsb0JBQW9CLENBQUM7Q0FDL0IsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBR2xCO0lBQ0YsT0FBTyxFQUFFLFdBQVc7SUFDcEIsUUFBUSxFQUFFLHFEQUFxRDtJQUMvRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNqQixLQUFLO1NBQ0YsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNkLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLDJDQUEyQztLQUN6RCxDQUFDO1NBQ0QsTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNsQixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSxHQUFHO1FBQ1YsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDZCxNQUFNLEVBQUUsQ0FBQyxNQUFnQixFQUFZLEVBQUUsQ0FBQyxx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
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export * from 'presetter-types';
2
- export * from './preset/index.js';
3
- export * from './resolve.js';
4
- export * from './run.js';
5
- export * from './template/index.js';
1
+ export * from '@presetter/types';
2
+ export * from '#preset';
3
+ export * from '#resolve';
4
+ export * from '#run';
5
+ export * from '#template';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAEhC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAC;AAEjC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,WAAW,CAAC"}
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /* v8 ignore start */
2
- export * from 'presetter-types';
3
- export * from './preset/index.js';
4
- export * from './resolve.js';
5
- export * from './run.js';
6
- export * from './template/index.js';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCO0FBRXJCLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxZQUFZLENBQUMifQ==
2
+ export * from '@presetter/types';
3
+ export * from '#preset';
4
+ export * from '#resolve';
5
+ export * from '#run';
6
+ export * from '#template';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCO0FBRXJCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxXQUFXLENBQUMifQ==
package/lib/io.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Variables } from 'presetter-types';
1
+ import type { Variables } from '@presetter/types';
2
2
  import type { JsonObject } from 'type-fest';
3
3
  /**
4
4
  * load the content of a file
@@ -10,7 +10,7 @@ export declare function loadFile(path: string, variables?: Variables): JsonObjec
10
10
  /**
11
11
  * ensure that there is a file at the given path with the given content
12
12
  * @param path path where the file should be created
13
- * @param content content of the file
13
+ * @param content data that should be written to disk
14
14
  */
15
15
  export declare function ensureFile(path: string, content: string | Buffer): void;
16
16
  //# sourceMappingURL=io.d.ts.map
package/lib/io.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,SAAc,GACxB,UAAU,GAAG,MAAM,EAAE,GAAG,MAAM,CAwBhC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvE"}
1
+ {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,SAAc,GACxB,UAAU,GAAG,MAAM,EAAE,GAAG,MAAM,CAwBhC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvE"}
package/lib/io.js CHANGED
@@ -32,7 +32,7 @@ export function loadFile(path, variables = {}) {
32
32
  /**
33
33
  * ensure that there is a file at the given path with the given content
34
34
  * @param path path where the file should be created
35
- * @param content content of the file
35
+ * @param content data that should be written to disk
36
36
  */
37
37
  export function ensureFile(path, content) {
38
38
  // ensure that all parent folders exist to avoid errors from writeFile
@@ -40,4 +40,4 @@ export function ensureFile(path, content) {
40
40
  // write content to the destination path
41
41
  writeFileSync(path, content);
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFLeEM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUN0QixJQUFZLEVBQ1osWUFBdUIsRUFBRTtJQUV6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRW5DLCtDQUErQztJQUMvQyxRQUFRLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3RCLEtBQUssT0FBTztZQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUM1QixDQUFDO1FBQ2xCLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxNQUFNO1lBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBZSxDQUFDO1FBQ3ZFO1lBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxDQUFDO3FCQUN0QyxLQUFLLENBQUMsSUFBSSxDQUFDO3FCQUNYLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO3FCQUMxQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNoQixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVksRUFBRSxPQUF3QjtJQUMvRCxzRUFBc0U7SUFDdEUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTlDLHdDQUF3QztJQUN4QyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLENBQUMifQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFLeEM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUN0QixJQUFZLEVBQ1osU0FBUyxHQUFjLEVBQUU7SUFFekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVuQywrQ0FBK0M7SUFDL0MsUUFBUSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN0QixLQUFLLE9BQU87WUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2YsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FDNUIsQ0FBQztRQUNsQixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssTUFBTTtZQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQWUsQ0FBQztRQUN2RTtZQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQzVCLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsQ0FBQztxQkFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQztxQkFDWCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztxQkFDMUIsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDaEIsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZLEVBQUUsT0FBd0I7SUFDL0Qsc0VBQXNFO0lBQ3RFLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUU5Qyx3Q0FBd0M7SUFDeEMsYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvQixDQUFDIn0=
@@ -0,0 +1,92 @@
1
+ /** represents a parsed call expression from command text */
2
+ export interface ParsedCallExpr {
3
+ /** the command name (e.g., "run") */
4
+ command: string;
5
+ /** positional arguments before "--" */
6
+ args: string[];
7
+ /** extra arguments after "--" */
8
+ extraArgs: string[];
9
+ }
10
+ /** represents a run command match with its position */
11
+ export interface RunMatch {
12
+ /** the matched text */
13
+ match: string;
14
+ /** start offset in source */
15
+ start: number;
16
+ /** end offset in source */
17
+ end: number;
18
+ }
19
+ /** parsed command structure */
20
+ export type ParsedCommand = ParsedSimpleCommand | ParsedBinaryCmd | ParsedSubshell | ParsedBlock;
21
+ /** simple command (e.g., `run build`, `echo test`) */
22
+ export interface ParsedSimpleCommand {
23
+ type: 'CallExpr';
24
+ /** command name (first word) */
25
+ command: string;
26
+ /** arguments after command name */
27
+ args: string[];
28
+ /** extra arguments after "--" */
29
+ extraArgs: string[];
30
+ /** start offset in original source */
31
+ start: number;
32
+ /** end offset in original source */
33
+ end: number;
34
+ }
35
+ /** binary operator type */
36
+ type BinaryOperator = '&&' | '||' | '|';
37
+ /** binary command (e.g., `cmd1 && cmd2`) */
38
+ export interface ParsedBinaryCmd {
39
+ type: 'BinaryCmd';
40
+ /** operator: && || | */
41
+ op: BinaryOperator;
42
+ /** left side command */
43
+ left: ParsedCommand;
44
+ /** right side command */
45
+ right: ParsedCommand;
46
+ /** start offset in original source */
47
+ start: number;
48
+ /** end offset in original source */
49
+ end: number;
50
+ }
51
+ /** subshell (e.g., `(cmd1 && cmd2)`) */
52
+ export interface ParsedSubshell {
53
+ type: 'Subshell';
54
+ /** inner command */
55
+ body: ParsedCommand;
56
+ /** start offset in original source */
57
+ start: number;
58
+ /** end offset in original source */
59
+ end: number;
60
+ }
61
+ /** block (e.g., `{ cmd1; cmd2; }`) */
62
+ export interface ParsedBlock {
63
+ type: 'Block';
64
+ /** inner command */
65
+ body: ParsedCommand;
66
+ /** start offset in original source */
67
+ start: number;
68
+ /** end offset in original source */
69
+ end: number;
70
+ }
71
+ /**
72
+ * parses command text into ParsedCallExpr structure (pure)
73
+ * @param cmdText the command text to parse
74
+ * @returns the parsed call expression
75
+ */
76
+ export declare const parseCommandText: (cmdText: string) => Readonly<ParsedCallExpr>;
77
+ /**
78
+ * parses command text into structured form
79
+ * @param text command text to parse
80
+ * @param baseOffset offset in original source
81
+ * @returns parsed command structure
82
+ */
83
+ export declare const parseCommandStructure: (text: string, baseOffset: number) => ParsedCommand;
84
+ /**
85
+ * finds all run commands in parsed structure
86
+ * @param cmd parsed command to search
87
+ * @param source original source string
88
+ * @returns array of run command matches
89
+ */
90
+ export declare const findRunInParsed: (cmd: ParsedCommand, source: string) => RunMatch[];
91
+ export {};
92
+ //# sourceMappingURL=parsing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../src/parsing.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iCAAiC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,+BAA+B;AAC/B,MAAM,MAAM,aAAa,GACrB,mBAAmB,GACnB,eAAe,GACf,cAAc,GACd,WAAW,CAAC;AAEhB,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iCAAiC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,2BAA2B;AAC3B,KAAK,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AAExC,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,wBAAwB;IACxB,EAAE,EAAE,cAAc,CAAC;IACnB,wBAAwB;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,yBAAyB;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,oBAAoB;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;CACb;AA8ID;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,YAAa,MAAM,KAAG,QAAQ,CAAC,cAAc,CAWzE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,SAC1B,MAAM,cACA,MAAM,KACjB,aA4DF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QACrB,aAAa,UACV,MAAM,KACb,QAAQ,EAkCV,CAAC"}
package/lib/parsing.js ADDED
@@ -0,0 +1,209 @@
1
+ import parseArgs from 'yargs-parser';
2
+ /**
3
+ * updates depth counters based on character
4
+ * @param char the character
5
+ * @param parenDepth current parenthesis depth
6
+ * @param braceDepth current brace depth
7
+ * @returns updated depths
8
+ */
9
+ const updateDepths = (char, parenDepth, braceDepth) => {
10
+ let newParenDepth = parenDepth;
11
+ let newBraceDepth = braceDepth;
12
+ if (char === '(') {
13
+ newParenDepth++;
14
+ }
15
+ else if (char === ')') {
16
+ newParenDepth--;
17
+ }
18
+ else if (char === '{') {
19
+ newBraceDepth++;
20
+ }
21
+ else if (char === '}') {
22
+ newBraceDepth--;
23
+ }
24
+ return [newParenDepth, newBraceDepth];
25
+ };
26
+ /**
27
+ * checks if a character ends a quote
28
+ * @param char the character
29
+ * @param inSingleQuote whether in single quote
30
+ * @param inDoubleQuote whether in double quote
31
+ * @returns updated quote states
32
+ */
33
+ const updateQuotes = (char, inSingleQuote, inDoubleQuote) => {
34
+ let newSingleQuote = inSingleQuote;
35
+ let newDoubleQuote = inDoubleQuote;
36
+ if (char === "'" && !inDoubleQuote) {
37
+ newSingleQuote = !inSingleQuote;
38
+ }
39
+ else if (char === '"' && !inSingleQuote) {
40
+ newDoubleQuote = !inDoubleQuote;
41
+ }
42
+ return [newSingleQuote, newDoubleQuote];
43
+ };
44
+ /**
45
+ * checks for binary operators at current position
46
+ * @param params collection of parameters
47
+ * @param params.char current character
48
+ * @param params.nextChar next character
49
+ * @param params.parenDepth parenthesis depth
50
+ * @param params.braceDepth number of nested braces currently open
51
+ * @returns operator match or null
52
+ */
53
+ const checkBinaryOp = (params) => {
54
+ const { char, nextChar, parenDepth, braceDepth } = params;
55
+ if (parenDepth !== 0 || braceDepth !== 0) {
56
+ return null;
57
+ }
58
+ if (char === '&' && nextChar === '&') {
59
+ return { op: '&&' };
60
+ }
61
+ if (char === '|' && nextChar === '|') {
62
+ return { op: '||' };
63
+ }
64
+ if (char === '|' && nextChar !== '|') {
65
+ return { op: '|' };
66
+ }
67
+ return null;
68
+ };
69
+ /**
70
+ * finds the first top-level binary operator in command text
71
+ * @param text command text to search
72
+ * @returns operator match or null if none found
73
+ */
74
+ const findTopLevelOperator = (text) => {
75
+ let parenDepth = 0;
76
+ let braceDepth = 0;
77
+ let inSingleQuote = false;
78
+ let inDoubleQuote = false;
79
+ let escaped = false;
80
+ for (let i = 0; i < text.length; i++) {
81
+ const char = text[i];
82
+ const nextChar = text[i + 1];
83
+ if (escaped) {
84
+ escaped = false;
85
+ continue;
86
+ }
87
+ if (char === '\\' && !inSingleQuote) {
88
+ escaped = true;
89
+ continue;
90
+ }
91
+ [inSingleQuote, inDoubleQuote] = updateQuotes(char, inSingleQuote, inDoubleQuote);
92
+ if (inSingleQuote || inDoubleQuote) {
93
+ continue;
94
+ }
95
+ [parenDepth, braceDepth] = updateDepths(char, parenDepth, braceDepth);
96
+ const opMatch = checkBinaryOp({ char, nextChar, parenDepth, braceDepth });
97
+ if (opMatch) {
98
+ return { ...opMatch, index: i };
99
+ }
100
+ }
101
+ return null;
102
+ };
103
+ /**
104
+ * parses command text into ParsedCallExpr structure (pure)
105
+ * @param cmdText the command text to parse
106
+ * @returns the parsed call expression
107
+ */
108
+ export const parseCommandText = (cmdText) => {
109
+ const arg = parseArgs(cmdText, {
110
+ configuration: { 'populate--': true, 'unknown-options-as-args': true },
111
+ });
112
+ const parts = arg._;
113
+ const command = parts[0] ?? '';
114
+ const args = parts.slice(1);
115
+ const extraArgs = (arg['--'] ?? []);
116
+ return { command, args, extraArgs };
117
+ };
118
+ /**
119
+ * parses command text into structured form
120
+ * @param text command text to parse
121
+ * @param baseOffset offset in original source
122
+ * @returns parsed command structure
123
+ */
124
+ export const parseCommandStructure = (text, baseOffset) => {
125
+ const trimmed = text.trim();
126
+ const trimOffset = text.indexOf(trimmed);
127
+ const start = baseOffset + trimOffset;
128
+ const end = start + trimmed.length;
129
+ // check for Subshell: (...)
130
+ if (trimmed.startsWith('(') && trimmed.endsWith(')')) {
131
+ const inner = trimmed.slice(1, -1);
132
+ return {
133
+ type: 'Subshell',
134
+ body: parseCommandStructure(inner, start + 1),
135
+ start,
136
+ end,
137
+ };
138
+ }
139
+ // check for Block: { ... }
140
+ if (trimmed.startsWith('{') && trimmed.endsWith('}')) {
141
+ const inner = trimmed.slice(1, -1);
142
+ return {
143
+ type: 'Block',
144
+ body: parseCommandStructure(inner, start + 1),
145
+ start,
146
+ end,
147
+ };
148
+ }
149
+ // check for BinaryCmd: cmd1 && cmd2
150
+ const opMatch = findTopLevelOperator(trimmed);
151
+ if (opMatch) {
152
+ const leftText = trimmed.slice(0, opMatch.index);
153
+ const rightText = trimmed.slice(opMatch.index + opMatch.op.length);
154
+ return {
155
+ type: 'BinaryCmd',
156
+ op: opMatch.op,
157
+ left: parseCommandStructure(leftText, start),
158
+ right: parseCommandStructure(rightText, start + opMatch.index + opMatch.op.length),
159
+ start,
160
+ end,
161
+ };
162
+ }
163
+ // otherwise it's a CallExpr
164
+ const parsed = parseCommandText(trimmed);
165
+ return {
166
+ type: 'CallExpr',
167
+ command: parsed.command,
168
+ args: parsed.args,
169
+ extraArgs: parsed.extraArgs,
170
+ start,
171
+ end,
172
+ };
173
+ };
174
+ /**
175
+ * finds all run commands in parsed structure
176
+ * @param cmd parsed command to search
177
+ * @param source original source string
178
+ * @returns array of run command matches
179
+ */
180
+ export const findRunInParsed = (cmd, source) => {
181
+ const matches = [];
182
+ const visit = (node) => {
183
+ switch (node.type) {
184
+ case 'CallExpr':
185
+ // check if command is 'run' with at least one task
186
+ if (node.command === 'run' && node.args.length > 0) {
187
+ matches.push({
188
+ match: source.slice(node.start, node.end),
189
+ start: node.start,
190
+ end: node.end,
191
+ });
192
+ }
193
+ break;
194
+ case 'BinaryCmd':
195
+ visit(node.left);
196
+ visit(node.right);
197
+ break;
198
+ case 'Subshell':
199
+ case 'Block':
200
+ visit(node.body);
201
+ break;
202
+ default:
203
+ break;
204
+ }
205
+ };
206
+ visit(cmd);
207
+ return matches;
208
+ };
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQztBQTRGckM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsSUFBWSxFQUNaLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ0EsRUFBRTtJQUNwQixJQUFJLGFBQWEsR0FBRyxVQUFVLENBQUM7SUFDL0IsSUFBSSxhQUFhLEdBQUcsVUFBVSxDQUFDO0lBRS9CLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGFBQWEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7U0FBTSxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN4QixhQUFhLEVBQUUsQ0FBQztJQUNsQixDQUFDO1NBQU0sSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEIsYUFBYSxFQUFFLENBQUM7SUFDbEIsQ0FBQztTQUFNLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLGFBQWEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0sWUFBWSxHQUFHLENBQ25CLElBQVksRUFDWixhQUFzQixFQUN0QixhQUFzQixFQUNGLEVBQUU7SUFDdEIsSUFBSSxjQUFjLEdBQUcsYUFBYSxDQUFDO0lBQ25DLElBQUksY0FBYyxHQUFHLGFBQWEsQ0FBQztJQUVuQyxJQUFJLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQyxjQUFjLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbEMsQ0FBQztTQUFNLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFDLGNBQWMsR0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/preset/bootstrap.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,wBAAsB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB3D"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/preset/bootstrap.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,wBAAsB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B3D"}
@@ -1,5 +1,5 @@
1
1
  import { info } from 'node:console';
2
- import { relative, resolve } from 'node:path';
2
+ import { resolve } from 'node:path';
3
3
  import { resolveProjectContext } from '../context.js';
4
4
  import { ensureFile } from '../io.js';
5
5
  import { serialize } from '../serialization.js';
@@ -11,7 +11,11 @@ import { resolveAssets } from './resolution/index.js';
11
11
  */
12
12
  export async function bootstrap(cwd) {
13
13
  const context = await resolveProjectContext(cwd);
14
- info(`Bootstrapping ${relative(process.cwd(), context.projectRoot)}`);
14
+ const packageName = context.packageJson.name;
15
+ if (!packageName) {
16
+ throw new Error(`failed to bootstrap unnamed package at ${context.relativeProjectRoot}`);
17
+ }
18
+ info(`Bootstrapping ${packageName} (${context.relativeProjectRoot})`);
15
19
  // generate configurations
16
20
  const node = await resolveProjectPreset(context);
17
21
  const assets = await resolveAssets(node, context);
@@ -26,4 +30,4 @@ export async function bootstrap(cwd) {
26
30
  }
27
31
  }
28
32
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByZXNldC9ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0M7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxTQUFTLENBQUMsR0FBWTtJQUMxQyxNQUFNLE9BQU8sR0FBRyxNQUFNLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWpELElBQUksQ0FBQyxpQkFBaUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXRFLDBCQUEwQjtJQUMxQixNQUFNLElBQUksR0FBRyxNQUFNLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVsRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25ELElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV2RCxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRTNCLFVBQVUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyJ9
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByZXNldC9ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FBQyxHQUFZO0lBQzFDLE1BQU0sT0FBTyxHQUFHLE1BQU0scUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFFN0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQ2IsMENBQTBDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxpQkFBaUIsV0FBVyxLQUFLLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7SUFFdEUsMEJBQTBCO0lBQzFCLE1BQU0sSUFBSSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxNQUFNLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRWxELEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRXZELElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUM7WUFFM0IsVUFBVSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIn0=
@@ -1,4 +1,4 @@
1
- import type { Preset } from 'presetter-types';
1
+ import type { Preset } from '@presetter/types';
2
2
  /**
3
3
  * resolve the presetter configuration from the project root
4
4
  * @param root the root directory containing the project's package.json
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/preset/config/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAW9C;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB1E"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/preset/config/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAW/C;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB1E"}
@@ -24,4 +24,4 @@ export async function resolvePresetterConfig(root) {
24
24
  // NOTE: load the preset with import cache as a fix to a bug in jiti that importing the same file multiple times simtaneously would result in some of the imports resolved as undefined
25
25
  return (configs[closestConfigPath] ??= jiti.import(closestConfigPath, { default: true }));
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVzZXQvY29uZmlnL3Jlc29sdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJbEQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ3ZDLFdBQVcsRUFBRSxLQUFLLEVBQUUscUtBQXFLO0lBQ3pMLHFCQUFxQjtJQUNyQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDakQsbUJBQW1CO0NBQ3BCLENBQUMsQ0FBQztBQUVILE1BQU0sT0FBTyxHQUFvQyxFQUFFLENBQUM7QUFFcEQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsc0JBQXNCLENBQUMsSUFBWTtJQUN2RCxNQUFNLFdBQVcsR0FBRyxNQUFNLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELCtHQUErRztJQUMvRyxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV6QyxLQUFLLENBQUMsd0NBQXdDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUVuRSx1TEFBdUw7SUFDdkwsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQ2hELGlCQUFpQixFQUNqQixFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FDbEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVzZXQvY29uZmlnL3Jlc29sdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJbEQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUN2QyxXQUFXLEVBQUUsS0FBSyxFQUFFLHFLQUFxSztJQUN6TCxxQkFBcUI7SUFDckIsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQ2pELG1CQUFtQjtDQUNwQixDQUFDLENBQUM7QUFFSCxNQUFNLE9BQU8sR0FBb0MsRUFBRSxDQUFDO0FBRXBEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUFDLElBQVk7SUFDdkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCwrR0FBK0c7SUFDL0csTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFFLENBQUM7SUFFMUMsS0FBSyxDQUFDLHdDQUF3QyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFFbkUsdUxBQXVMO0lBQ3ZMLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUNoRCxpQkFBaUIsRUFDakIsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQ2xCLENBQUMsQ0FBQztBQUNMLENBQUMifQ==
@@ -1,6 +1,6 @@
1
- import type { PresetNode, ProjectContext } from 'presetter-types';
1
+ import type { PresetNode, ProjectContext } from '@presetter/types';
2
2
  /**
3
- * resolve the project preset
3
+ * build the full preset graph for a project
4
4
  * @param context context about the target project and customization in .presetterrc
5
5
  * @returns assets from the preset
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/preset/project.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC,CAoBrB"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/preset/project.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC,CAoBrB"}