@ryanatkn/gro 0.133.7 → 0.134.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.
package/dist/cli.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type SpawnOptions } from 'node:child_process';
2
2
  import { type Spawn_Result, type Spawned_Process } from '@ryanatkn/belt/process.js';
3
+ import { type URL } from 'node:url';
3
4
  import type { Path_Id } from './path.js';
4
5
  export type Cli = {
5
6
  kind: 'local';
@@ -14,19 +15,19 @@ export type Cli = {
14
15
  * Searches the filesystem for the CLI `name`, first local to the cwd and then globally.
15
16
  * @returns `null` if not found locally or globally
16
17
  */
17
- export declare const find_cli: (name: string, cwd?: string | URL, options?: SpawnOptions | undefined) => Cli | null;
18
+ export declare const find_cli: (name: string, cwd?: string | URL, options?: SpawnOptions) => Cli | null;
18
19
  /**
19
20
  * Spawns a CLI if available using Belt's `spawn`.
20
21
  * If a string is provided for `name_or_cli`, it checks first local to the cwd and then globally.
21
22
  * @returns `undefined` if no CLI is found, or the spawn result
22
23
  */
23
- export declare const spawn_cli: (name_or_cli: string | Cli, args?: string[], log?: any, options?: SpawnOptions | undefined) => Promise<Spawn_Result | undefined>;
24
+ export declare const spawn_cli: (name_or_cli: string | Cli, args?: string[], log?: any, options?: SpawnOptions) => Promise<Spawn_Result | undefined>;
24
25
  /**
25
26
  * Spawns a CLI if available using Belt's `spawn_process`.
26
27
  * If a string is provided for `name_or_cli`, it checks first local to the cwd and then globally.
27
28
  * @returns `undefined` if no CLI is found, or the spawn result
28
29
  */
29
- export declare const spawn_cli_process: (name_or_cli: string | Cli, args?: string[], log?: any, options?: SpawnOptions | undefined) => Spawned_Process | undefined;
30
- export declare const resolve_cli: (name_or_cli: string | Cli, args: string[] | undefined, cwd: string | URL | undefined, log?: any, options?: SpawnOptions | undefined) => Cli | undefined;
30
+ export declare const spawn_cli_process: (name_or_cli: string | Cli, args?: string[], log?: any, options?: SpawnOptions) => Spawned_Process | undefined;
31
+ export declare const resolve_cli: (name_or_cli: string | Cli, args: string[] | undefined, cwd: string | URL | undefined, log?: any, options?: SpawnOptions) => Cli | undefined;
31
32
  export declare const to_cli_name: (cli: string | Cli) => string;
32
33
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"../src/lib/","sources":["cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAGN,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAKvC,MAAM,MAAM,GAAG,GACZ;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAC,GAC1C;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAC,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,QAAQ,SACd,MAAM,QACP,MAAM,GAAG,GAAG,YACP,YAAY,GAAG,SAAS,KAChC,GAAG,GAAG,IAUR,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,gBACR,MAAM,GAAG,GAAG,SACnB,MAAM,EAAE,uBAEJ,YAAY,GAAG,SAAS,KAChC,OAAO,CAAC,YAAY,GAAG,SAAS,CAIlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,gBAChB,MAAM,GAAG,GAAG,SACnB,MAAM,EAAE,uBAEJ,YAAY,GAAG,SAAS,KAChC,eAAe,GAAG,SAIpB,CAAC;AAEF,eAAO,MAAM,WAAW,gBACV,MAAM,GAAG,GAAG,QACnB,MAAM,EAAE,mBACT,MAAM,GAAG,GAAG,GAAG,SAAS,uBAEnB,YAAY,GAAG,SAAS,KAChC,GAAG,GAAG,SAaR,CAAC;AAEF,eAAO,MAAM,WAAW,QAAS,MAAM,GAAG,GAAG,KAAG,MACP,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"../src/lib/","sources":["cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAGN,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAgB,KAAK,GAAG,EAAC,MAAM,UAAU,CAAC;AAIjD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAKvC,MAAM,MAAM,GAAG,GACZ;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAC,GAC1C;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAC,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,QAAQ,SACd,MAAM,QACP,MAAM,GAAG,GAAG,YACP,YAAY,KACpB,GAAG,GAAG,IAUR,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,gBACR,MAAM,GAAG,GAAG,SACnB,MAAM,EAAE,uBAEJ,YAAY,KACpB,OAAO,CAAC,YAAY,GAAG,SAAS,CAIlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,gBAChB,MAAM,GAAG,GAAG,SACnB,MAAM,EAAE,uBAEJ,YAAY,KACpB,eAAe,GAAG,SAIpB,CAAC;AAEF,eAAO,MAAM,WAAW,gBACV,MAAM,GAAG,GAAG,QACnB,MAAM,EAAE,mBACT,MAAM,GAAG,GAAG,GAAG,SAAS,uBAEnB,YAAY,KACpB,GAAG,GAAG,SAaR,CAAC;AAEF,eAAO,MAAM,WAAW,QAAS,MAAM,GAAG,GAAG,KAAG,MACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gro_plugin_server.d.ts","sourceRoot":"../src/lib/","sources":["gro_plugin_server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAC,MAAM,IAAI,eAAe,EAAC,MAAM,eAAe,CAAC;AAI7D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAiBxC,eAAO,MAAM,gBAAgB,6BAA0D,CAAC;AAExF,eAAO,MAAM,UAAU,0CAA8B,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAKpF,CAAC;AAEF,MAAM,WAAW,OAAO;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;OAEG;IACH,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC;IACrF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC;AAEzD,eAAO,MAAM,iBAAiB,yJAgB3B,OAAO,KAAQ,MAgJjB,CAAC"}
1
+ {"version":3,"file":"gro_plugin_server.d.ts","sourceRoot":"../src/lib/","sources":["gro_plugin_server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAC,MAAM,IAAI,eAAe,EAAC,MAAM,eAAe,CAAC;AAI7D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAiBxC,eAAO,MAAM,gBAAgB,6BAA0D,CAAC;AAExF,eAAO,MAAM,UAAU,0CAA8B,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAKpF,CAAC;AAEF,MAAM,WAAW,OAAO;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;OAEG;IACH,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC;IACrF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC;AAEzD,eAAO,MAAM,iBAAiB,yJAgB3B,OAAO,KAAQ,MAqJjB,CAAC"}
@@ -136,7 +136,12 @@ export const gro_plugin_server = ({ entry_points = [SERVER_SOURCE_ID], dir = pro
136
136
  throw Error(`Node server failed to start due to missing file: ${server_outpath}`);
137
137
  }
138
138
  if (run || dev) {
139
- server_process = spawn_restartable_process(cli_command, [server_outpath]);
139
+ const cli_args = [];
140
+ if (dev) {
141
+ cli_args.push('-C', 'development'); // same as `--conditions`
142
+ }
143
+ cli_args.push(server_outpath);
144
+ server_process = spawn_restartable_process(cli_command, cli_args);
140
145
  }
141
146
  },
142
147
  teardown: async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"../src/lib/","sources":["package.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqQD,CAAC;AAEzB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAquBD,CAAC"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"../src/lib/","sources":["package.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqQD,CAAC;AAEzB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsuBD,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.7',
4
+ version: '0.134.0',
5
5
  description: 'task runner and toolkit extending SvelteKit',
6
6
  motto: 'generate, run, optimize',
7
7
  glyph: '🌰',
@@ -40,7 +40,7 @@ export const package_json = {
40
40
  ],
41
41
  dependencies: {
42
42
  '@ryanatkn/belt': '^0.24.12',
43
- chokidar: '^3.6.0',
43
+ chokidar: '^4.0.0',
44
44
  dotenv: '^16.4.5',
45
45
  'es-module-lexer': '^1.5.4',
46
46
  'esm-env': '^1.0.0',
@@ -48,29 +48,29 @@ export const package_json = {
48
48
  prettier: '^3.3.3',
49
49
  'prettier-plugin-svelte': '^3.2.6',
50
50
  'ts-morph': '^23.0.0',
51
- tslib: '^2.6.3',
51
+ tslib: '^2.7.0',
52
52
  zod: '^3.23.8',
53
53
  },
54
54
  peerDependencies: { esbuild: '^0.21.0', svelte: '^5.0.0-next.0' },
55
55
  devDependencies: {
56
56
  '@changesets/changelog-git': '^0.2.0',
57
57
  '@changesets/types': '^6.0.0',
58
- '@ryanatkn/eslint-config': '^0.5.1',
59
- '@ryanatkn/fuz': '^0.120.3',
60
- '@ryanatkn/moss': '^0.13.3',
58
+ '@ryanatkn/eslint-config': '^0.5.3',
59
+ '@ryanatkn/fuz': '^0.121.0',
60
+ '@ryanatkn/moss': '^0.15.0',
61
61
  '@sveltejs/adapter-static': '^3.0.4',
62
- '@sveltejs/kit': '^2.5.22',
62
+ '@sveltejs/kit': '^2.5.26',
63
63
  '@sveltejs/package': '^2.3.4',
64
- '@sveltejs/vite-plugin-svelte': '^3.1.1',
64
+ '@sveltejs/vite-plugin-svelte': '^3.1.2',
65
65
  '@types/fs-extra': '^11.0.4',
66
- '@types/node': '^22.3.0',
66
+ '@types/node': '^22.5.4',
67
67
  esbuild: '^0.21.5',
68
- eslint: '^9.9.0',
68
+ eslint: '^9.10.0',
69
69
  'eslint-plugin-svelte': '^2.43.0',
70
- svelte: '^5.0.0-next.221',
71
- 'svelte-check': '^3.8.5',
72
- typescript: '^5.5.4',
73
- 'typescript-eslint': '^8.1.0',
70
+ svelte: '^5.0.0-next.245',
71
+ 'svelte-check': '^4.0.2',
72
+ typescript: '^5.6.2',
73
+ 'typescript-eslint': '^8.5.0',
74
74
  uvu: '^0.5.6',
75
75
  },
76
76
  prettier: {
@@ -262,7 +262,7 @@ export const package_json = {
262
262
  };
263
263
  export const src_json = {
264
264
  name: '@ryanatkn/gro',
265
- version: '0.133.7',
265
+ version: '0.134.0',
266
266
  modules: {
267
267
  '.': {
268
268
  path: 'index.ts',
@@ -861,6 +861,7 @@ export const src_json = {
861
861
  { name: 'has_sveltekit_app', kind: 'function' },
862
862
  { name: 'has_sveltekit_library', kind: 'function' },
863
863
  { name: 'sveltekit_sync', kind: 'function' },
864
+ { name: 'sveltekit_sync_if_available', kind: 'function' },
864
865
  { name: 'sveltekit_sync_if_obviously_needed', kind: 'function' },
865
866
  { name: 'Svelte_Package_Options', kind: 'type' },
866
867
  ],
package/dist/path.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type URL } from 'node:url';
1
2
  import type { Flavored } from '@ryanatkn/belt/types.js';
2
3
  /**
3
4
  * An absolute path on the filesystem. Named "id" to be consistent with Rollup.
@@ -1 +1 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"../src/lib/","sources":["path.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAElD,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC/C,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC;AAE3E,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AAEpD,eAAO,MAAM,YAAY,gBAAiB,MAAM,GAAG,GAAG,KAAG,MACuB,CAAC"}
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"../src/lib/","sources":["path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,GAAG,EAAC,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAElD,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC/C,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC;AAE3E,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AAEpD,eAAO,MAAM,YAAY,gBAAiB,MAAM,GAAG,GAAG,KAAG,MACuB,CAAC"}
@@ -15,6 +15,10 @@ export declare const has_sveltekit_library: (package_json?: Package_Json, svelte
15
15
  message: string;
16
16
  }>;
17
17
  export declare const sveltekit_sync: (sveltekit_cli?: string | Cli) => Promise<void>;
18
+ /**
19
+ * If the SvelteKit CLI is found and its `.svelte-kit` directory is not, run `svelte-kit sync`.
20
+ */
21
+ export declare const sveltekit_sync_if_available: (sveltekit_cli?: string | Cli) => Promise<void>;
18
22
  /**
19
23
  * If the SvelteKit CLI is found and its `.svelte-kit` directory is not, run `svelte-kit sync`.
20
24
  */
@@ -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;AAGrD,OAAO,EAAC,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAA2B,KAAK,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE7F,OAAO,EAAmC,KAAK,GAAG,EAAC,MAAM,UAAU,CAAC;AAGpE,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,KACvC,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAqBlC,CAAC;AAEF,eAAO,MAAM,cAAc,mBACX,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CASd,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"}
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;AAGrD,OAAO,EAAC,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAA2B,KAAK,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE7F,OAAO,EAAmC,KAAK,GAAG,EAAC,MAAM,UAAU,CAAC;AAGpE,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,KACvC,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAqBlC,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"}
@@ -43,6 +43,16 @@ export const sveltekit_sync = async (sveltekit_cli = SVELTEKIT_CLI) => {
43
43
  throw new Task_Error(`Failed ${to_cli_name(sveltekit_cli)} sync`);
44
44
  }
45
45
  };
46
+ // TODO maybe this shouldn't exist, instead error if `package.json` has SvelteKit but it's not found (with install message above)
47
+ /**
48
+ * If the SvelteKit CLI is found and its `.svelte-kit` directory is not, run `svelte-kit sync`.
49
+ */
50
+ export const sveltekit_sync_if_available = async (sveltekit_cli = SVELTEKIT_CLI) => {
51
+ const found_sveltekit_cli = typeof sveltekit_cli === 'string' ? find_cli(sveltekit_cli) : sveltekit_cli;
52
+ if (found_sveltekit_cli) {
53
+ return sveltekit_sync(found_sveltekit_cli);
54
+ }
55
+ };
46
56
  /**
47
57
  * If the SvelteKit CLI is found and its `.svelte-kit` directory is not, run `svelte-kit sync`.
48
58
  */
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  import { Task_Error } from './task.js';
4
4
  import { serialize_args, to_forwarded_args } from './args.js';
5
5
  import { find_cli, spawn_cli } from './cli.js';
6
- import { SVELTE_CHECK_CLI, sveltekit_sync } from './sveltekit_helpers.js';
6
+ import { SVELTE_CHECK_CLI, sveltekit_sync_if_available } from './sveltekit_helpers.js';
7
7
  export const Args = z
8
8
  .object({
9
9
  svelte_check_cli: z
@@ -19,7 +19,7 @@ export const task = {
19
19
  Args,
20
20
  run: async ({ args, log }) => {
21
21
  const { svelte_check_cli, typescript_cli } = args;
22
- await sveltekit_sync();
22
+ await sveltekit_sync_if_available();
23
23
  // Prefer svelte-check if available.
24
24
  const found_svelte_check_cli = find_cli(svelte_check_cli);
25
25
  if (found_svelte_check_cli) {
@@ -1,4 +1,4 @@
1
- import { type WatchOptions } from 'chokidar';
1
+ import { type ChokidarOptions } from 'chokidar';
2
2
  import type { Path_Filter } from './path.js';
3
3
  export interface Watch_Node_Fs {
4
4
  init: () => Promise<void>;
@@ -15,7 +15,7 @@ export interface Options {
15
15
  dir: string;
16
16
  on_change: Watcher_Change_Callback;
17
17
  filter?: Path_Filter | null | undefined;
18
- chokidar?: WatchOptions;
18
+ chokidar?: ChokidarOptions;
19
19
  /**
20
20
  * When `false`, returns the `path` relative to `dir`.
21
21
  * @default true
@@ -25,5 +25,5 @@ export interface Options {
25
25
  /**
26
26
  * Watch for changes on the filesystem using chokidar.
27
27
  */
28
- export declare const watch_dir: ({ dir, on_change, filter, absolute, chokidar: chokidar_options, }: Options) => Watch_Node_Fs;
28
+ export declare const watch_dir: ({ dir, on_change, filter, absolute, chokidar, }: Options) => Watch_Node_Fs;
29
29
  //# sourceMappingURL=watch_dir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch_dir.d.ts","sourceRoot":"../src/lib/","sources":["watch_dir.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAC,KAAK,YAAY,EAAC,MAAM,UAAU,CAAC;AAGrD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAK3C,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,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACjE,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,YAAY,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,sEAMnB,OAAO,KAAG,aA6CZ,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;AAGrE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAK3C,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,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACjE,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,14 +1,14 @@
1
- import chokidar, {} from 'chokidar';
1
+ import { watch } from 'chokidar';
2
2
  import { relative } from 'node:path';
3
3
  import { statSync } from 'node:fs';
4
4
  /**
5
5
  * Watch for changes on the filesystem using chokidar.
6
6
  */
7
- export const watch_dir = ({ dir, on_change, filter, absolute = true, chokidar: chokidar_options, }) => {
7
+ export const watch_dir = ({ dir, on_change, filter, absolute = true, chokidar = {}, }) => {
8
8
  let watcher;
9
9
  return {
10
10
  init: async () => {
11
- watcher = chokidar.watch(dir, chokidar_options);
11
+ watcher = watch(dir, chokidar);
12
12
  watcher.on('add', (path, s) => {
13
13
  const stats = s ?? statSync(path);
14
14
  const final_path = absolute ? path : relative(dir, path);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryanatkn/gro",
3
- "version": "0.133.7",
3
+ "version": "0.134.0",
4
4
  "description": "task runner and toolkit extending SvelteKit",
5
5
  "motto": "generate, run, optimize",
6
6
  "glyph": "🌰",
@@ -50,7 +50,7 @@
50
50
  ],
51
51
  "dependencies": {
52
52
  "@ryanatkn/belt": "^0.24.12",
53
- "chokidar": "^3.6.0",
53
+ "chokidar": "^4.0.0",
54
54
  "dotenv": "^16.4.5",
55
55
  "es-module-lexer": "^1.5.4",
56
56
  "esm-env": "^1.0.0",
@@ -58,7 +58,7 @@
58
58
  "prettier": "^3.3.3",
59
59
  "prettier-plugin-svelte": "^3.2.6",
60
60
  "ts-morph": "^23.0.0",
61
- "tslib": "^2.6.3",
61
+ "tslib": "^2.7.0",
62
62
  "zod": "^3.23.8"
63
63
  },
64
64
  "peerDependencies": {
@@ -68,22 +68,22 @@
68
68
  "devDependencies": {
69
69
  "@changesets/changelog-git": "^0.2.0",
70
70
  "@changesets/types": "^6.0.0",
71
- "@ryanatkn/eslint-config": "^0.5.1",
72
- "@ryanatkn/fuz": "^0.120.3",
73
- "@ryanatkn/moss": "^0.13.3",
71
+ "@ryanatkn/eslint-config": "^0.5.3",
72
+ "@ryanatkn/fuz": "^0.121.0",
73
+ "@ryanatkn/moss": "^0.15.0",
74
74
  "@sveltejs/adapter-static": "^3.0.4",
75
- "@sveltejs/kit": "^2.5.22",
75
+ "@sveltejs/kit": "^2.5.26",
76
76
  "@sveltejs/package": "^2.3.4",
77
- "@sveltejs/vite-plugin-svelte": "^3.1.1",
77
+ "@sveltejs/vite-plugin-svelte": "^3.1.2",
78
78
  "@types/fs-extra": "^11.0.4",
79
- "@types/node": "^22.3.0",
79
+ "@types/node": "^22.5.4",
80
80
  "esbuild": "^0.21.5",
81
- "eslint": "^9.9.0",
81
+ "eslint": "^9.10.0",
82
82
  "eslint-plugin-svelte": "^2.43.0",
83
- "svelte": "^5.0.0-next.221",
84
- "svelte-check": "^3.8.5",
85
- "typescript": "^5.5.4",
86
- "typescript-eslint": "^8.1.0",
83
+ "svelte": "^5.0.0-next.245",
84
+ "svelte-check": "^4.0.2",
85
+ "typescript": "^5.6.2",
86
+ "typescript-eslint": "^8.5.0",
87
87
  "uvu": "^0.5.6"
88
88
  },
89
89
  "prettier": {
package/src/lib/cli.ts CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  } from '@ryanatkn/belt/process.js';
8
8
  import {join} from 'node:path';
9
9
  import {existsSync} from 'node:fs';
10
- import {fileURLToPath} from 'node:url';
10
+ import {fileURLToPath, type URL} from 'node:url';
11
11
  import type {Logger} from '@ryanatkn/belt/log.js';
12
12
 
13
13
  import {NODE_MODULES_DIRNAME} from './path_constants.js';
@@ -27,7 +27,7 @@ export type Cli =
27
27
  export const find_cli = (
28
28
  name: string,
29
29
  cwd: string | URL = process.cwd(),
30
- options?: SpawnOptions | undefined,
30
+ options?: SpawnOptions,
31
31
  ): Cli | null => {
32
32
  const final_cwd = typeof cwd === 'string' ? cwd : fileURLToPath(cwd);
33
33
  const local_id = join(final_cwd, NODE_MODULES_DIRNAME, `.bin/${name}`);
@@ -49,7 +49,7 @@ export const spawn_cli = async (
49
49
  name_or_cli: string | Cli,
50
50
  args: string[] = [],
51
51
  log?: Logger,
52
- options?: SpawnOptions | undefined,
52
+ options?: SpawnOptions,
53
53
  ): Promise<Spawn_Result | undefined> => {
54
54
  const cli = resolve_cli(name_or_cli, args, options?.cwd, log, options);
55
55
  if (!cli) return;
@@ -65,7 +65,7 @@ export const spawn_cli_process = (
65
65
  name_or_cli: string | Cli,
66
66
  args: string[] = [],
67
67
  log?: Logger,
68
- options?: SpawnOptions | undefined,
68
+ options?: SpawnOptions,
69
69
  ): Spawned_Process | undefined => {
70
70
  const cli = resolve_cli(name_or_cli, args, options?.cwd, log, options);
71
71
  if (!cli) return;
@@ -77,7 +77,7 @@ export const resolve_cli = (
77
77
  args: string[] = [],
78
78
  cwd: string | URL | undefined,
79
79
  log?: Logger,
80
- options?: SpawnOptions | undefined,
80
+ options?: SpawnOptions,
81
81
  ): Cli | undefined => {
82
82
  let final_cli;
83
83
  if (typeof name_or_cli === 'string') {
@@ -248,7 +248,12 @@ export const gro_plugin_server = ({
248
248
  }
249
249
 
250
250
  if (run || dev) {
251
- server_process = spawn_restartable_process(cli_command, [server_outpath]);
251
+ const cli_args = [];
252
+ if (dev) {
253
+ cli_args.push('-C', 'development'); // same as `--conditions`
254
+ }
255
+ cli_args.push(server_outpath);
256
+ server_process = spawn_restartable_process(cli_command, cli_args);
252
257
  }
253
258
  },
254
259
  teardown: async () => {
@@ -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.7',
8
+ version: '0.134.0',
9
9
  description: 'task runner and toolkit extending SvelteKit',
10
10
  motto: 'generate, run, optimize',
11
11
  glyph: '🌰',
@@ -45,7 +45,7 @@ export const package_json = {
45
45
  ],
46
46
  dependencies: {
47
47
  '@ryanatkn/belt': '^0.24.12',
48
- chokidar: '^3.6.0',
48
+ chokidar: '^4.0.0',
49
49
  dotenv: '^16.4.5',
50
50
  'es-module-lexer': '^1.5.4',
51
51
  'esm-env': '^1.0.0',
@@ -53,29 +53,29 @@ export const package_json = {
53
53
  prettier: '^3.3.3',
54
54
  'prettier-plugin-svelte': '^3.2.6',
55
55
  'ts-morph': '^23.0.0',
56
- tslib: '^2.6.3',
56
+ tslib: '^2.7.0',
57
57
  zod: '^3.23.8',
58
58
  },
59
59
  peerDependencies: {esbuild: '^0.21.0', svelte: '^5.0.0-next.0'},
60
60
  devDependencies: {
61
61
  '@changesets/changelog-git': '^0.2.0',
62
62
  '@changesets/types': '^6.0.0',
63
- '@ryanatkn/eslint-config': '^0.5.1',
64
- '@ryanatkn/fuz': '^0.120.3',
65
- '@ryanatkn/moss': '^0.13.3',
63
+ '@ryanatkn/eslint-config': '^0.5.3',
64
+ '@ryanatkn/fuz': '^0.121.0',
65
+ '@ryanatkn/moss': '^0.15.0',
66
66
  '@sveltejs/adapter-static': '^3.0.4',
67
- '@sveltejs/kit': '^2.5.22',
67
+ '@sveltejs/kit': '^2.5.26',
68
68
  '@sveltejs/package': '^2.3.4',
69
- '@sveltejs/vite-plugin-svelte': '^3.1.1',
69
+ '@sveltejs/vite-plugin-svelte': '^3.1.2',
70
70
  '@types/fs-extra': '^11.0.4',
71
- '@types/node': '^22.3.0',
71
+ '@types/node': '^22.5.4',
72
72
  esbuild: '^0.21.5',
73
- eslint: '^9.9.0',
73
+ eslint: '^9.10.0',
74
74
  'eslint-plugin-svelte': '^2.43.0',
75
- svelte: '^5.0.0-next.221',
76
- 'svelte-check': '^3.8.5',
77
- typescript: '^5.5.4',
78
- 'typescript-eslint': '^8.1.0',
75
+ svelte: '^5.0.0-next.245',
76
+ 'svelte-check': '^4.0.2',
77
+ typescript: '^5.6.2',
78
+ 'typescript-eslint': '^8.5.0',
79
79
  uvu: '^0.5.6',
80
80
  },
81
81
  prettier: {
@@ -268,7 +268,7 @@ export const package_json = {
268
268
 
269
269
  export const src_json = {
270
270
  name: '@ryanatkn/gro',
271
- version: '0.133.7',
271
+ version: '0.134.0',
272
272
  modules: {
273
273
  '.': {
274
274
  path: 'index.ts',
@@ -867,6 +867,7 @@ export const src_json = {
867
867
  {name: 'has_sveltekit_app', kind: 'function'},
868
868
  {name: 'has_sveltekit_library', kind: 'function'},
869
869
  {name: 'sveltekit_sync', kind: 'function'},
870
+ {name: 'sveltekit_sync_if_available', kind: 'function'},
870
871
  {name: 'sveltekit_sync_if_obviously_needed', kind: 'function'},
871
872
  {name: 'Svelte_Package_Options', kind: 'type'},
872
873
  ],
package/src/lib/path.ts CHANGED
@@ -1,4 +1,4 @@
1
- import {fileURLToPath} from 'node:url';
1
+ import {fileURLToPath, type URL} from 'node:url';
2
2
  import type {Flavored} from '@ryanatkn/belt/types.js';
3
3
 
4
4
  /**
@@ -65,6 +65,20 @@ export const sveltekit_sync = async (
65
65
  }
66
66
  };
67
67
 
68
+ // TODO maybe this shouldn't exist, instead error if `package.json` has SvelteKit but it's not found (with install message above)
69
+ /**
70
+ * If the SvelteKit CLI is found and its `.svelte-kit` directory is not, run `svelte-kit sync`.
71
+ */
72
+ export const sveltekit_sync_if_available = async (
73
+ sveltekit_cli: string | Cli = SVELTEKIT_CLI,
74
+ ): Promise<void> => {
75
+ const found_sveltekit_cli =
76
+ typeof sveltekit_cli === 'string' ? find_cli(sveltekit_cli) : sveltekit_cli;
77
+ if (found_sveltekit_cli) {
78
+ return sveltekit_sync(found_sveltekit_cli);
79
+ }
80
+ };
81
+
68
82
  /**
69
83
  * If the SvelteKit CLI is found and its `.svelte-kit` directory is not, run `svelte-kit sync`.
70
84
  */
@@ -4,7 +4,7 @@ import {z} from 'zod';
4
4
  import {Task_Error, type Task} from './task.js';
5
5
  import {serialize_args, to_forwarded_args} from './args.js';
6
6
  import {find_cli, spawn_cli} from './cli.js';
7
- import {SVELTE_CHECK_CLI, sveltekit_sync} from './sveltekit_helpers.js';
7
+ import {SVELTE_CHECK_CLI, sveltekit_sync_if_available} from './sveltekit_helpers.js';
8
8
 
9
9
  export const Args = z
10
10
  .object({
@@ -24,7 +24,7 @@ export const task: Task<Args> = {
24
24
  run: async ({args, log}): Promise<void> => {
25
25
  const {svelte_check_cli, typescript_cli} = args;
26
26
 
27
- await sveltekit_sync();
27
+ await sveltekit_sync_if_available();
28
28
 
29
29
  // Prefer svelte-check if available.
30
30
  const found_svelte_check_cli = find_cli(svelte_check_cli);
@@ -1,4 +1,4 @@
1
- import chokidar, {type WatchOptions} from 'chokidar';
1
+ import {watch, type ChokidarOptions, type FSWatcher} from 'chokidar';
2
2
  import {relative} from 'node:path';
3
3
 
4
4
  import type {Path_Filter} from './path.js';
@@ -23,7 +23,7 @@ export interface Options {
23
23
  dir: string;
24
24
  on_change: Watcher_Change_Callback;
25
25
  filter?: Path_Filter | null | undefined;
26
- chokidar?: WatchOptions;
26
+ chokidar?: ChokidarOptions;
27
27
  /**
28
28
  * When `false`, returns the `path` relative to `dir`.
29
29
  * @default true
@@ -39,13 +39,13 @@ export const watch_dir = ({
39
39
  on_change,
40
40
  filter,
41
41
  absolute = true,
42
- chokidar: chokidar_options,
42
+ chokidar = {},
43
43
  }: Options): Watch_Node_Fs => {
44
- let watcher: chokidar.FSWatcher | undefined;
44
+ let watcher: FSWatcher | undefined;
45
45
 
46
46
  return {
47
47
  init: async () => {
48
- watcher = chokidar.watch(dir, chokidar_options);
48
+ watcher = watch(dir, chokidar);
49
49
  watcher.on('add', (path, s) => {
50
50
  const stats = s ?? statSync(path);
51
51
  const final_path = absolute ? path : relative(dir, path);