@ryanatkn/gro 0.162.1 → 0.163.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.
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/package.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAC;AAEzD,eAAO,MAAM,YAAY,EAAE,YAyQnB,CAAC;AAET,eAAO,MAAM,QAAQ,EAAE,QAswBf,CAAC"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/package.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAC;AAEzD,eAAO,MAAM,YAAY,EAAE,YAyQnB,CAAC;AAET,eAAO,MAAM,QAAQ,EAAE,QAuwBf,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.162.1',
4
+ version: '0.163.0',
5
5
  description: 'task runner and toolkit extending SvelteKit',
6
6
  motto: 'generate, run, optimize',
7
7
  glyph: '🌰',
@@ -41,15 +41,15 @@ export const package_json = {
41
41
  dependencies: {
42
42
  '@ryanatkn/belt': '^0.34.1',
43
43
  chokidar: '^4.0.3',
44
- dotenv: '^17.2.1',
44
+ dotenv: '^17.2.2',
45
45
  'esm-env': '^1.2.2',
46
46
  mri: '^1.2.0',
47
- 'oxc-parser': '^0.82.3',
47
+ 'oxc-parser': '^0.87.0',
48
48
  prettier: '^3.6.2',
49
49
  'prettier-plugin-svelte': '^3.4.0',
50
50
  'ts-blank-space': '^0.6.2',
51
51
  tslib: '^2.8.1',
52
- zod: '^4.1.4',
52
+ zod: '^4.1.5',
53
53
  },
54
54
  peerDependencies: {
55
55
  '@sveltejs/kit': '^2',
@@ -67,17 +67,17 @@ export const package_json = {
67
67
  '@ryanatkn/fuz': '^0.145.0',
68
68
  '@ryanatkn/moss': '^0.32.0',
69
69
  '@sveltejs/adapter-static': '^3.0.9',
70
- '@sveltejs/kit': '^2.36.3',
70
+ '@sveltejs/kit': '^2.37.1',
71
71
  '@sveltejs/package': '^2.5.0',
72
- '@sveltejs/vite-plugin-svelte': '^6.1.3',
73
- '@types/node': '^24.3.0',
72
+ '@sveltejs/vite-plugin-svelte': '^6.1.4',
73
+ '@types/node': '^24.3.1',
74
74
  esbuild: '^0.25.9',
75
- eslint: '^9.34.0',
76
- 'eslint-plugin-svelte': '^3.11.0',
77
- svelte: '^5.38.6',
75
+ eslint: '^9.35.0',
76
+ 'eslint-plugin-svelte': '^3.12.2',
77
+ svelte: '^5.38.7',
78
78
  'svelte-check': '^4.3.1',
79
79
  typescript: '^5.9.2',
80
- 'typescript-eslint': '^8.41.0',
80
+ 'typescript-eslint': '^8.42.0',
81
81
  vitest: '^3.2.4',
82
82
  },
83
83
  prettier: {
@@ -266,7 +266,7 @@ export const package_json = {
266
266
  };
267
267
  export const src_json = {
268
268
  name: '@ryanatkn/gro',
269
- version: '0.162.1',
269
+ version: '0.163.0',
270
270
  modules: {
271
271
  '.': {
272
272
  path: 'index.ts',
@@ -930,6 +930,7 @@ export const src_json = {
930
930
  { name: 'base', kind: 'variable' },
931
931
  { name: 'resolve', kind: 'function' },
932
932
  { name: 'resolveRoute', kind: 'function' },
933
+ { name: 'asset', kind: 'function' },
933
934
  ],
934
935
  },
935
936
  './sveltekit_shim_app_state.js': {
@@ -4,11 +4,12 @@
4
4
  * There may be a cleaner workaround but I couldn't find it.
5
5
  * @see https://github.com/nodejs/loaders for details about the forthcoming virtual file support
6
6
  */
7
- import type { resolve as base_resolve, resolveRoute as base_resolveRoute } from '$app/paths';
7
+ import type { resolve as base_resolve, asset as base_asset, resolveRoute as base_resolveRoute } from '$app/paths';
8
8
  export declare const assets = "";
9
9
  /** @deprecated */
10
10
  export declare const base = "";
11
11
  export declare const resolve: typeof base_resolve;
12
12
  /** @deprecated */
13
13
  export declare const resolveRoute: typeof base_resolveRoute;
14
+ export declare const asset: typeof base_asset;
14
15
  //# sourceMappingURL=sveltekit_shim_app_paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sveltekit_shim_app_paths.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/sveltekit_shim_app_paths.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,OAAO,IAAI,YAAY,EAAE,YAAY,IAAI,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAG3F,eAAO,MAAM,MAAM,KAAK,CAAC;AACzB,kBAAkB;AAClB,eAAO,MAAM,IAAI,KAAK,CAAC;AACvB,eAAO,MAAM,OAAO,EAAE,OAAO,YAAyD,CAAC;AACvF,kBAAkB;AAClB,eAAO,MAAM,YAAY,EAAE,OAAO,iBAAwB,CAAC"}
1
+ {"version":3,"file":"sveltekit_shim_app_paths.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/sveltekit_shim_app_paths.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,OAAO,IAAI,YAAY,EACvB,KAAK,IAAI,UAAU,EACnB,YAAY,IAAI,iBAAiB,EACjC,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,MAAM,KAAK,CAAC;AACzB,kBAAkB;AAClB,eAAO,MAAM,IAAI,KAAK,CAAC;AACvB,eAAO,MAAM,OAAO,EAAE,OAAO,YAAyD,CAAC;AACvF,kBAAkB;AAClB,eAAO,MAAM,YAAY,EAAE,OAAO,iBAAwB,CAAC;AAC3D,eAAO,MAAM,KAAK,EAAE,OAAO,UAAuD,CAAC"}
@@ -4,6 +4,7 @@ import { noop } from '@ryanatkn/belt/function.js';
4
4
  export const assets = '';
5
5
  /** @deprecated */
6
6
  export const base = '';
7
- export const resolve = (v) => ('/' + v.replace(/^\//, '')); // TODO needs to use SvelteKit config base, should we just import it?
7
+ export const resolve = (v) => ('/' + v.replace(/^\//, '')); // TODO needs to use SvelteKit config base
8
8
  /** @deprecated */
9
9
  export const resolveRoute = noop; // eslint-disable-line @typescript-eslint/no-deprecated
10
+ export const asset = (v) => ('/' + v.replace(/^\//, '')); // TODO needs to use SvelteKit config base
@@ -3,6 +3,7 @@ import { type Task } from './task.ts';
3
3
  export declare const Args: z.ZodObject<{
4
4
  _: z.ZodDefault<z.ZodArray<z.ZodString>>;
5
5
  dir: z.ZodDefault<z.ZodString>;
6
+ fail_without_tests: z.ZodDefault<z.ZodBoolean>;
6
7
  t: z.ZodOptional<z.ZodString>;
7
8
  }, z.core.$strict>;
8
9
  export type Args = z.infer<typeof Args>;
@@ -1 +1 @@
1
- {"version":3,"file":"test.task.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/test.task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAOhD,eAAO,MAAM,IAAI;;;;kBAOf,CAAC;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CA4B3B,CAAC"}
1
+ {"version":3,"file":"test.task.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/test.task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAOhD,eAAO,MAAM,IAAI;;;;;kBAWf,CAAC;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CA+B3B,CAAC"}
package/dist/test.task.js CHANGED
@@ -7,8 +7,12 @@ import { serialize_args, to_forwarded_args } from "./args.js";
7
7
  import { VITEST_CLI } from "./constants.js";
8
8
  import { paths } from "./paths.js";
9
9
  export const Args = z.strictObject({
10
- _: z.array(z.string()).meta({ description: 'file patterns to test' }).default(['.test.']),
10
+ _: z.array(z.string()).meta({ description: 'file patterns to filter tests' }).default(['.test.']),
11
11
  dir: z.string().meta({ description: 'working directory for tests' }).default(paths.source),
12
+ fail_without_tests: z
13
+ .boolean()
14
+ .meta({ description: 'opt out of `passWithNoTests`' })
15
+ .default(false),
12
16
  t: z
13
17
  .string()
14
18
  .meta({ description: 'search pattern for test names, same as vitest -t and --testNamePattern' })
@@ -18,26 +22,27 @@ export const task = {
18
22
  summary: 'run tests with vitest',
19
23
  Args,
20
24
  run: async ({ args }) => {
21
- const { _: patterns, dir, t } = args;
22
- if (has_dep(VITEST_CLI)) {
23
- if (!find_cli(VITEST_CLI)) {
24
- throw new Task_Error('vitest is a dependency but not installed; run `npm i`?');
25
- }
26
- const vitest_args = ['run', ...patterns];
27
- if (dir) {
28
- vitest_args.push('--dir', dir);
29
- }
30
- if (t) {
31
- vitest_args.push('-t', t);
32
- }
33
- vitest_args.push(...serialize_args(to_forwarded_args(VITEST_CLI)));
34
- const spawned = await spawn_cli(VITEST_CLI, vitest_args); // TODO proper forwarding
35
- if (!spawned?.ok) {
36
- throw new Task_Error(`vitest failed with exit code ${spawned?.code}`);
37
- }
38
- }
39
- else {
25
+ const { _: patterns, dir, fail_without_tests, t } = args;
26
+ if (!has_dep(VITEST_CLI)) {
40
27
  throw new Task_Error('no test runner found, install vitest');
41
28
  }
29
+ if (!find_cli(VITEST_CLI)) {
30
+ throw new Task_Error('vitest is a dependency but not installed; run `npm i`?');
31
+ }
32
+ const vitest_args = ['run', ...patterns];
33
+ if (dir) {
34
+ vitest_args.push('--dir', dir);
35
+ }
36
+ if (!fail_without_tests) {
37
+ vitest_args.push('--passWithNoTests');
38
+ }
39
+ if (t) {
40
+ vitest_args.push('-t', t);
41
+ }
42
+ vitest_args.push(...serialize_args(to_forwarded_args(VITEST_CLI)));
43
+ const spawned = await spawn_cli(VITEST_CLI, vitest_args);
44
+ if (!spawned?.ok) {
45
+ throw new Task_Error(`vitest failed with exit code ${spawned?.code}`);
46
+ }
42
47
  },
43
48
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryanatkn/gro",
3
- "version": "0.162.1",
3
+ "version": "0.163.0",
4
4
  "description": "task runner and toolkit extending SvelteKit",
5
5
  "motto": "generate, run, optimize",
6
6
  "glyph": "🌰",
@@ -51,15 +51,15 @@
51
51
  "dependencies": {
52
52
  "@ryanatkn/belt": "^0.34.1",
53
53
  "chokidar": "^4.0.3",
54
- "dotenv": "^17.2.1",
54
+ "dotenv": "^17.2.2",
55
55
  "esm-env": "^1.2.2",
56
56
  "mri": "^1.2.0",
57
- "oxc-parser": "^0.82.3",
57
+ "oxc-parser": "^0.87.0",
58
58
  "prettier": "^3.6.2",
59
59
  "prettier-plugin-svelte": "^3.4.0",
60
60
  "ts-blank-space": "^0.6.2",
61
61
  "tslib": "^2.8.1",
62
- "zod": "^4.1.4"
62
+ "zod": "^4.1.5"
63
63
  },
64
64
  "peerDependencies": {
65
65
  "@sveltejs/kit": "^2",
@@ -87,17 +87,17 @@
87
87
  "@ryanatkn/fuz": "^0.145.0",
88
88
  "@ryanatkn/moss": "^0.32.0",
89
89
  "@sveltejs/adapter-static": "^3.0.9",
90
- "@sveltejs/kit": "^2.36.3",
90
+ "@sveltejs/kit": "^2.37.1",
91
91
  "@sveltejs/package": "^2.5.0",
92
- "@sveltejs/vite-plugin-svelte": "^6.1.3",
93
- "@types/node": "^24.3.0",
92
+ "@sveltejs/vite-plugin-svelte": "^6.1.4",
93
+ "@types/node": "^24.3.1",
94
94
  "esbuild": "^0.25.9",
95
- "eslint": "^9.34.0",
96
- "eslint-plugin-svelte": "^3.11.0",
97
- "svelte": "^5.38.6",
95
+ "eslint": "^9.35.0",
96
+ "eslint-plugin-svelte": "^3.12.2",
97
+ "svelte": "^5.38.7",
98
98
  "svelte-check": "^4.3.1",
99
99
  "typescript": "^5.9.2",
100
- "typescript-eslint": "^8.41.0",
100
+ "typescript-eslint": "^8.42.0",
101
101
  "vitest": "^3.2.4"
102
102
  },
103
103
  "prettier": {
@@ -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.1',
8
+ version: '0.163.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.1',
275
+ version: '0.163.0',
276
276
  modules: {
277
277
  '.': {
278
278
  path: 'index.ts',
@@ -936,6 +936,7 @@ export const src_json: Src_Json = {
936
936
  {name: 'base', kind: 'variable'},
937
937
  {name: 'resolve', kind: 'function'},
938
938
  {name: 'resolveRoute', kind: 'function'},
939
+ {name: 'asset', kind: 'function'},
939
940
  ],
940
941
  },
941
942
  './sveltekit_shim_app_state.js': {
@@ -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
@@ -9,8 +9,12 @@ import {VITEST_CLI} from './constants.ts';
9
9
  import {paths} from './paths.ts';
10
10
 
11
11
  export const Args = z.strictObject({
12
- _: z.array(z.string()).meta({description: 'file patterns to test'}).default(['.test.']),
12
+ _: z.array(z.string()).meta({description: 'file patterns to filter tests'}).default(['.test.']),
13
13
  dir: z.string().meta({description: 'working directory for tests'}).default(paths.source),
14
+ fail_without_tests: z
15
+ .boolean()
16
+ .meta({description: 'opt out of `passWithNoTests`'})
17
+ .default(false),
14
18
  t: z
15
19
  .string()
16
20
  .meta({description: 'search pattern for test names, same as vitest -t and --testNamePattern'})
@@ -22,28 +26,31 @@ export const task: Task<Args> = {
22
26
  summary: 'run tests with vitest',
23
27
  Args,
24
28
  run: async ({args}): Promise<void> => {
25
- const {_: patterns, dir, t} = args;
29
+ const {_: patterns, dir, fail_without_tests, t} = args;
26
30
 
27
- if (has_dep(VITEST_CLI)) {
28
- if (!find_cli(VITEST_CLI)) {
29
- throw new Task_Error('vitest is a dependency but not installed; run `npm i`?');
30
- }
31
+ if (!has_dep(VITEST_CLI)) {
32
+ throw new Task_Error('no test runner found, install vitest');
33
+ }
31
34
 
32
- const vitest_args = ['run', ...patterns];
33
- if (dir) {
34
- vitest_args.push('--dir', dir);
35
- }
36
- if (t) {
37
- vitest_args.push('-t', t);
38
- }
39
- vitest_args.push(...serialize_args(to_forwarded_args(VITEST_CLI)));
35
+ if (!find_cli(VITEST_CLI)) {
36
+ throw new Task_Error('vitest is a dependency but not installed; run `npm i`?');
37
+ }
40
38
 
41
- const spawned = await spawn_cli(VITEST_CLI, vitest_args); // TODO proper forwarding
42
- if (!spawned?.ok) {
43
- throw new Task_Error(`vitest failed with exit code ${spawned?.code}`);
44
- }
45
- } else {
46
- throw new Task_Error('no test runner found, install vitest');
39
+ const vitest_args = ['run', ...patterns];
40
+ if (dir) {
41
+ vitest_args.push('--dir', dir);
42
+ }
43
+ if (!fail_without_tests) {
44
+ vitest_args.push('--passWithNoTests');
45
+ }
46
+ if (t) {
47
+ vitest_args.push('-t', t);
48
+ }
49
+ vitest_args.push(...serialize_args(to_forwarded_args(VITEST_CLI)));
50
+
51
+ const spawned = await spawn_cli(VITEST_CLI, vitest_args);
52
+ if (!spawned?.ok) {
53
+ throw new Task_Error(`vitest failed with exit code ${spawned?.code}`);
47
54
  }
48
55
  },
49
56
  };