@ryanatkn/gro 0.141.1 → 0.143.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 (114) hide show
  1. package/dist/build.task.js +1 -1
  2. package/dist/changeset.task.d.ts.map +1 -1
  3. package/dist/changeset.task.js +4 -4
  4. package/dist/check.task.d.ts.map +1 -1
  5. package/dist/check.task.js +4 -2
  6. package/dist/clean_fs.js +1 -1
  7. package/dist/cli.js +1 -1
  8. package/dist/{path_constants.d.ts → constants.d.ts} +4 -1
  9. package/dist/constants.d.ts.map +1 -0
  10. package/dist/{path_constants.js → constants.js} +3 -0
  11. package/dist/deploy.task.js +1 -1
  12. package/dist/dev.task.js +1 -1
  13. package/dist/esbuild_plugin_svelte.js +1 -1
  14. package/dist/esbuild_plugin_sveltekit_local_imports.js +1 -1
  15. package/dist/esbuild_plugin_sveltekit_shim_app.js +1 -1
  16. package/dist/esbuild_plugin_sveltekit_shim_env.js +1 -1
  17. package/dist/filer.d.ts +7 -0
  18. package/dist/filer.d.ts.map +1 -1
  19. package/dist/filer.js +28 -29
  20. package/dist/format.task.d.ts.map +1 -1
  21. package/dist/format.task.js +2 -2
  22. package/dist/format_directory.d.ts +1 -1
  23. package/dist/format_directory.d.ts.map +1 -1
  24. package/dist/format_directory.js +5 -6
  25. package/dist/gen.task.js +1 -1
  26. package/dist/gro_config.d.ts +12 -2
  27. package/dist/gro_config.d.ts.map +1 -1
  28. package/dist/gro_config.js +10 -6
  29. package/dist/gro_helpers.d.ts +1 -1
  30. package/dist/gro_helpers.d.ts.map +1 -1
  31. package/dist/gro_helpers.js +3 -3
  32. package/dist/gro_plugin_server.js +4 -4
  33. package/dist/gro_plugin_sveltekit_app.d.ts.map +1 -1
  34. package/dist/gro_plugin_sveltekit_app.js +5 -5
  35. package/dist/gro_plugin_sveltekit_library.js +7 -7
  36. package/dist/loader.d.ts.map +1 -1
  37. package/dist/loader.js +23 -17
  38. package/dist/module.js +1 -1
  39. package/dist/moss_helpers.d.ts +1 -1
  40. package/dist/moss_helpers.d.ts.map +1 -1
  41. package/dist/moss_helpers.js +4 -3
  42. package/dist/package.d.ts +334 -172
  43. package/dist/package.d.ts.map +1 -1
  44. package/dist/package.js +51 -51
  45. package/dist/package_json.d.ts +9 -6
  46. package/dist/package_json.d.ts.map +1 -1
  47. package/dist/package_json.js +21 -6
  48. package/dist/package_meta.d.ts +1 -1
  49. package/dist/parse_imports.js +1 -1
  50. package/dist/paths.js +1 -1
  51. package/dist/publish.task.d.ts.map +1 -1
  52. package/dist/publish.task.js +7 -20
  53. package/dist/reinstall.task.js +11 -11
  54. package/dist/resolve_node_specifier.d.ts +7 -1
  55. package/dist/resolve_node_specifier.d.ts.map +1 -1
  56. package/dist/resolve_node_specifier.js +78 -14
  57. package/dist/resolve_specifier.d.ts +2 -6
  58. package/dist/resolve_specifier.d.ts.map +1 -1
  59. package/dist/resolve_specifier.js +2 -6
  60. package/dist/run_task.js +1 -1
  61. package/dist/src_json.d.ts +39 -3
  62. package/dist/src_json.d.ts.map +1 -1
  63. package/dist/sveltekit_config.d.ts +1 -1
  64. package/dist/sveltekit_config.d.ts.map +1 -1
  65. package/dist/sveltekit_config.js +1 -1
  66. package/dist/sveltekit_helpers.d.ts +3 -3
  67. package/dist/sveltekit_helpers.d.ts.map +1 -1
  68. package/dist/sveltekit_helpers.js +7 -7
  69. package/dist/sync.task.js +5 -5
  70. package/dist/upgrade.task.d.ts.map +1 -1
  71. package/dist/upgrade.task.js +4 -2
  72. package/dist/watch_dir.d.ts.map +1 -1
  73. package/dist/watch_dir.js +5 -5
  74. package/package.json +18 -18
  75. package/src/lib/build.task.ts +1 -1
  76. package/src/lib/changeset.task.ts +4 -3
  77. package/src/lib/check.task.ts +4 -2
  78. package/src/lib/clean_fs.ts +1 -1
  79. package/src/lib/cli.ts +1 -1
  80. package/src/lib/{path_constants.ts → constants.ts} +4 -0
  81. package/src/lib/deploy.task.ts +1 -1
  82. package/src/lib/dev.task.ts +1 -1
  83. package/src/lib/esbuild_plugin_svelte.ts +1 -1
  84. package/src/lib/esbuild_plugin_sveltekit_local_imports.ts +1 -1
  85. package/src/lib/esbuild_plugin_sveltekit_shim_app.ts +1 -1
  86. package/src/lib/esbuild_plugin_sveltekit_shim_env.ts +1 -1
  87. package/src/lib/filer.ts +37 -27
  88. package/src/lib/format.task.ts +10 -2
  89. package/src/lib/format_directory.ts +10 -9
  90. package/src/lib/gen.task.ts +1 -1
  91. package/src/lib/gro_config.ts +23 -5
  92. package/src/lib/gro_helpers.ts +3 -2
  93. package/src/lib/gro_plugin_server.ts +4 -4
  94. package/src/lib/gro_plugin_sveltekit_app.ts +7 -5
  95. package/src/lib/gro_plugin_sveltekit_library.ts +7 -7
  96. package/src/lib/loader.ts +25 -17
  97. package/src/lib/module.ts +1 -1
  98. package/src/lib/moss_helpers.ts +4 -2
  99. package/src/lib/package.ts +51 -51
  100. package/src/lib/package_json.ts +23 -6
  101. package/src/lib/package_meta.ts +1 -1
  102. package/src/lib/parse_imports.ts +1 -1
  103. package/src/lib/paths.ts +1 -1
  104. package/src/lib/publish.task.ts +7 -22
  105. package/src/lib/reinstall.task.ts +11 -11
  106. package/src/lib/resolve_node_specifier.ts +100 -18
  107. package/src/lib/resolve_specifier.ts +2 -6
  108. package/src/lib/run_task.ts +1 -1
  109. package/src/lib/sveltekit_config.ts +2 -2
  110. package/src/lib/sveltekit_helpers.ts +7 -4
  111. package/src/lib/sync.task.ts +5 -5
  112. package/src/lib/upgrade.task.ts +4 -2
  113. package/src/lib/watch_dir.ts +6 -6
  114. package/dist/path_constants.d.ts.map +0 -1
@@ -2,13 +2,9 @@ import { extname, isAbsolute, join, relative } from 'node:path';
2
2
  import { existsSync } from 'node:fs';
3
3
  import { replace_extension } from './paths.js';
4
4
  /**
5
- * Maps a `path` import specifier relative to the `importer`,
5
+ * Maps an import `specifier` relative to `dir`,
6
6
  * and infer the correct extension following Vite conventions.
7
- * If no `.js` file is found for the `path` on the filesystem, it assumes `.ts`.
8
- * @param specifier
9
- * @param dir - if defined, enables relative importers like from esbuild plugins
10
- * @param passthrough_extensions - used to support specifiers that have no file extention, which Vite supports, so we do our best effort
11
- * @returns
7
+ * If no `.js` file is found for the specifier on the filesystem, it assumes `.ts`.
12
8
  */
13
9
  export const resolve_specifier = (specifier, dir) => {
14
10
  const raw = specifier.endsWith('?raw');
package/dist/run_task.js CHANGED
@@ -40,7 +40,7 @@ export const run_task = async (task_meta, unparsed_args, invoke_task, config, fi
40
40
  ok: false,
41
41
  reason: st('red', err?.constructor?.name === 'Task_Error'
42
42
  ? err.message
43
- : `Unexpected error running task ${st('cyan', task_meta.name)}. If this is unexpected try running \`npm i\` and \`gro clean\`.`),
43
+ : `Unexpected error running task ${st('cyan', task_meta.name)}. If this is unexpected try running \`${config.pm_cli} install\` and \`gro clean\`.`),
44
44
  error: err,
45
45
  };
46
46
  }
@@ -129,7 +129,19 @@ export declare const Src_Json: z.ZodObject<{
129
129
  name: z.ZodString;
130
130
  kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
131
131
  }, z.ZodTypeAny, "passthrough">>, "many">;
132
- }, z.ZodTypeAny, "passthrough">>>, any, Record<string, z.objectInputType<{
132
+ }, z.ZodTypeAny, "passthrough">>>, Record<string, z.objectOutputType<{
133
+ path: z.ZodString;
134
+ declarations: z.ZodArray<z.ZodObject<{
135
+ name: z.ZodString;
136
+ kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
137
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
138
+ name: z.ZodString;
139
+ kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
140
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
141
+ name: z.ZodString;
142
+ kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
143
+ }, z.ZodTypeAny, "passthrough">>, "many">;
144
+ }, z.ZodTypeAny, "passthrough">> | undefined, Record<string, z.objectInputType<{
133
145
  path: z.ZodString;
134
146
  declarations: z.ZodArray<z.ZodObject<{
135
147
  name: z.ZodString;
@@ -181,7 +193,19 @@ export declare const Src_Json: z.ZodObject<{
181
193
  name: z.ZodString;
182
194
  kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
183
195
  }, z.ZodTypeAny, "passthrough">>, "many">;
184
- }, z.ZodTypeAny, "passthrough">>>, any, Record<string, z.objectInputType<{
196
+ }, z.ZodTypeAny, "passthrough">>>, Record<string, z.objectOutputType<{
197
+ path: z.ZodString;
198
+ declarations: z.ZodArray<z.ZodObject<{
199
+ name: z.ZodString;
200
+ kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
201
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
202
+ name: z.ZodString;
203
+ kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
204
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
205
+ name: z.ZodString;
206
+ kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
207
+ }, z.ZodTypeAny, "passthrough">>, "many">;
208
+ }, z.ZodTypeAny, "passthrough">> | undefined, Record<string, z.objectInputType<{
185
209
  path: z.ZodString;
186
210
  declarations: z.ZodArray<z.ZodObject<{
187
211
  name: z.ZodString;
@@ -233,7 +257,19 @@ export declare const Src_Json: z.ZodObject<{
233
257
  name: z.ZodString;
234
258
  kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
235
259
  }, z.ZodTypeAny, "passthrough">>, "many">;
236
- }, z.ZodTypeAny, "passthrough">>>, any, Record<string, z.objectInputType<{
260
+ }, z.ZodTypeAny, "passthrough">>>, Record<string, z.objectOutputType<{
261
+ path: z.ZodString;
262
+ declarations: z.ZodArray<z.ZodObject<{
263
+ name: z.ZodString;
264
+ kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
265
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
266
+ name: z.ZodString;
267
+ kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
268
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
269
+ name: z.ZodString;
270
+ kind: z.ZodNullable<z.ZodEnum<["type", "function", "variable", "class"]>>;
271
+ }, z.ZodTypeAny, "passthrough">>, "many">;
272
+ }, z.ZodTypeAny, "passthrough">> | undefined, Record<string, z.objectInputType<{
237
273
  path: z.ZodString;
238
274
  declarations: z.ZodArray<z.ZodObject<{
239
275
  name: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"src_json.d.ts","sourceRoot":"../src/lib/","sources":["src_json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAOtB,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,sBAAsB;;;;;;;;;gCAQpB,CAAC;AAChB,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAKR,CAAC;AAChB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAuB,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAMN,CAAC;AAChB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAE9F,eAAO,MAAM,eAAe,iBAAkB,YAAY,aAAa,MAAM,KAAG,QAK7E,CAAC;AAEJ,eAAO,MAAM,kBAAkB,aAAc,QAAQ,KAAG,MAGvD,CAAC;AAEF,eAAO,MAAM,cAAc,YACjB,oBAAoB,GAAG,SAAS,wBAEvC,WAAW,GAAG,SAsEhB,CAAC"}
1
+ {"version":3,"file":"src_json.d.ts","sourceRoot":"../src/lib/","sources":["src_json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAOtB,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,sBAAsB;;;;;;;;;gCAQpB,CAAC;AAChB,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAKR,CAAC;AAChB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAuB,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAMN,CAAC;AAChB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAE9F,eAAO,MAAM,eAAe,iBAAkB,YAAY,aAAa,MAAM,KAAG,QAK7E,CAAC;AAEJ,eAAO,MAAM,kBAAkB,aAAc,QAAQ,KAAG,MAGvD,CAAC;AAEF,eAAO,MAAM,cAAc,YACjB,oBAAoB,GAAG,SAAS,wBAEvC,WAAW,GAAG,SAsEhB,CAAC"}
@@ -34,7 +34,7 @@ export interface Parsed_Sveltekit_Config {
34
34
  private_prefix: string | undefined;
35
35
  public_prefix: string | undefined;
36
36
  svelte_compile_options: CompileOptions;
37
- svelte_compile_module_options: CompileOptions;
37
+ svelte_compile_module_options: ModuleCompileOptions;
38
38
  svelte_preprocessors: PreprocessorGroup | PreprocessorGroup[] | undefined;
39
39
  }
40
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sveltekit_config.d.ts","sourceRoot":"../src/lib/","sources":["sveltekit_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,IAAI,eAAe,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAC,cAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAW7F;;;GAGG;AACH,eAAO,MAAM,qBAAqB,SAC5B,MAAM,KACT,OAAO,CAAC,eAAe,GAAG,IAAI,CAMhC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IAEvC,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,EAAE,GAAG,UAAU,MAAM,EAAE,GAAG,WAAW,MAAM,EAAE,GAAG,SAAS,CAAC;IAGtE;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,sBAAsB,EAAE,cAAc,CAAC;IACvC,6BAA6B,EAAE,cAAc,CAAC;IAC9C,oBAAoB,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAC;CAC1E;AAGD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,mBAClB,MAAM,GAAG,eAAe,KACrC,OAAO,CAAC,uBAAuB,CA2CjC,CAAC;AAEF,eAAO,MAAM,iCAAiC,0CAK3C,cAAc,KAAG,oBAA4D,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,wBAAwB,yBAAgC,CAAC"}
1
+ {"version":3,"file":"sveltekit_config.d.ts","sourceRoot":"../src/lib/","sources":["sveltekit_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,IAAI,eAAe,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAC,cAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAW7F;;;GAGG;AACH,eAAO,MAAM,qBAAqB,SAC5B,MAAM,KACT,OAAO,CAAC,eAAe,GAAG,IAAI,CAMhC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IAEvC,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,EAAE,GAAG,UAAU,MAAM,EAAE,GAAG,WAAW,MAAM,EAAE,GAAG,SAAS,CAAC;IAGtE;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,sBAAsB,EAAE,cAAc,CAAC;IACvC,6BAA6B,EAAE,oBAAoB,CAAC;IACpD,oBAAoB,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAC;CAC1E;AAGD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,mBAClB,MAAM,GAAG,eAAe,KACrC,OAAO,CAAC,uBAAuB,CA2CjC,CAAC;AAEF,eAAO,MAAM,iCAAiC,0CAK3C,cAAc,KAAG,oBAA4D,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,wBAAwB,yBAAgC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { join } from 'node:path';
2
- import { SVELTEKIT_CONFIG_FILENAME } from './path_constants.js';
2
+ import { SVELTEKIT_CONFIG_FILENAME } from './constants.js';
3
3
  /*
4
4
 
5
5
  This module is intended to have minimal dependencies to avoid over-imports in the CLI.
@@ -12,10 +12,10 @@ export declare const SVELTEKIT_ENV_MATCHER: RegExp;
12
12
  export declare const has_sveltekit_app: () => Result<object, {
13
13
  message: string;
14
14
  }>;
15
- export declare const has_sveltekit_library: (package_json?: Package_Json, sveltekit_config?: Parsed_Sveltekit_Config, dep_name?: string) => Result<object, {
15
+ export declare const has_sveltekit_library: (package_json?: Package_Json, sveltekit_config?: Parsed_Sveltekit_Config, dep_name?: string, pm_cli?: string) => Result<object, {
16
16
  message: string;
17
17
  }>;
18
- export declare const sveltekit_sync: (sveltekit_cli?: string | Cli) => Promise<void>;
18
+ export declare const sveltekit_sync: (sveltekit_cli?: string | Cli, pm_cli?: string) => Promise<void>;
19
19
  /**
20
20
  * If the SvelteKit CLI is found and its `.svelte-kit` directory is not, run `svelte-kit sync`.
21
21
  */
@@ -73,7 +73,7 @@ export interface Svelte_Package_Options {
73
73
  */
74
74
  tsconfig?: string;
75
75
  }
76
- export declare const run_svelte_package: (options: Svelte_Package_Options | undefined, cli: string | Cli, log: Logger) => Promise<void>;
76
+ export declare const run_svelte_package: (options: Svelte_Package_Options | undefined, cli: string | Cli, log: Logger, pm_cli: string) => Promise<void>;
77
77
  /**
78
78
  * Map an import specifier with the SvelteKit aliases.
79
79
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sveltekit_helpers.d.ts","sourceRoot":"../src/lib/","sources":["sveltekit_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAC,YAAY,EAAU,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAA2B,KAAK,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE7F,OAAO,EAAmC,KAAK,GAAG,EAAC,MAAM,UAAU,CAAC;AAIpE,eAAO,MAAM,aAAa,eAAe,CAAC;AAE1C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAE3D,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAEnF,eAAO,MAAM,iBAAiB,QAAO,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAMpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBAClB,YAAY,qBACT,uBAAuB,wBAEvC,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAkBlC,CAAC;AAEF,eAAO,MAAM,cAAc,mBACX,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CASd,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,2BAA2B,mBACxB,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CAMd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,mBAC/B,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CAUd,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,YACrB,sBAAsB,GAAG,SAAS,OACtC,MAAM,GAAG,GAAG,OACZ,MAAM,KACT,OAAO,CAAC,IAAI,CAmBd,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,qBAAqB,cACtB,MAAM,WACR,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAC9B,MASF,CAAC"}
1
+ {"version":3,"file":"sveltekit_helpers.d.ts","sourceRoot":"../src/lib/","sources":["sveltekit_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAC,YAAY,EAAU,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAA2B,KAAK,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE7F,OAAO,EAAmC,KAAK,GAAG,EAAC,MAAM,UAAU,CAAC;AAIpE,eAAO,MAAM,aAAa,eAAe,CAAC;AAE1C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAE3D,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAEnF,eAAO,MAAM,iBAAiB,QAAO,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAMpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBAClB,YAAY,qBACT,uBAAuB,yCAGvC,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAkBlC,CAAC;AAEF,eAAO,MAAM,cAAc,mBACX,MAAM,GAAG,GAAG,sBAEzB,OAAO,CAAC,IAAI,CASd,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,2BAA2B,mBACxB,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CAMd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,mBAC/B,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CAUd,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,YACrB,sBAAsB,GAAG,SAAS,OACtC,MAAM,GAAG,GAAG,OACZ,MAAM,UACH,MAAM,KACZ,OAAO,CAAC,IAAI,CAmBd,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,qBAAqB,cACtB,MAAM,WACR,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAC9B,MASF,CAAC"}
@@ -2,7 +2,7 @@ import { existsSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { Package_Json, has_dep } from './package_json.js';
4
4
  import { default_sveltekit_config } from './sveltekit_config.js';
5
- import { SVELTEKIT_CONFIG_FILENAME, SVELTEKIT_DEV_DIRNAME } from './path_constants.js';
5
+ import { SVELTEKIT_CONFIG_FILENAME, SVELTEKIT_DEV_DIRNAME, PM_CLI_DEFAULT } from './constants.js';
6
6
  import { find_cli, spawn_cli, to_cli_name } from './cli.js';
7
7
  import { Task_Error } from './task.js';
8
8
  import { serialize_args, to_forwarded_args } from './args.js';
@@ -19,7 +19,7 @@ export const has_sveltekit_app = () => {
19
19
  // TODO check for routes?
20
20
  return { ok: true };
21
21
  };
22
- export const has_sveltekit_library = (package_json, sveltekit_config = default_sveltekit_config, dep_name = SVELTE_PACKAGE_DEP_NAME) => {
22
+ export const has_sveltekit_library = (package_json, sveltekit_config = default_sveltekit_config, dep_name = SVELTE_PACKAGE_DEP_NAME, pm_cli = PM_CLI_DEFAULT) => {
23
23
  const has_sveltekit_app_result = has_sveltekit_app();
24
24
  if (!has_sveltekit_app_result.ok) {
25
25
  return has_sveltekit_app_result;
@@ -30,15 +30,15 @@ export const has_sveltekit_library = (package_json, sveltekit_config = default_s
30
30
  if (!has_dep(dep_name, package_json)) {
31
31
  return {
32
32
  ok: false,
33
- message: `no dependency found in package.json for ${dep_name}, install it with \`npm i -D ${dep_name}\``,
33
+ message: `no dependency found in package.json for ${dep_name}, install it with \`${pm_cli} install -D ${dep_name}\``,
34
34
  };
35
35
  }
36
36
  return { ok: true };
37
37
  };
38
- export const sveltekit_sync = async (sveltekit_cli = SVELTEKIT_CLI) => {
38
+ export const sveltekit_sync = async (sveltekit_cli = SVELTEKIT_CLI, pm_cli = PM_CLI_DEFAULT) => {
39
39
  const result = await spawn_cli(sveltekit_cli, ['sync']);
40
40
  if (!result) {
41
- throw new Task_Error(`Failed to find SvelteKit CLI \`${to_cli_name(sveltekit_cli)}\`, do you need to run \`npm i\`?`);
41
+ throw new Task_Error(`Failed to find SvelteKit CLI \`${to_cli_name(sveltekit_cli)}\`, do you need to run \`${pm_cli} install\`?`);
42
42
  }
43
43
  else if (!result.ok) {
44
44
  throw new Task_Error(`Failed ${to_cli_name(sveltekit_cli)} sync`);
@@ -67,7 +67,7 @@ export const sveltekit_sync_if_obviously_needed = async (sveltekit_cli = SVELTEK
67
67
  }
68
68
  return sveltekit_sync(found_sveltekit_cli);
69
69
  };
70
- export const run_svelte_package = async (options, cli, log) => {
70
+ export const run_svelte_package = async (options, cli, log, pm_cli) => {
71
71
  const has_sveltekit_library_result = has_sveltekit_library();
72
72
  if (!has_sveltekit_library_result.ok) {
73
73
  throw new Task_Error('Failed to find SvelteKit library: ' + has_sveltekit_library_result.message);
@@ -75,7 +75,7 @@ export const run_svelte_package = async (options, cli, log) => {
75
75
  const cli_name = typeof cli === 'string' ? cli : cli.name;
76
76
  const found_svelte_package_cli = cli === cli_name ? find_cli(cli) : cli;
77
77
  if (found_svelte_package_cli?.kind !== 'local') {
78
- throw new Task_Error(`Failed to find SvelteKit packaging CLI \`${cli_name}\`, do you need to run \`npm i\`?`);
78
+ throw new Task_Error(`Failed to find SvelteKit packaging CLI \`${cli_name}\`, do you need to run \`${pm_cli} install\`?`);
79
79
  }
80
80
  const serialized_args = serialize_args({
81
81
  ...options,
package/dist/sync.task.js CHANGED
@@ -12,22 +12,22 @@ export const Args = z
12
12
  gen: z.boolean({ description: 'dual of no-gen' }).default(true),
13
13
  'no-gen': z.boolean({ description: 'opt out of running gen' }).default(false),
14
14
  install: z.boolean({ description: 'dual of no-install' }).default(true),
15
- 'no-install': z.boolean({ description: 'opt out of `npm install`' }).default(false),
15
+ 'no-install': z.boolean({ description: 'opt out of installing packages' }).default(false),
16
16
  })
17
17
  .strict();
18
18
  export const task = {
19
- summary: 'run `gro gen`, update `package.json`, and optionally `npm i` to sync up',
19
+ summary: 'run `gro gen`, update `package.json`, and optionally install packages to sync up',
20
20
  Args,
21
21
  run: async ({ args, invoke_task, config, log }) => {
22
22
  const { sveltekit, package_json, gen, install } = args;
23
23
  if (install) {
24
- const result = await spawn('npm', ['i']);
24
+ const result = await spawn(config.pm_cli, ['install']);
25
25
  if (!result.ok) {
26
- throw new Task_Error('Failed npm install');
26
+ throw new Task_Error(`Failed \`${config.pm_cli} install\``);
27
27
  }
28
28
  }
29
29
  if (sveltekit) {
30
- await sveltekit_sync();
30
+ await sveltekit_sync(undefined, config.pm_cli);
31
31
  log.info('synced SvelteKit');
32
32
  }
33
33
  if (package_json && config.map_package_json) {
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.task.d.ts","sourceRoot":"../src/lib/","sources":["upgrade.task.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;EAeP,CAAC;AACX,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CA8C3B,CAAC"}
1
+ {"version":3,"file":"upgrade.task.d.ts","sourceRoot":"../src/lib/","sources":["upgrade.task.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAMhD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;EAeP,CAAC;AACX,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CA+C3B,CAAC"}
@@ -4,6 +4,7 @@ import { Task_Error } from './task.js';
4
4
  import { extract_deps, load_package_json } from './package_json.js';
5
5
  import { Git_Origin, git_pull } from './git.js';
6
6
  import { spawn_cli } from './cli.js';
7
+ import { serialize_args, to_forwarded_args } from './args.js';
7
8
  export const Args = z
8
9
  .object({
9
10
  _: z.array(z.string(), { description: 'names of deps to exclude from the upgrade' }).default([]),
@@ -23,7 +24,7 @@ export const Args = z
23
24
  export const task = {
24
25
  summary: 'upgrade deps',
25
26
  Args,
26
- run: async ({ args, log }) => {
27
+ run: async ({ args, log, config }) => {
27
28
  const { _, only, origin, force, pull, dry } = args;
28
29
  if (_.length && only.length) {
29
30
  throw new Task_Error('Cannot call `gro upgrade` with both rest args and --only.');
@@ -50,7 +51,8 @@ export const task = {
50
51
  if (force) {
51
52
  install_args.push('--force');
52
53
  }
53
- await spawn('npm', install_args);
54
+ install_args.push(...serialize_args(to_forwarded_args(config.pm_cli)));
55
+ await spawn(config.pm_cli, install_args);
54
56
  // Sync in a new process to pick up any changes after installing, avoiding some errors.
55
57
  await spawn_cli('gro', ['sync', '--no-install']); // don't install because we do above
56
58
  },
@@ -1 +1 @@
1
- {"version":3,"file":"watch_dir.d.ts","sourceRoot":"../src/lib/","sources":["watch_dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,eAAe,EAAiB,MAAM,UAAU,CAAC;AAIrE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAI3C,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AAEvE,MAAM,WAAW,OAAO;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,uBAAuB,CAAC;IACnC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,oDAMnB,OAAO,KAAG,aA8CZ,CAAC"}
1
+ {"version":3,"file":"watch_dir.d.ts","sourceRoot":"../src/lib/","sources":["watch_dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,eAAe,EAAiB,MAAM,UAAU,CAAC;AAKrE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAI3C,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AAEvE,MAAM,WAAW,OAAO;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,uBAAuB,CAAC;IACnC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,oDAMnB,OAAO,KAAG,aA6CZ,CAAC"}
package/dist/watch_dir.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { watch } from 'chokidar';
2
2
  import { relative } from 'node:path';
3
3
  import { statSync } from 'node:fs';
4
+ import { create_deferred } from '@ryanatkn/belt/async.js';
4
5
  /**
5
6
  * Watch for changes on the filesystem using chokidar.
6
7
  */
@@ -10,9 +11,8 @@ export const watch_dir = ({ dir, on_change, filter, absolute = true, chokidar, }
10
11
  return {
11
12
  init: async () => {
12
13
  if (initing)
13
- return initing;
14
- let resolve;
15
- initing = new Promise((r) => (resolve = r)); // TODO `create_deferred`?// cwd: chokidar?.cwd ?? process.cwd()
14
+ return initing.promise;
15
+ initing = create_deferred();
16
16
  watcher = watch(dir, { ...chokidar });
17
17
  watcher.on('add', (path) => {
18
18
  const final_path = absolute ? path : relative(dir, path);
@@ -46,8 +46,8 @@ export const watch_dir = ({ dir, on_change, filter, absolute = true, chokidar, }
46
46
  on_change({ type: 'delete', path: final_path, is_directory: true });
47
47
  });
48
48
  // wait until ready
49
- watcher.once('ready', () => resolve());
50
- await initing;
49
+ watcher.once('ready', () => initing?.resolve());
50
+ await initing.promise;
51
51
  },
52
52
  close: async () => {
53
53
  initing = undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryanatkn/gro",
3
- "version": "0.141.1",
3
+ "version": "0.143.0",
4
4
  "description": "task runner and toolkit extending SvelteKit",
5
5
  "motto": "generate, run, optimize",
6
6
  "glyph": "🌰",
@@ -58,7 +58,7 @@
58
58
  "prettier": "^3.3.3",
59
59
  "prettier-plugin-svelte": "^3.2.7",
60
60
  "ts-morph": "^24.0.0",
61
- "tslib": "^2.7.0",
61
+ "tslib": "^2.8.0",
62
62
  "zod": "^3.23.8"
63
63
  },
64
64
  "peerDependencies": {
@@ -69,21 +69,21 @@
69
69
  "@changesets/changelog-git": "^0.2.0",
70
70
  "@changesets/types": "^6.0.0",
71
71
  "@ryanatkn/eslint-config": "^0.5.5",
72
- "@ryanatkn/fuz": "^0.129.2",
73
- "@ryanatkn/moss": "^0.18.0",
74
- "@sveltejs/adapter-static": "^3.0.5",
75
- "@sveltejs/kit": "^2.6.4",
76
- "@sveltejs/package": "^2.3.5",
77
- "@sveltejs/vite-plugin-svelte": "^4.0.0-next.6",
72
+ "@ryanatkn/fuz": "^0.129.5",
73
+ "@ryanatkn/moss": "^0.18.2",
74
+ "@sveltejs/adapter-static": "^3.0.6",
75
+ "@sveltejs/kit": "^2.7.3",
76
+ "@sveltejs/package": "^2.3.7",
77
+ "@sveltejs/vite-plugin-svelte": "^4.0.0",
78
78
  "@types/fs-extra": "^11.0.4",
79
- "@types/node": "^22.7.5",
79
+ "@types/node": "^22.8.1",
80
80
  "esbuild": "^0.21.5",
81
- "eslint": "^9.12.0",
82
- "eslint-plugin-svelte": "^2.44.1",
83
- "svelte": "^5.0.0-next.264",
84
- "svelte-check": "^4.0.4",
81
+ "eslint": "^9.13.0",
82
+ "eslint-plugin-svelte": "^2.46.0",
83
+ "svelte": "^5.1.3",
84
+ "svelte-check": "^4.0.5",
85
85
  "typescript": "^5.6.3",
86
- "typescript-eslint": "^8.8.1",
86
+ "typescript-eslint": "^8.11.0",
87
87
  "uvu": "^0.5.6"
88
88
  },
89
89
  "prettier": {
@@ -158,6 +158,10 @@
158
158
  "types": "./dist/commit.task.d.ts",
159
159
  "default": "./dist/commit.task.js"
160
160
  },
161
+ "./constants.js": {
162
+ "types": "./dist/constants.d.ts",
163
+ "default": "./dist/constants.js"
164
+ },
161
165
  "./deploy.task.js": {
162
166
  "types": "./dist/deploy.task.d.ts",
163
167
  "default": "./dist/deploy.task.js"
@@ -322,10 +326,6 @@
322
326
  "types": "./dist/parse_imports.d.ts",
323
327
  "default": "./dist/parse_imports.js"
324
328
  },
325
- "./path_constants.js": {
326
- "types": "./dist/path_constants.d.ts",
327
- "default": "./dist/path_constants.js"
328
- },
329
329
  "./path.js": {
330
330
  "types": "./dist/path.d.ts",
331
331
  "default": "./dist/path.js"
@@ -10,7 +10,7 @@ export const Args = z
10
10
  'no-sync': z.boolean({description: 'opt out of gro sync'}).default(false),
11
11
  install: z.boolean({description: 'dual of no-install'}).default(true),
12
12
  'no-install': z // convenience, same as `gro build -- gro sync --no-install` but the latter takes precedence
13
- .boolean({description: 'opt out of `npm install` before building'})
13
+ .boolean({description: 'opt out of installing packages before building'})
14
14
  .default(false),
15
15
  })
16
16
  .strict();
@@ -37,7 +37,7 @@ export const Args = z
37
37
  .default('@changesets/changelog-git'),
38
38
  dep: z.boolean({description: 'dual of no-dep'}).default(true),
39
39
  'no-dep': z
40
- .boolean({description: 'opt out of npm installing the changelog package'})
40
+ .boolean({description: 'opt out of installing the changelog package'})
41
41
  .default(false),
42
42
  origin: Git_Origin.describe('git origin to deploy to').default('origin'),
43
43
  changeset_cli: z.string({description: 'the changeset CLI to use'}).default(CHANGESET_CLI),
@@ -63,6 +63,7 @@ export const task: Task<Args> = {
63
63
  args: {_, minor, major, dir, access: access_arg, changelog, dep, origin, changeset_cli},
64
64
  log,
65
65
  sveltekit_config,
66
+ config,
66
67
  } = ctx;
67
68
 
68
69
  const message = _.join(' ');
@@ -114,12 +115,12 @@ export const task: Task<Args> = {
114
115
  await spawn('git', ['add', dir]);
115
116
 
116
117
  if (dep) {
117
- await spawn('npm', ['i', '-D', changelog]);
118
+ await spawn(config.pm_cli, ['install', '-D', changelog]);
118
119
  }
119
120
  }
120
121
 
121
122
  // TODO small problem here where generated files don't get committed
122
- await invoke_task('sync', {install: inited || !dep}); // after the `npm i` above, and in all cases
123
+ await invoke_task('sync', {install: inited || !dep}); // after installing above, and in all cases
123
124
 
124
125
  if (message) {
125
126
  // TODO see the helper below, simplify this to CLI flags when support is added to Changesets
@@ -23,7 +23,9 @@ export const Args = z
23
23
  sync: z.boolean({description: 'dual of no-sync'}).default(true),
24
24
  'no-sync': z.boolean({description: 'opt out of syncing'}).default(false),
25
25
  install: z.boolean({description: 'dual of no-install'}).default(true),
26
- 'no-install': z.boolean({description: 'opt out of `npm install` when syncing'}).default(false), // convenience, same as `gro check -- gro sync --no-install` but the latter takes precedence
26
+ 'no-install': z
27
+ .boolean({description: 'opt out of installing packages when syncing'})
28
+ .default(false), // convenience, same as `gro check -- gro sync --no-install` but the latter takes precedence
27
29
  workspace: z
28
30
  .boolean({description: 'ensure a clean git workspace, useful for CI, also implies --no-sync'})
29
31
  .default(false),
@@ -38,7 +40,7 @@ export const task: Task<Args> = {
38
40
  const {typecheck, test, gen, format, package_json, lint, sync, install, workspace} = args;
39
41
 
40
42
  // When checking the workspace, which was added for CI, never sync.
41
- // Setup like `npm i` and `sveltekit-sync` should be done in the CI setup.
43
+ // Setup like installing packages and `sveltekit-sync` should be done in the CI setup.
42
44
  if (sync && !workspace) {
43
45
  await invoke_task('sync', {install, gen: false}); // never generate because `gro gen --check` runs below
44
46
  }
@@ -9,7 +9,7 @@ import {
9
9
  SVELTEKIT_BUILD_DIRNAME,
10
10
  SVELTEKIT_VITE_CACHE_PATH,
11
11
  SVELTEKIT_DIST_DIRNAME,
12
- } from './path_constants.js';
12
+ } from './constants.js';
13
13
 
14
14
  export const clean_fs = async (
15
15
  {
package/src/lib/cli.ts CHANGED
@@ -10,7 +10,7 @@ import {existsSync} from 'node:fs';
10
10
  import {fileURLToPath, type URL} from 'node:url';
11
11
  import type {Logger} from '@ryanatkn/belt/log.js';
12
12
 
13
- import {NODE_MODULES_DIRNAME} from './path_constants.js';
13
+ import {NODE_MODULES_DIRNAME} from './constants.js';
14
14
  import type {Path_Id} from './path.js';
15
15
  import {print_command_args} from './args.js';
16
16
 
@@ -33,3 +33,7 @@ export const TS_MATCHER = /\.(ts|tsx|mts|cts)$/;
33
33
  export const JS_MATCHER = /\.(js|jsx|mjs|cjs)$/;
34
34
  export const JSON_MATCHER = /\.json$/;
35
35
  export const EVERYTHING_MATCHER = /.*/;
36
+
37
+ export const JS_CLI_DEFAULT = 'node';
38
+ export const PM_CLI_DEFAULT = 'npm';
39
+ export const PRETTIER_CLI_DEFAULT = 'prettier';
@@ -8,7 +8,7 @@ import {existsSync, readdirSync} from 'node:fs';
8
8
 
9
9
  import {Task_Error, type Task} from './task.js';
10
10
  import {print_path} from './paths.js';
11
- import {GRO_DIRNAME, GIT_DIRNAME, SVELTEKIT_BUILD_DIRNAME} from './path_constants.js';
11
+ import {GRO_DIRNAME, GIT_DIRNAME, SVELTEKIT_BUILD_DIRNAME} from './constants.js';
12
12
  import {empty_dir} from './fs.js';
13
13
  import {
14
14
  git_check_clean_workspace,
@@ -17,7 +17,7 @@ export const Args = z
17
17
  'no-sync': z.boolean({description: 'opt out of gro sync'}).default(false),
18
18
  install: z.boolean({description: 'dual of no-install'}).default(true),
19
19
  'no-install': z // convenience, same as `gro dev -- gro sync --no-install` but the latter takes precedence
20
- .boolean({description: 'opt out of `npm install` before starting the dev server'})
20
+ .boolean({description: 'opt out of installing packages before starting the dev server'})
21
21
  .default(false),
22
22
  })
23
23
  .strict();
@@ -17,7 +17,7 @@ import {
17
17
  to_default_compile_module_options,
18
18
  type Parsed_Sveltekit_Config,
19
19
  } from './sveltekit_config.js';
20
- import {TS_MATCHER} from './path_constants.js';
20
+ import {TS_MATCHER} from './constants.js';
21
21
 
22
22
  export interface Options {
23
23
  dev: boolean;
@@ -3,7 +3,7 @@ import {readFile} from 'node:fs/promises';
3
3
  import {dirname} from 'node:path';
4
4
 
5
5
  import {resolve_specifier} from './resolve_specifier.js';
6
- import {EVERYTHING_MATCHER} from './path_constants.js';
6
+ import {EVERYTHING_MATCHER} from './constants.js';
7
7
 
8
8
  /**
9
9
  * Adds support for imports to both `.ts` and `.js`,
@@ -6,7 +6,7 @@ import {
6
6
  sveltekit_shim_app_specifiers,
7
7
  } from './sveltekit_shim_app.js';
8
8
  import type {Parsed_Sveltekit_Config} from './sveltekit_config.js';
9
- import {EVERYTHING_MATCHER} from './path_constants.js';
9
+ import {EVERYTHING_MATCHER} from './constants.js';
10
10
 
11
11
  export interface Options {
12
12
  dev: boolean;
@@ -1,7 +1,7 @@
1
1
  import type * as esbuild from 'esbuild';
2
2
 
3
3
  import {render_env_shim_module} from './sveltekit_shim_env.js';
4
- import {EVERYTHING_MATCHER} from './path_constants.js';
4
+ import {EVERYTHING_MATCHER} from './constants.js';
5
5
  import {SVELTEKIT_ENV_MATCHER} from './sveltekit_helpers.js';
6
6
 
7
7
  export interface Options {