@ryanatkn/gro 0.133.0 → 0.133.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":"gro_helpers.d.ts","sourceRoot":"../src/lib/","sources":["gro_helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAUnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,uBAAuB,qBAAgB,MAoBnD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,gBAChB,MAAM,eACN,MAAM,QACb,MAAM,EAAE,KACZ,OAAO,CAAC,YAAY,CAgBtB,CAAC"}
1
+ {"version":3,"file":"gro_helpers.d.ts","sourceRoot":"../src/lib/","sources":["gro_helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAUnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,uBAAuB,qBAAgB,MAsBnD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,gBAChB,MAAM,eACN,MAAM,QACb,MAAM,EAAE,KACZ,OAAO,CAAC,YAAY,CAgBtB,CAAC"}
@@ -46,6 +46,8 @@ export const resolve_gro_module_path = (path = '') => {
46
46
  const gro_bin_path = resolve(NODE_MODULES_DIRNAME, '.bin/gro');
47
47
  // case 1
48
48
  // Prefer any locally installed version of Gro.
49
+ // This is really confusing if Gro is installed inside Gro itself,
50
+ // so avoid that when developing Gro.
49
51
  if (existsSync(gro_bin_path)) {
50
52
  return join(realpathSync(gro_bin_path), '..', path);
51
53
  }
package/dist/invoke.js CHANGED
@@ -14,7 +14,7 @@ and the rest of the args are forwarded to the task's `run` function.
14
14
 
15
15
  */
16
16
  // handle uncaught errors
17
- attach_process_error_handlers((err) => err?.constructor?.name === 'Task_Error' ? 'Task_Error' : null);
17
+ attach_process_error_handlers((err) => (err.constructor.name === 'Task_Error' ? 'Task_Error' : null), (err) => (err.constructor.name === 'Silent_Error' ? '' : null));
18
18
  await sveltekit_sync_if_obviously_needed();
19
19
  const { task_name, args } = to_task_args();
20
20
  await invoke_task(task_name, args, await load_gro_config());
@@ -5,7 +5,7 @@ import { print_ms, print_timings } from '@ryanatkn/belt/print.js';
5
5
  import { to_forwarded_args } from './args.js';
6
6
  import { run_task } from './run_task.js';
7
7
  import { to_input_path, Raw_Input_Path } from './input_path.js';
8
- import { find_tasks, load_tasks } from './task.js';
8
+ import { find_tasks, load_tasks, Silent_Error } from './task.js';
9
9
  import { load_gro_package_json } from './package_json.js';
10
10
  import { log_tasks, log_error_reasons } from './task_logging.js';
11
11
  /**
@@ -56,7 +56,7 @@ export const invoke_task = async (task_name, args, config, initial_timings = nul
56
56
  const found = find_tasks([input_path], task_root_dirs, config);
57
57
  if (!found.ok) {
58
58
  log_error_reasons(log, found.reasons);
59
- process.exit(1);
59
+ throw new Silent_Error();
60
60
  }
61
61
  // Found a match either in the current working directory or Gro's directory.
62
62
  const found_tasks = found.value;
@@ -65,7 +65,7 @@ export const invoke_task = async (task_name, args, config, initial_timings = nul
65
65
  const loaded = await load_tasks(found_tasks);
66
66
  if (!loaded.ok) {
67
67
  log_error_reasons(log, loaded.reasons);
68
- process.exit(1);
68
+ throw new Silent_Error();
69
69
  }
70
70
  const loaded_tasks = loaded.value;
71
71
  if (resolved_input_files.length > 1 || resolved_input_files[0].resolved_input_path.is_directory) {
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"../src/lib/","sources":["package.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyQD,CAAC;AAEzB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsuBD,CAAC"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"../src/lib/","sources":["package.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyQD,CAAC;AAEzB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuuBD,CAAC"}
package/dist/package.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // generated by src/lib/package.gen.ts
2
2
  export const package_json = {
3
3
  name: '@ryanatkn/gro',
4
- version: '0.133.0',
4
+ version: '0.133.2',
5
5
  description: 'task runner and toolkit extending SvelteKit',
6
6
  motto: 'generate, run, optimize',
7
7
  glyph: '🌰',
@@ -39,7 +39,7 @@ export const package_json = {
39
39
  'typescript',
40
40
  ],
41
41
  dependencies: {
42
- '@ryanatkn/belt': '^0.24.9',
42
+ '@ryanatkn/belt': '^0.24.10',
43
43
  chokidar: '^3.6.0',
44
44
  dotenv: '^16.4.5',
45
45
  'es-module-lexer': '^1.5.4',
@@ -56,7 +56,7 @@ export const package_json = {
56
56
  '@changesets/changelog-git': '^0.2.0',
57
57
  '@changesets/types': '^6.0.0',
58
58
  '@ryanatkn/eslint-config': '^0.4.2',
59
- '@ryanatkn/fuz': '^0.113.0',
59
+ '@ryanatkn/fuz': '^0.115.1',
60
60
  '@ryanatkn/moss': '^0.8.0',
61
61
  '@sveltejs/adapter-static': '^3.0.2',
62
62
  '@sveltejs/kit': '^2.5.18',
@@ -266,7 +266,7 @@ export const package_json = {
266
266
  };
267
267
  export const src_json = {
268
268
  name: '@ryanatkn/gro',
269
- version: '0.133.0',
269
+ version: '0.133.2',
270
270
  modules: {
271
271
  '.': {
272
272
  path: 'index.ts',
@@ -958,6 +958,7 @@ export const src_json = {
958
958
  { name: 'is_task_path', kind: 'function' },
959
959
  { name: 'to_task_name', kind: 'function' },
960
960
  { name: 'Task_Error', kind: 'class' },
961
+ { name: 'Silent_Error', kind: 'class' },
961
962
  { name: 'Found_Task', kind: 'type' },
962
963
  { name: 'Found_Tasks', kind: 'type' },
963
964
  { name: 'Find_Tasks_Result', kind: 'type' },
@@ -139,7 +139,13 @@ export declare const Package_Json: z.ZodObject<{
139
139
  dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
140
140
  devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
141
141
  peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
142
- peerDependenciesMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
142
+ peerDependenciesMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
143
+ optional: z.ZodBoolean;
144
+ }, "strip", z.ZodTypeAny, {
145
+ optional: boolean;
146
+ }, {
147
+ optional: boolean;
148
+ }>>>;
143
149
  optionalDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
144
150
  bin: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
145
151
  sideEffects: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -234,7 +240,13 @@ export declare const Package_Json: z.ZodObject<{
234
240
  dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
235
241
  devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
236
242
  peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
237
- peerDependenciesMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
243
+ peerDependenciesMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
244
+ optional: z.ZodBoolean;
245
+ }, "strip", z.ZodTypeAny, {
246
+ optional: boolean;
247
+ }, {
248
+ optional: boolean;
249
+ }>>>;
238
250
  optionalDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
239
251
  bin: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
240
252
  sideEffects: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -329,7 +341,13 @@ export declare const Package_Json: z.ZodObject<{
329
341
  dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
330
342
  devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
331
343
  peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
332
- peerDependenciesMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
344
+ peerDependenciesMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
345
+ optional: z.ZodBoolean;
346
+ }, "strip", z.ZodTypeAny, {
347
+ optional: boolean;
348
+ }, {
349
+ optional: boolean;
350
+ }>>>;
333
351
  optionalDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
334
352
  bin: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
335
353
  sideEffects: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -1 +1 @@
1
- {"version":3,"file":"package_json.d.ts","sourceRoot":"../src/lib/","sources":["package_json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package_json.d.ts","sourceRoot":"../src/lib/","sources":["package_json.ts"],"names":[],"mappings":"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"}
@@ -101,7 +101,7 @@ export const Package_Json = z
101
101
  dependencies: z.record(z.string()).optional(),
102
102
  devDependencies: z.record(z.string()).optional(),
103
103
  peerDependencies: z.record(z.string()).optional(),
104
- peerDependenciesMeta: z.record(z.record(z.string())).optional(),
104
+ peerDependenciesMeta: z.record(z.object({ optional: z.boolean() })).optional(),
105
105
  optionalDependencies: z.record(z.string()).optional(),
106
106
  bin: z.record(z.string()).optional(),
107
107
  sideEffects: z.array(z.string()).optional(),
@@ -16,6 +16,7 @@ export declare const Args: z.ZodObject<{
16
16
  changeset_cli: z.ZodDefault<z.ZodString>;
17
17
  }, "strict", z.ZodTypeAny, {
18
18
  build: boolean;
19
+ optional: boolean;
19
20
  origin: string & z.BRAND<"Git_Origin">;
20
21
  pull: boolean;
21
22
  branch: string & z.BRAND<"Git_Branch">;
@@ -25,11 +26,11 @@ export declare const Args: z.ZodObject<{
25
26
  dry: boolean;
26
27
  'no-build': boolean;
27
28
  preserve_changelog: boolean;
28
- optional: boolean;
29
29
  'no-check': boolean;
30
30
  'no-pull': boolean;
31
31
  }, {
32
32
  build?: boolean | undefined;
33
+ optional?: boolean | undefined;
33
34
  origin?: string | undefined;
34
35
  pull?: boolean | undefined;
35
36
  branch?: string | undefined;
@@ -39,7 +40,6 @@ export declare const Args: z.ZodObject<{
39
40
  dry?: boolean | undefined;
40
41
  'no-build'?: boolean | undefined;
41
42
  preserve_changelog?: boolean | undefined;
42
- optional?: boolean | undefined;
43
43
  'no-check'?: boolean | undefined;
44
44
  'no-pull'?: boolean | undefined;
45
45
  }>;
package/dist/task.d.ts CHANGED
@@ -34,6 +34,12 @@ export declare const to_task_name: (id: Path_Id, task_root_dir: Path_Id, input_p
34
34
  */
35
35
  export declare class Task_Error extends Error {
36
36
  }
37
+ /**
38
+ * This is used to tell Gro to exit silently, usually still with with a non-zero exit code.
39
+ * Using it means error logging is handled by the code that threw it.
40
+ */
41
+ export declare class Silent_Error extends Error {
42
+ }
37
43
  export interface Found_Task {
38
44
  input_path: Input_Path;
39
45
  id: Path_Id;
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"../src/lib/","sources":["task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAGN,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAe,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAC,MAAM,cAAc,CAAC;AAEvF,MAAM,WAAW,IAAI,CACpB,MAAM,GAAG,IAAI,EAAE,iCAAiC;AAChD,aAAa,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC3C,QAAQ,GAAG,OAAO;IAElB,GAAG,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,MAAM;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,EAAE,uBAAuB,CAAC;IAG1C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpF;AAED,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,kBAAkB,UAA6C,CAAC;AAE7E,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,OAC6B,CAAC;AAE1E,eAAO,MAAM,YAAY,OACpB,OAAO,iBACI,OAAO,cACV,UAAU,aACX,OAAO,KAChB,MAiBF,CAAC;AAEF;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAExC,MAAM,WAAW,UAAU;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC3B,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,gCAAgC,EAAE,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACtE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,cAAc,EAAE,OAAO,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAC,EAAE,oBAAoB,CAAC,CAAC;AACnF,MAAM,MAAM,oBAAoB,GAC7B;IACA,IAAI,EAAE,sBAAsB,CAAC;IAC7B,oBAAoB,EAAE,UAAU,EAAE,CAAC;IACnC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACjB,GACD;IACA,IAAI,EAAE,iCAAiC,CAAC;IACxC,+BAA+B,EAAE,UAAU,EAAE,CAAC;IAC9C,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,gCAAgC,EAAE,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACtE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,UAAU,gBACT,UAAU,EAAE,kBACT,OAAO,EAAE,UACjB,UAAU,oBAEhB,iBA+DF,CAAC;AAEF,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,IAAI,CAAC;CACX;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW,CAAC,WAAW,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAC,EAAE,kBAAkB,CAAC,CAAC;AAClF,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AAExE,eAAO,MAAM,UAAU,gBACT,WAAW,cACb,OAAO,KAChB,OAAO,CAAC,iBAAiB,CAuB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,GAAG,IAAI,WACtB,CAAC"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"../src/lib/","sources":["task.ts"],"names":[],"mappings":"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"}
package/dist/task.js CHANGED
@@ -34,6 +34,12 @@ export const to_task_name = (id, task_root_dir, input_path, root_path) => {
34
34
  */
35
35
  export class Task_Error extends Error {
36
36
  }
37
+ /**
38
+ * This is used to tell Gro to exit silently, usually still with with a non-zero exit code.
39
+ * Using it means error logging is handled by the code that threw it.
40
+ */
41
+ export class Silent_Error extends Error {
42
+ }
37
43
  /**
38
44
  * Finds modules from input paths. (see `src/lib/input_path.ts` for more)
39
45
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryanatkn/gro",
3
- "version": "0.133.0",
3
+ "version": "0.133.2",
4
4
  "description": "task runner and toolkit extending SvelteKit",
5
5
  "motto": "generate, run, optimize",
6
6
  "glyph": "🌰",
@@ -49,7 +49,7 @@
49
49
  "typescript"
50
50
  ],
51
51
  "dependencies": {
52
- "@ryanatkn/belt": "^0.24.9",
52
+ "@ryanatkn/belt": "^0.24.10",
53
53
  "chokidar": "^3.6.0",
54
54
  "dotenv": "^16.4.5",
55
55
  "es-module-lexer": "^1.5.4",
@@ -69,7 +69,7 @@
69
69
  "@changesets/changelog-git": "^0.2.0",
70
70
  "@changesets/types": "^6.0.0",
71
71
  "@ryanatkn/eslint-config": "^0.4.2",
72
- "@ryanatkn/fuz": "^0.113.0",
72
+ "@ryanatkn/fuz": "^0.115.1",
73
73
  "@ryanatkn/moss": "^0.8.0",
74
74
  "@sveltejs/adapter-static": "^3.0.2",
75
75
  "@sveltejs/kit": "^2.5.18",
@@ -49,6 +49,8 @@ export const resolve_gro_module_path = (path = ''): string => {
49
49
  const gro_bin_path = resolve(NODE_MODULES_DIRNAME, '.bin/gro');
50
50
  // case 1
51
51
  // Prefer any locally installed version of Gro.
52
+ // This is really confusing if Gro is installed inside Gro itself,
53
+ // so avoid that when developing Gro.
52
54
  if (existsSync(gro_bin_path)) {
53
55
  return join(realpathSync(gro_bin_path), '..', path);
54
56
  }
package/src/lib/invoke.ts CHANGED
@@ -17,8 +17,9 @@ and the rest of the args are forwarded to the task's `run` function.
17
17
  */
18
18
 
19
19
  // handle uncaught errors
20
- attach_process_error_handlers((err) =>
21
- err?.constructor?.name === 'Task_Error' ? 'Task_Error' : null,
20
+ attach_process_error_handlers(
21
+ (err) => (err.constructor.name === 'Task_Error' ? 'Task_Error' : null),
22
+ (err) => (err.constructor.name === 'Silent_Error' ? '' : null),
22
23
  );
23
24
 
24
25
  await sveltekit_sync_if_obviously_needed();
@@ -6,7 +6,7 @@ import {print_ms, print_timings} from '@ryanatkn/belt/print.js';
6
6
  import {to_forwarded_args, type Args} from './args.js';
7
7
  import {run_task} from './run_task.js';
8
8
  import {to_input_path, Raw_Input_Path} from './input_path.js';
9
- import {find_tasks, load_tasks} from './task.js';
9
+ import {find_tasks, load_tasks, Silent_Error} from './task.js';
10
10
  import {load_gro_package_json} from './package_json.js';
11
11
  import {log_tasks, log_error_reasons} from './task_logging.js';
12
12
  import type {Gro_Config} from './gro_config.js';
@@ -69,7 +69,7 @@ export const invoke_task = async (
69
69
  const found = find_tasks([input_path], task_root_dirs, config);
70
70
  if (!found.ok) {
71
71
  log_error_reasons(log, found.reasons);
72
- process.exit(1);
72
+ throw new Silent_Error();
73
73
  }
74
74
 
75
75
  // Found a match either in the current working directory or Gro's directory.
@@ -80,7 +80,7 @@ export const invoke_task = async (
80
80
  const loaded = await load_tasks(found_tasks);
81
81
  if (!loaded.ok) {
82
82
  log_error_reasons(log, loaded.reasons);
83
- process.exit(1);
83
+ throw new Silent_Error();
84
84
  }
85
85
  const loaded_tasks = loaded.value;
86
86
 
@@ -5,7 +5,7 @@ import type {Src_Json} from './src_json.js';
5
5
 
6
6
  export const package_json = {
7
7
  name: '@ryanatkn/gro',
8
- version: '0.133.0',
8
+ version: '0.133.2',
9
9
  description: 'task runner and toolkit extending SvelteKit',
10
10
  motto: 'generate, run, optimize',
11
11
  glyph: '🌰',
@@ -44,7 +44,7 @@ export const package_json = {
44
44
  'typescript',
45
45
  ],
46
46
  dependencies: {
47
- '@ryanatkn/belt': '^0.24.9',
47
+ '@ryanatkn/belt': '^0.24.10',
48
48
  chokidar: '^3.6.0',
49
49
  dotenv: '^16.4.5',
50
50
  'es-module-lexer': '^1.5.4',
@@ -61,7 +61,7 @@ export const package_json = {
61
61
  '@changesets/changelog-git': '^0.2.0',
62
62
  '@changesets/types': '^6.0.0',
63
63
  '@ryanatkn/eslint-config': '^0.4.2',
64
- '@ryanatkn/fuz': '^0.113.0',
64
+ '@ryanatkn/fuz': '^0.115.1',
65
65
  '@ryanatkn/moss': '^0.8.0',
66
66
  '@sveltejs/adapter-static': '^3.0.2',
67
67
  '@sveltejs/kit': '^2.5.18',
@@ -272,7 +272,7 @@ export const package_json = {
272
272
 
273
273
  export const src_json = {
274
274
  name: '@ryanatkn/gro',
275
- version: '0.133.0',
275
+ version: '0.133.2',
276
276
  modules: {
277
277
  '.': {
278
278
  path: 'index.ts',
@@ -964,6 +964,7 @@ export const src_json = {
964
964
  {name: 'is_task_path', kind: 'function'},
965
965
  {name: 'to_task_name', kind: 'function'},
966
966
  {name: 'Task_Error', kind: 'class'},
967
+ {name: 'Silent_Error', kind: 'class'},
967
968
  {name: 'Found_Task', kind: 'type'},
968
969
  {name: 'Found_Tasks', kind: 'type'},
969
970
  {name: 'Find_Tasks_Result', kind: 'type'},
@@ -125,7 +125,7 @@ export const Package_Json = z
125
125
  dependencies: z.record(z.string()).optional(),
126
126
  devDependencies: z.record(z.string()).optional(),
127
127
  peerDependencies: z.record(z.string()).optional(),
128
- peerDependenciesMeta: z.record(z.record(z.string())).optional(),
128
+ peerDependenciesMeta: z.record(z.object({optional: z.boolean()})).optional(),
129
129
  optionalDependencies: z.record(z.string()).optional(),
130
130
 
131
131
  bin: z.record(z.string()).optional(),
package/src/lib/task.ts CHANGED
@@ -80,6 +80,12 @@ export const to_task_name = (
80
80
  */
81
81
  export class Task_Error extends Error {}
82
82
 
83
+ /**
84
+ * This is used to tell Gro to exit silently, usually still with with a non-zero exit code.
85
+ * Using it means error logging is handled by the code that threw it.
86
+ */
87
+ export class Silent_Error extends Error {}
88
+
83
89
  export interface Found_Task {
84
90
  input_path: Input_Path;
85
91
  id: Path_Id;