@ryanatkn/gro 0.162.2 → 0.164.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.
@@ -5,7 +5,7 @@ import type {Src_Json} from '@ryanatkn/belt/src_json.js';
5
5
 
6
6
  export const package_json: Package_Json = {
7
7
  name: '@ryanatkn/gro',
8
- version: '0.162.2',
8
+ version: '0.164.0',
9
9
  description: 'task runner and toolkit extending SvelteKit',
10
10
  motto: 'generate, run, optimize',
11
11
  glyph: '🌰',
@@ -46,15 +46,15 @@ export const package_json: Package_Json = {
46
46
  dependencies: {
47
47
  '@ryanatkn/belt': '^0.34.1',
48
48
  chokidar: '^4.0.3',
49
- dotenv: '^17.2.1',
49
+ dotenv: '^17.2.2',
50
50
  'esm-env': '^1.2.2',
51
51
  mri: '^1.2.0',
52
- 'oxc-parser': '^0.82.3',
52
+ 'oxc-parser': '^0.87.0',
53
53
  prettier: '^3.6.2',
54
54
  'prettier-plugin-svelte': '^3.4.0',
55
55
  'ts-blank-space': '^0.6.2',
56
56
  tslib: '^2.8.1',
57
- zod: '^4.1.4',
57
+ zod: '^4.1.5',
58
58
  },
59
59
  peerDependencies: {
60
60
  '@sveltejs/kit': '^2',
@@ -72,17 +72,17 @@ export const package_json: Package_Json = {
72
72
  '@ryanatkn/fuz': '^0.145.0',
73
73
  '@ryanatkn/moss': '^0.32.0',
74
74
  '@sveltejs/adapter-static': '^3.0.9',
75
- '@sveltejs/kit': '^2.36.3',
75
+ '@sveltejs/kit': '^2.37.1',
76
76
  '@sveltejs/package': '^2.5.0',
77
- '@sveltejs/vite-plugin-svelte': '^6.1.3',
78
- '@types/node': '^24.3.0',
77
+ '@sveltejs/vite-plugin-svelte': '^6.1.4',
78
+ '@types/node': '^24.3.1',
79
79
  esbuild: '^0.25.9',
80
- eslint: '^9.34.0',
81
- 'eslint-plugin-svelte': '^3.11.0',
82
- svelte: '^5.38.6',
80
+ eslint: '^9.35.0',
81
+ 'eslint-plugin-svelte': '^3.12.2',
82
+ svelte: '^5.38.7',
83
83
  'svelte-check': '^4.3.1',
84
84
  typescript: '^5.9.2',
85
- 'typescript-eslint': '^8.41.0',
85
+ 'typescript-eslint': '^8.42.0',
86
86
  vitest: '^3.2.4',
87
87
  },
88
88
  prettier: {
@@ -272,7 +272,7 @@ export const package_json: Package_Json = {
272
272
 
273
273
  export const src_json: Src_Json = {
274
274
  name: '@ryanatkn/gro',
275
- version: '0.162.2',
275
+ version: '0.164.0',
276
276
  modules: {
277
277
  '.': {
278
278
  path: 'index.ts',
@@ -495,7 +495,6 @@ export const src_json: Src_Json = {
495
495
  './filer.js': {
496
496
  path: 'filer.ts',
497
497
  declarations: [
498
- {name: 'Cleanup_Watch', kind: 'type'},
499
498
  {name: 'On_Filer_Change', kind: 'type'},
500
499
  {name: 'Filer_Options', kind: 'type'},
501
500
  {name: 'Filer', kind: 'class'},
@@ -936,6 +935,7 @@ export const src_json: Src_Json = {
936
935
  {name: 'base', kind: 'variable'},
937
936
  {name: 'resolve', kind: 'function'},
938
937
  {name: 'resolveRoute', kind: 'function'},
938
+ {name: 'asset', kind: 'function'},
939
939
  ],
940
940
  },
941
941
  './sveltekit_shim_app_state.js': {
@@ -980,6 +980,7 @@ export const src_json: Src_Json = {
980
980
  declarations: [
981
981
  {name: 'Task', kind: 'type'},
982
982
  {name: 'Task_Context', kind: 'type'},
983
+ {name: 'Invoke_Task', kind: 'type'},
983
984
  {name: 'TASK_FILE_SUFFIX_TS', kind: 'variable'},
984
985
  {name: 'TASK_FILE_SUFFIX_JS', kind: 'variable'},
985
986
  {name: 'TASK_FILE_SUFFIXES', kind: 'variable'},
@@ -115,6 +115,9 @@ export const update_package_json = async (
115
115
 
116
116
  const is_index = (path: string): boolean => path === 'index.ts' || path === 'index.js';
117
117
 
118
+ // TODO support subpath patterns as the main concise way to do things
119
+ // https://nodejs.org/api/packages.html#subpath-patterns
120
+
118
121
  export const to_package_exports = (paths: Array<string>): Package_Json_Exports => {
119
122
  const sorted = paths
120
123
  .slice()
@@ -15,14 +15,18 @@ import {print_path, to_root_path} from './paths.ts';
15
15
  import type {format_file as base_format_file} from './format_file.ts';
16
16
  import type {Gro_Config} from './gro_config.ts';
17
17
  import {default_svelte_config} from './svelte_config.ts';
18
+ import type {Filer} from './filer.ts';
19
+ import type {Invoke_Task} from './task.ts';
18
20
 
19
21
  export const GEN_NO_PROD_MESSAGE = 'gen runs only during development';
20
22
 
21
23
  export const run_gen = async (
22
24
  gen_modules: Array<Genfile_Module_Meta>,
23
25
  config: Gro_Config,
26
+ filer: Filer,
24
27
  log: Logger,
25
28
  timings: Timings,
29
+ invoke_task: Invoke_Task,
26
30
  format_file?: typeof base_format_file,
27
31
  ): Promise<Gen_Results> => {
28
32
  let input_count = 0;
@@ -38,9 +42,12 @@ export const run_gen = async (
38
42
  const gen_ctx: Gen_Context = {
39
43
  config,
40
44
  svelte_config: default_svelte_config,
45
+ filer,
46
+ log,
47
+ timings,
48
+ invoke_task,
41
49
  origin_id: id,
42
50
  origin_path: to_root_path(id),
43
- log,
44
51
  };
45
52
  let raw_gen_result: Raw_Gen_Result;
46
53
  try {
@@ -8,12 +8,17 @@
8
8
  * @see https://github.com/nodejs/loaders for details about the forthcoming virtual file support
9
9
  */
10
10
 
11
- import type {resolve as base_resolve, resolveRoute as base_resolveRoute} from '$app/paths';
11
+ import type {
12
+ resolve as base_resolve,
13
+ asset as base_asset,
14
+ resolveRoute as base_resolveRoute,
15
+ } from '$app/paths';
12
16
  import {noop} from '@ryanatkn/belt/function.js';
13
17
 
14
18
  export const assets = '';
15
19
  /** @deprecated */
16
20
  export const base = '';
17
- export const resolve: typeof base_resolve = (v) => ('/' + v.replace(/^\//, '')) as any; // TODO needs to use SvelteKit config base, should we just import it?
21
+ export const resolve: typeof base_resolve = (v) => ('/' + v.replace(/^\//, '')) as any; // TODO needs to use SvelteKit config base
18
22
  /** @deprecated */
19
23
  export const resolveRoute: typeof base_resolveRoute = noop; // eslint-disable-line @typescript-eslint/no-deprecated
24
+ export const asset: typeof base_asset = (v) => ('/' + v.replace(/^\//, '')) as any; // TODO needs to use SvelteKit config base
package/src/lib/task.ts CHANGED
@@ -39,9 +39,11 @@ export interface Task_Context<T_Args = object> {
39
39
  filer: Filer;
40
40
  log: Logger;
41
41
  timings: Timings;
42
- invoke_task: (task_name: string, args?: Args, config?: Gro_Config) => Promise<void>;
42
+ invoke_task: Invoke_Task;
43
43
  }
44
44
 
45
+ export type Invoke_Task = (task_name: string, args?: Args, config?: Gro_Config) => Promise<void>;
46
+
45
47
  export const TASK_FILE_SUFFIX_TS = '.task.ts';
46
48
  export const TASK_FILE_SUFFIX_JS = '.task.js';
47
49
  export const TASK_FILE_SUFFIXES = [TASK_FILE_SUFFIX_TS, TASK_FILE_SUFFIX_JS]; // TODO from `Gro_Config`, but needs to be used everywhere the constants are