@ryanatkn/gro 0.130.1 → 0.130.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/changelog.js +1 -1
  2. package/dist/changeset.task.d.ts.map +1 -1
  3. package/dist/changeset.task.js +3 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/esbuild_plugin_external_worker.js +1 -1
  7. package/dist/esbuild_plugin_svelte.js +1 -1
  8. package/dist/esbuild_plugin_sveltekit_local_imports.js +3 -3
  9. package/dist/esbuild_plugin_sveltekit_shim_app.js +5 -5
  10. package/dist/esbuild_plugin_sveltekit_shim_env.js +2 -2
  11. package/dist/github.d.ts.map +1 -1
  12. package/dist/github.js +1 -1
  13. package/dist/loader.js +4 -4
  14. package/dist/package.js +10 -10
  15. package/dist/package_json.js +2 -2
  16. package/dist/package_meta.d.ts +2 -0
  17. package/dist/package_meta.d.ts.map +1 -1
  18. package/dist/package_meta.js +8 -1
  19. package/dist/svelte_helpers.d.ts.map +1 -1
  20. package/dist/svelte_helpers.js +2 -2
  21. package/dist/sveltekit_shim_app.d.ts.map +1 -1
  22. package/dist/sveltekit_shim_app.js +2 -2
  23. package/dist/upgrade.task.js +2 -2
  24. package/package.json +9 -9
  25. package/src/lib/changelog.ts +1 -1
  26. package/src/lib/changeset.task.ts +3 -1
  27. package/src/lib/config.ts +1 -1
  28. package/src/lib/esbuild_plugin_external_worker.ts +1 -1
  29. package/src/lib/esbuild_plugin_svelte.ts +1 -1
  30. package/src/lib/esbuild_plugin_sveltekit_local_imports.ts +3 -3
  31. package/src/lib/esbuild_plugin_sveltekit_shim_app.ts +5 -5
  32. package/src/lib/esbuild_plugin_sveltekit_shim_env.ts +2 -2
  33. package/src/lib/github.ts +1 -1
  34. package/src/lib/input_path.ts +2 -2
  35. package/src/lib/loader.ts +4 -4
  36. package/src/lib/package.ts +10 -10
  37. package/src/lib/package_json.ts +2 -2
  38. package/src/lib/package_meta.ts +17 -6
  39. package/src/lib/svelte_helpers.ts +2 -2
  40. package/src/lib/sveltekit_shim_app.ts +2 -3
  41. package/src/lib/task.ts +1 -1
  42. package/src/lib/upgrade.task.ts +2 -2
package/dist/changelog.js CHANGED
@@ -23,7 +23,7 @@ export const update_changelog = async (owner, repo, path = 'CHANGELOG.md', token
23
23
  const Parsed_Changelog = z.array(z.string());
24
24
  const parse_changelog = (contents) => contents.split('\n');
25
25
  const serialize_changelog = (parsed) => parsed.join('\n');
26
- const LINE_WITH_SHA_MATCHER = /^- ([a-z0-9]{7,8}): /u;
26
+ const LINE_WITH_SHA_MATCHER = /^- ([a-z0-9]{7,8}): /;
27
27
  const map_changelog = async (parsed, owner, repo, token, log, cache) => {
28
28
  const mapped = [];
29
29
  for (const line of parsed) {
@@ -1 +1 @@
1
- {"version":3,"file":"changeset.task.d.ts","sourceRoot":"../src/lib/","sources":["changeset.task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAQtB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAchD,eAAO,MAAM,IAAI;IAEf;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBK,CAAC;AACX,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CA+E3B,CAAC"}
1
+ {"version":3,"file":"changeset.task.d.ts","sourceRoot":"../src/lib/","sources":["changeset.task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAQtB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAchD,eAAO,MAAM,IAAI;IAEf;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBK,CAAC;AACX,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CAiF3B,CAAC"}
@@ -64,7 +64,9 @@ export const task = {
64
64
  const inited = existsSync(path);
65
65
  if (!inited) {
66
66
  await spawn_cli(found_changeset_cli, ['init'], log);
67
- const access = access_arg ?? package_json.private ? CHANGESET_RESTRICTED_ACCESS : CHANGESET_PUBLIC_ACCESS;
67
+ const access = (access_arg ?? package_json.private)
68
+ ? CHANGESET_RESTRICTED_ACCESS
69
+ : CHANGESET_PUBLIC_ACCESS;
68
70
  const access_color = access === CHANGESET_RESTRICTED_ACCESS ? blue : red;
69
71
  log.info('initing changeset with ' + access_color(access) + ' access');
70
72
  if (access !== CHANGESET_RESTRICTED_ACCESS) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"../src/lib/","sources":["config.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,OAAO,EAAE,qBAAqB,CAAC;IAC/B;;;;OAIG;IACH,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C;;;OAGG;IACH,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B;;;OAGG;IACH,cAAc,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC/B,WAAW,EAAE,UAAU,KACnB,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9C,eAAO,MAAM,mBAAmB,QAAO,UAUrC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAUnC,CAAC;AAWF,eAAO,MAAM,wBAAwB,QAAyD,CAAC;AAE/F;;;GAGG;AACH,eAAO,MAAM,gBAAgB,eAAgB,cAAc,KAAG,UAoB7D,CAAC;AAEF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAAC;CACrD;AAED,eAAO,MAAM,WAAW,oBAA6B,OAAO,CAAC,UAAU,CAetE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,CACpC,aAAa,EAAE,GAAG,EAClB,WAAW,EAAE,MAAM,KACf,OAAO,CAAC,aAAa,IAAI,iBAS7B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"../src/lib/","sources":["config.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,OAAO,EAAE,qBAAqB,CAAC;IAC/B;;;;OAIG;IACH,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C;;;OAGG;IACH,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B;;;OAGG;IACH,cAAc,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC/B,WAAW,EAAE,UAAU,KACnB,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9C,eAAO,MAAM,mBAAmB,QAAO,UAUrC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAUnC,CAAC;AAWF,eAAO,MAAM,wBAAwB,QAAwD,CAAC;AAE9F;;;GAGG;AACH,eAAO,MAAM,gBAAgB,eAAgB,cAAc,KAAG,UAoB7D,CAAC;AAEF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAAC;CACrD;AAED,eAAO,MAAM,WAAW,oBAA6B,OAAO,CAAC,UAAU,CAetE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,CACpC,aAAa,EAAE,GAAG,EAClB,WAAW,EAAE,MAAM,KACf,OAAO,CAAC,aAAa,IAAI,iBAS7B,CAAC"}
package/dist/config.js CHANGED
@@ -33,7 +33,7 @@ const default_map_package_json = (package_json) => {
33
33
  }
34
34
  return package_json;
35
35
  };
36
- export const DEFAULT_EXPORTS_EXCLUDER = /(\.md|\.(test|ignore)\.|\/(test|fixtures|ignore)\/)/u;
36
+ export const DEFAULT_EXPORTS_EXCLUDER = /(\.md|\.(test|ignore)\.|\/(test|fixtures|ignore)\/)/;
37
37
  /**
38
38
  * Transforms a `Raw_Gro_Config` to the more strict `Gro_Config`.
39
39
  * This allows users to provide a more relaxed config.
@@ -41,7 +41,7 @@ export const esbuild_plugin_external_worker = ({ dev, build_options, dir = proce
41
41
  builds.set(path_id, building);
42
42
  return building;
43
43
  };
44
- build.onResolve({ filter: /\.worker(|\.js|\.ts)$/u }, async ({ path, resolveDir }) => {
44
+ build.onResolve({ filter: /\.worker(|\.js|\.ts)$/ }, async ({ path, resolveDir }) => {
45
45
  const parsed = resolve_specifier(path, resolveDir);
46
46
  const { specifier, path_id, namespace } = parsed;
47
47
  const build_result = await build_worker(path_id);
@@ -59,7 +59,7 @@ export const esbuild_plugin_svelte = (options = {}) => {
59
59
  const convert_svelte_message_to_esbuild = (path, source, { message, start, end }) => {
60
60
  let location = null;
61
61
  if (start && end) {
62
- const lineText = source.split(/\r\n|\r|\n/gu)[start.line - 1];
62
+ const lineText = source.split(/\r\n|\r|\n/g)[start.line - 1];
63
63
  const lineEnd = start.line === end.line ? end.column : lineText.length;
64
64
  location = {
65
65
  file: path,
@@ -9,19 +9,19 @@ import { resolve_specifier } from './resolve_specifier.js';
9
9
  export const esbuild_plugin_sveltekit_local_imports = () => ({
10
10
  name: 'sveltekit_local_imports',
11
11
  setup: (build) => {
12
- build.onResolve({ filter: /^(\/|\.)/u }, (args) => {
12
+ build.onResolve({ filter: /^(\/|\.)/ }, (args) => {
13
13
  const { path, importer } = args;
14
14
  if (!importer)
15
15
  return { path };
16
16
  const { path_id, namespace } = resolve_specifier(path, dirname(importer));
17
17
  return { path: path_id, namespace }; // `namespace` may be `undefined`, but esbuild needs the absolute path for json etc
18
18
  });
19
- build.onLoad({ filter: /.*/u, namespace: 'sveltekit_local_imports_ts' }, async ({ path }) => ({
19
+ build.onLoad({ filter: /.*/, namespace: 'sveltekit_local_imports_ts' }, async ({ path }) => ({
20
20
  contents: await readFile(path),
21
21
  loader: 'ts',
22
22
  resolveDir: dirname(path),
23
23
  }));
24
- build.onLoad({ filter: /.*/u, namespace: 'sveltekit_local_imports_js' }, async ({ path }) => ({
24
+ build.onLoad({ filter: /.*/, namespace: 'sveltekit_local_imports_js' }, async ({ path }) => ({
25
25
  contents: await readFile(path),
26
26
  resolveDir: dirname(path),
27
27
  }));
@@ -2,19 +2,19 @@ import { render_sveltekit_shim_app_environment, render_sveltekit_shim_app_paths,
2
2
  export const esbuild_plugin_sveltekit_shim_app = ({ dev, base_url, assets_url, }) => ({
3
3
  name: 'sveltekit_shim_app',
4
4
  setup: (build) => {
5
- build.onResolve({ filter: /^\$app\/(forms|navigation|stores)$/u }, ({ path, ...rest }) => build.resolve(sveltekit_shim_app_specifiers.get(path), rest));
6
- build.onResolve({ filter: /^\$app\/paths$/u }, ({ path }) => ({
5
+ build.onResolve({ filter: /^\$app\/(forms|navigation|stores)$/ }, ({ path, ...rest }) => build.resolve(sveltekit_shim_app_specifiers.get(path), rest));
6
+ build.onResolve({ filter: /^\$app\/paths$/ }, ({ path }) => ({
7
7
  path: sveltekit_shim_app_specifiers.get(path),
8
8
  namespace: 'sveltekit_shim_app_paths',
9
9
  }));
10
- build.onLoad({ filter: /.*/u, namespace: 'sveltekit_shim_app_paths' }, () => ({
10
+ build.onLoad({ filter: /.*/, namespace: 'sveltekit_shim_app_paths' }, () => ({
11
11
  contents: render_sveltekit_shim_app_paths(base_url, assets_url),
12
12
  }));
13
- build.onResolve({ filter: /^\$app\/environment$/u }, ({ path }) => ({
13
+ build.onResolve({ filter: /^\$app\/environment$/ }, ({ path }) => ({
14
14
  path: sveltekit_shim_app_specifiers.get(path),
15
15
  namespace: 'sveltekit_shim_app_environment',
16
16
  }));
17
- build.onLoad({ filter: /.*/u, namespace: 'sveltekit_shim_app_environment' }, () => ({
17
+ build.onLoad({ filter: /.*/, namespace: 'sveltekit_shim_app_environment' }, () => ({
18
18
  contents: render_sveltekit_shim_app_environment(dev),
19
19
  }));
20
20
  },
@@ -3,9 +3,9 @@ export const esbuild_plugin_sveltekit_shim_env = ({ dev, public_prefix, private_
3
3
  name: 'sveltekit_shim_env',
4
4
  setup: (build) => {
5
5
  const namespace = 'sveltekit_shim_env';
6
- const filter = /^\$env\/(static|dynamic)\/(public|private)$/u;
6
+ const filter = /^\$env\/(static|dynamic)\/(public|private)$/;
7
7
  build.onResolve({ filter }, ({ path }) => ({ path, namespace }));
8
- build.onLoad({ filter: /.*/u, namespace }, ({ path }) => {
8
+ build.onLoad({ filter: /.*/, namespace }, ({ path }) => {
9
9
  const matches = filter.exec(path);
10
10
  const mode = matches[1];
11
11
  const visibility = matches[2];
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"../src/lib/","sources":["github.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,mBAAmB,QAA8B,CAAC;AAE/D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,uBAAuB,UAC5B,MAAM,QACP,MAAM,cACA,MAAM,UACV,MAAM,wCAGA,MAAM,KAClB,OAAO,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAatC,CAAC"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"../src/lib/","sources":["github.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,mBAAmB,QAA6B,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,uBAAuB,UAC5B,MAAM,QACP,MAAM,cACA,MAAM,UACV,MAAM,wCAGA,MAAM,KAClB,OAAO,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAatC,CAAC"}
package/dist/github.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // and we specify just the types we need
4
4
  import { Fetch_Value_Cache, fetch_value } from '@ryanatkn/belt/fetch.js';
5
5
  import { z } from 'zod';
6
- export const GITHUB_REPO_MATCHER = /.+github.com\/(.+)\/(.+)/u;
6
+ export const GITHUB_REPO_MATCHER = /.+github.com\/(.+)\/(.+)/;
7
7
  export const Github_Pull_Request = z.object({
8
8
  url: z.string(),
9
9
  id: z.number(),
package/dist/loader.js CHANGED
@@ -48,10 +48,10 @@ const final_ts_transform_options = {
48
48
  sourcemap: 'inline',
49
49
  };
50
50
  const aliases = Object.entries({ $lib: 'src/lib', ...alias });
51
- const TS_MATCHER = /\.(ts|tsx|mts|cts)$/u;
52
- const JSON_MATCHER = /\.(json)$/u;
53
- const NOOP_MATCHER = /\.(css|svg)$/u; // TODO others? configurable?
54
- const ENV_MATCHER = /src\/lib\/\$env\/(static|dynamic)\/(public|private)$/u;
51
+ const TS_MATCHER = /\.(ts|tsx|mts|cts)$/;
52
+ const JSON_MATCHER = /\.(json)$/;
53
+ const NOOP_MATCHER = /\.(css|svg)$/; // TODO others? configurable?
54
+ const ENV_MATCHER = /src\/lib\/\$env\/(static|dynamic)\/(public|private)$/;
55
55
  const NODE_MODULES_MATCHER = new RegExp(escape_regexp('/' + NODE_MODULES_DIRNAME + '/'), 'u');
56
56
  const package_json_cache = {};
57
57
  export const load = async (url, context, nextLoad) => {
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.130.1',
4
+ version: '0.130.2',
5
5
  description: 'task runner and toolkit extending SvelteKit',
6
6
  motto: 'generate, run, optimize',
7
7
  glyph: '🌰',
@@ -39,13 +39,13 @@ export const package_json = {
39
39
  'typescript',
40
40
  ],
41
41
  dependencies: {
42
- '@ryanatkn/belt': '^0.24.4',
42
+ '@ryanatkn/belt': '^0.24.9',
43
43
  chokidar: '^3.6.0',
44
44
  dotenv: '^16.4.5',
45
45
  'es-module-lexer': '^1.5.4',
46
46
  'esm-env': '^1.0.0',
47
47
  mri: '^1.2.0',
48
- prettier: '^3.3.2',
48
+ prettier: '^3.3.3',
49
49
  'prettier-plugin-svelte': '^3.2.5',
50
50
  'ts-morph': '^23.0.0',
51
51
  tslib: '^2.6.3',
@@ -55,9 +55,9 @@ export const package_json = {
55
55
  devDependencies: {
56
56
  '@changesets/changelog-git': '^0.2.0',
57
57
  '@changesets/types': '^6.0.0',
58
- '@ryanatkn/eslint-config': '^0.4.0',
59
- '@ryanatkn/fuz': '^0.108.4',
60
- '@ryanatkn/moss': '^0.7.1',
58
+ '@ryanatkn/eslint-config': '^0.4.2',
59
+ '@ryanatkn/fuz': '^0.110.4',
60
+ '@ryanatkn/moss': '^0.8.0',
61
61
  '@sveltejs/adapter-static': '^3.0.2',
62
62
  '@sveltejs/kit': '^2.5.18',
63
63
  '@sveltejs/package': '^2.3.2',
@@ -65,12 +65,12 @@ export const package_json = {
65
65
  '@types/fs-extra': '^11.0.4',
66
66
  '@types/node': '^20.14.10',
67
67
  esbuild: '^0.21.5',
68
- eslint: '^9.6.0',
68
+ eslint: '^9.7.0',
69
69
  'eslint-plugin-svelte': '^2.42.0',
70
- svelte: '^5.0.0-next.182',
70
+ svelte: '^5.0.0-next.184',
71
71
  'svelte-check': '^3.8.4',
72
72
  typescript: '^5.5.3',
73
- 'typescript-eslint': '^8.0.0-alpha.41',
73
+ 'typescript-eslint': '^8.0.0-alpha.44',
74
74
  uvu: '^0.5.6',
75
75
  },
76
76
  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.130.1',
269
+ version: '0.130.2',
270
270
  modules: {
271
271
  '.': {
272
272
  path: 'index.ts',
@@ -8,9 +8,9 @@ import { SVELTEKIT_DIST_DIRNAME } from './path_constants.js';
8
8
  import { search_fs } from './search_fs.js';
9
9
  import { has_sveltekit_library } from './sveltekit_helpers.js';
10
10
  import { GITHUB_REPO_MATCHER } from './github.js';
11
- // TODO @multiple belongs elsewhere
11
+ // TODO @many belongs elsewhere
12
12
  export const Url = z.string();
13
- // TODO @multiple belongs elsewhere
13
+ // TODO @many belongs elsewhere
14
14
  export const Email = z.string();
15
15
  // TODO move this where?
16
16
  export const transform_empty_object_to_undefined = (val) => {
@@ -12,6 +12,8 @@ export interface Package_Meta {
12
12
  */
13
13
  owner_name: string | null;
14
14
  homepage_url: Url | null;
15
+ logo_url: Url | null;
16
+ logo_alt: string;
15
17
  npm_url: Url | null;
16
18
  changelog_url: Url | null;
17
19
  published: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"package_meta.d.ts","sourceRoot":"../src/lib/","sources":["package_meta.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAE,GAAG,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAG5C,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,GAAG,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,QACzB,GAAG,gBACM,YAAY,YAChB,QAAQ,KAChB,YA4CF,CAAC;AAGF,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MACH,CAAC;AAE7C,eAAO,MAAM,aAAa,QAAS,YAAY,KAAG,MAAM,GAAG,IAQ1D,CAAC"}
1
+ {"version":3,"file":"package_meta.d.ts","sourceRoot":"../src/lib/","sources":["package_meta.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAE,GAAG,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAG5C,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,GAAG,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,QACzB,GAAG,gBACM,YAAY,YAChB,QAAQ,KAChB,YAqDF,CAAC;AAGF,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MACH,CAAC;AAE7C,eAAO,MAAM,aAAa,QAAS,YAAY,KAAG,MAAM,GAAG,IAQ1D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { strip_start, strip_end } from '@ryanatkn/belt/string.js';
1
+ import { strip_start, strip_end, ensure_end } from '@ryanatkn/belt/string.js';
2
2
  export const parse_package_meta = (url, package_json, src_json) => {
3
3
  const { name } = package_json;
4
4
  // TODO hacky
@@ -19,6 +19,11 @@ export const parse_package_meta = (url, package_json, src_json) => {
19
19
  const changelog_url = published && repo_url ? repo_url + '/blob/main/CHANGELOG.md' : null;
20
20
  const repo_name = parse_repo_name(name);
21
21
  const owner_name = repo_url ? strip_start(repo_url, 'https://github.com/').split('/')[0] : null;
22
+ const logo_url = homepage_url
23
+ ? ensure_end(homepage_url, '/') +
24
+ (package_json.logo ? strip_start(package_json.logo, '/') : 'favicon.png')
25
+ : null;
26
+ const logo_alt = package_json.logo_alt ?? `logo for ${repo_name}`;
22
27
  return {
23
28
  url,
24
29
  package_json,
@@ -28,6 +33,8 @@ export const parse_package_meta = (url, package_json, src_json) => {
28
33
  repo_url,
29
34
  owner_name,
30
35
  homepage_url,
36
+ logo_url,
37
+ logo_alt,
31
38
  npm_url,
32
39
  changelog_url,
33
40
  published,
@@ -1 +1 @@
1
- {"version":3,"file":"svelte_helpers.d.ts","sourceRoot":"../src/lib/","sources":["svelte_helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAe,CAAC;AAC3C,eAAO,MAAM,oBAAoB,QAAwB,CAAC"}
1
+ {"version":3,"file":"svelte_helpers.d.ts","sourceRoot":"../src/lib/","sources":["svelte_helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAc,CAAC;AAC1C,eAAO,MAAM,oBAAoB,QAAuB,CAAC"}
@@ -1,2 +1,2 @@
1
- export const SVELTE_MATCHER = /\.svelte$/u;
2
- export const SVELTE_RUNES_MATCHER = /\.svelte\.(js|ts)$/u; // TODO probably let `.svelte.` appear anywhere - https://github.com/sveltejs/svelte/issues/11536
1
+ export const SVELTE_MATCHER = /\.svelte$/;
2
+ export const SVELTE_RUNES_MATCHER = /\.svelte\.(js|ts)$/; // TODO probably let `.svelte.` appear anywhere - https://github.com/sveltejs/svelte/issues/11536
@@ -1 +1 @@
1
- {"version":3,"file":"sveltekit_shim_app.d.ts","sourceRoot":"../src/lib/","sources":["sveltekit_shim_app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAEnE,eAAO,MAAM,gCAAgC,QAA2C,CAAC;AACzF,eAAO,MAAM,sCAAsC,QACJ,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,qBAMxC,CAAC;AAEH,eAAO,MAAM,+BAA+B,cACjC,uBAAuB,CAAC,UAAU,CAAC,eACjC,uBAAuB,CAAC,YAAY,CAAC,KAC/C,MAKF,CAAC;AAMF,eAAO,MAAM,qCAAqC,QAC5C,OAAO,KACV,MAOF,CAAC"}
1
+ {"version":3,"file":"sveltekit_shim_app.d.ts","sourceRoot":"../src/lib/","sources":["sveltekit_shim_app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAEnE,eAAO,MAAM,gCAAgC,QAA0C,CAAC;AACxF,eAAO,MAAM,sCAAsC,QAAgD,CAAC;AAEpG;;;GAGG;AACH,eAAO,MAAM,6BAA6B,qBAMxC,CAAC;AAEH,eAAO,MAAM,+BAA+B,cACjC,uBAAuB,CAAC,UAAU,CAAC,eACjC,uBAAuB,CAAC,YAAY,CAAC,KAC/C,MAKF,CAAC;AAMF,eAAO,MAAM,qCAAqC,QAC5C,OAAO,KACV,MAOF,CAAC"}
@@ -1,5 +1,5 @@
1
- export const SVELTEKIT_SHIM_APP_PATHS_MATCHER = /\/util\/sveltekit_shim_app_paths\.js$/u;
2
- export const SVELTEKIT_SHIM_APP_ENVIRONMENT_MATCHER = /\/util\/sveltekit_shim_app_environment\.js$/u;
1
+ export const SVELTEKIT_SHIM_APP_PATHS_MATCHER = /\/util\/sveltekit_shim_app_paths\.js$/;
2
+ export const SVELTEKIT_SHIM_APP_ENVIRONMENT_MATCHER = /\/util\/sveltekit_shim_app_environment\.js$/;
3
3
  /**
4
4
  * Maps SvelteKit `$app` specifiers to their Gro shims.
5
5
  * @see https://kit.svelte.dev/docs/modules
@@ -64,8 +64,8 @@ const to_deps = (package_json) => {
64
64
  : [];
65
65
  return prod_deps.concat(dev_deps);
66
66
  };
67
- const EXACT_VERSION_MATCHER = /^..*@.+/u;
68
- const CUSTOM_TAG_MATCHER = /^[\^~><=]*.+-(.+)/u;
67
+ const EXACT_VERSION_MATCHER = /^..*@.+/;
68
+ const CUSTOM_TAG_MATCHER = /^[\^~><=]*.+-(.+)/;
69
69
  // TODO hacky and limited
70
70
  // TODO probably want to pass through exact deps as well, e.g. @foo/bar@1
71
71
  const to_upgrade_items = (deps) => deps.map((dep) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryanatkn/gro",
3
- "version": "0.130.1",
3
+ "version": "0.130.2",
4
4
  "description": "task runner and toolkit extending SvelteKit",
5
5
  "motto": "generate, run, optimize",
6
6
  "glyph": "🌰",
@@ -49,13 +49,13 @@
49
49
  "typescript"
50
50
  ],
51
51
  "dependencies": {
52
- "@ryanatkn/belt": "^0.24.4",
52
+ "@ryanatkn/belt": "^0.24.9",
53
53
  "chokidar": "^3.6.0",
54
54
  "dotenv": "^16.4.5",
55
55
  "es-module-lexer": "^1.5.4",
56
56
  "esm-env": "^1.0.0",
57
57
  "mri": "^1.2.0",
58
- "prettier": "^3.3.2",
58
+ "prettier": "^3.3.3",
59
59
  "prettier-plugin-svelte": "^3.2.5",
60
60
  "ts-morph": "^23.0.0",
61
61
  "tslib": "^2.6.3",
@@ -68,9 +68,9 @@
68
68
  "devDependencies": {
69
69
  "@changesets/changelog-git": "^0.2.0",
70
70
  "@changesets/types": "^6.0.0",
71
- "@ryanatkn/eslint-config": "^0.4.0",
72
- "@ryanatkn/fuz": "^0.108.4",
73
- "@ryanatkn/moss": "^0.7.1",
71
+ "@ryanatkn/eslint-config": "^0.4.2",
72
+ "@ryanatkn/fuz": "^0.110.4",
73
+ "@ryanatkn/moss": "^0.8.0",
74
74
  "@sveltejs/adapter-static": "^3.0.2",
75
75
  "@sveltejs/kit": "^2.5.18",
76
76
  "@sveltejs/package": "^2.3.2",
@@ -78,12 +78,12 @@
78
78
  "@types/fs-extra": "^11.0.4",
79
79
  "@types/node": "^20.14.10",
80
80
  "esbuild": "^0.21.5",
81
- "eslint": "^9.6.0",
81
+ "eslint": "^9.7.0",
82
82
  "eslint-plugin-svelte": "^2.42.0",
83
- "svelte": "^5.0.0-next.182",
83
+ "svelte": "^5.0.0-next.184",
84
84
  "svelte-check": "^3.8.4",
85
85
  "typescript": "^5.5.3",
86
- "typescript-eslint": "^8.0.0-alpha.41",
86
+ "typescript-eslint": "^8.0.0-alpha.44",
87
87
  "uvu": "^0.5.6"
88
88
  },
89
89
  "prettier": {
@@ -37,7 +37,7 @@ type Parsed_Changelog = z.infer<typeof Parsed_Changelog>;
37
37
  const parse_changelog = (contents: string): Parsed_Changelog => contents.split('\n');
38
38
  const serialize_changelog = (parsed: Parsed_Changelog): string => parsed.join('\n');
39
39
 
40
- const LINE_WITH_SHA_MATCHER = /^- ([a-z0-9]{7,8}): /u;
40
+ const LINE_WITH_SHA_MATCHER = /^- ([a-z0-9]{7,8}): /;
41
41
 
42
42
  const map_changelog = async (
43
43
  parsed: Parsed_Changelog,
@@ -96,7 +96,9 @@ export const task: Task<Args> = {
96
96
  await spawn_cli(found_changeset_cli, ['init'], log);
97
97
 
98
98
  const access =
99
- access_arg ?? package_json.private ? CHANGESET_RESTRICTED_ACCESS : CHANGESET_PUBLIC_ACCESS;
99
+ (access_arg ?? package_json.private)
100
+ ? CHANGESET_RESTRICTED_ACCESS
101
+ : CHANGESET_PUBLIC_ACCESS;
100
102
 
101
103
  const access_color = access === CHANGESET_RESTRICTED_ACCESS ? blue : red;
102
104
  log.info('initing changeset with ' + access_color(access) + ' access');
package/src/lib/config.ts CHANGED
@@ -97,7 +97,7 @@ const default_map_package_json: Map_Package_Json = (package_json) => {
97
97
  return package_json;
98
98
  };
99
99
 
100
- export const DEFAULT_EXPORTS_EXCLUDER = /(\.md|\.(test|ignore)\.|\/(test|fixtures|ignore)\/)/u;
100
+ export const DEFAULT_EXPORTS_EXCLUDER = /(\.md|\.(test|ignore)\.|\/(test|fixtures|ignore)\/)/;
101
101
 
102
102
  /**
103
103
  * Transforms a `Raw_Gro_Config` to the more strict `Gro_Config`.
@@ -81,7 +81,7 @@ export const esbuild_plugin_external_worker = ({
81
81
  return building;
82
82
  };
83
83
 
84
- build.onResolve({filter: /\.worker(|\.js|\.ts)$/u}, async ({path, resolveDir}) => {
84
+ build.onResolve({filter: /\.worker(|\.js|\.ts)$/}, async ({path, resolveDir}) => {
85
85
  const parsed = resolve_specifier(path, resolveDir);
86
86
  const {specifier, path_id, namespace} = parsed;
87
87
  const build_result = await build_worker(path_id);
@@ -83,7 +83,7 @@ const convert_svelte_message_to_esbuild = (
83
83
  ): esbuild.PartialMessage => {
84
84
  let location: esbuild.PartialMessage['location'] = null;
85
85
  if (start && end) {
86
- const lineText = source.split(/\r\n|\r|\n/gu)[start.line - 1];
86
+ const lineText = source.split(/\r\n|\r|\n/g)[start.line - 1];
87
87
  const lineEnd = start.line === end.line ? end.column : lineText.length;
88
88
  location = {
89
89
  file: path,
@@ -12,18 +12,18 @@ import {resolve_specifier} from './resolve_specifier.js';
12
12
  export const esbuild_plugin_sveltekit_local_imports = (): esbuild.Plugin => ({
13
13
  name: 'sveltekit_local_imports',
14
14
  setup: (build) => {
15
- build.onResolve({filter: /^(\/|\.)/u}, (args) => {
15
+ build.onResolve({filter: /^(\/|\.)/}, (args) => {
16
16
  const {path, importer} = args;
17
17
  if (!importer) return {path};
18
18
  const {path_id, namespace} = resolve_specifier(path, dirname(importer));
19
19
  return {path: path_id, namespace}; // `namespace` may be `undefined`, but esbuild needs the absolute path for json etc
20
20
  });
21
- build.onLoad({filter: /.*/u, namespace: 'sveltekit_local_imports_ts'}, async ({path}) => ({
21
+ build.onLoad({filter: /.*/, namespace: 'sveltekit_local_imports_ts'}, async ({path}) => ({
22
22
  contents: await readFile(path),
23
23
  loader: 'ts',
24
24
  resolveDir: dirname(path),
25
25
  }));
26
- build.onLoad({filter: /.*/u, namespace: 'sveltekit_local_imports_js'}, async ({path}) => ({
26
+ build.onLoad({filter: /.*/, namespace: 'sveltekit_local_imports_js'}, async ({path}) => ({
27
27
  contents: await readFile(path),
28
28
  resolveDir: dirname(path),
29
29
  }));
@@ -20,21 +20,21 @@ export const esbuild_plugin_sveltekit_shim_app = ({
20
20
  }: Options): esbuild.Plugin => ({
21
21
  name: 'sveltekit_shim_app',
22
22
  setup: (build) => {
23
- build.onResolve({filter: /^\$app\/(forms|navigation|stores)$/u}, ({path, ...rest}) =>
23
+ build.onResolve({filter: /^\$app\/(forms|navigation|stores)$/}, ({path, ...rest}) =>
24
24
  build.resolve(sveltekit_shim_app_specifiers.get(path)!, rest),
25
25
  );
26
- build.onResolve({filter: /^\$app\/paths$/u}, ({path}) => ({
26
+ build.onResolve({filter: /^\$app\/paths$/}, ({path}) => ({
27
27
  path: sveltekit_shim_app_specifiers.get(path)!,
28
28
  namespace: 'sveltekit_shim_app_paths',
29
29
  }));
30
- build.onLoad({filter: /.*/u, namespace: 'sveltekit_shim_app_paths'}, () => ({
30
+ build.onLoad({filter: /.*/, namespace: 'sveltekit_shim_app_paths'}, () => ({
31
31
  contents: render_sveltekit_shim_app_paths(base_url, assets_url),
32
32
  }));
33
- build.onResolve({filter: /^\$app\/environment$/u}, ({path}) => ({
33
+ build.onResolve({filter: /^\$app\/environment$/}, ({path}) => ({
34
34
  path: sveltekit_shim_app_specifiers.get(path)!,
35
35
  namespace: 'sveltekit_shim_app_environment',
36
36
  }));
37
- build.onLoad({filter: /.*/u, namespace: 'sveltekit_shim_app_environment'}, () => ({
37
+ build.onLoad({filter: /.*/, namespace: 'sveltekit_shim_app_environment'}, () => ({
38
38
  contents: render_sveltekit_shim_app_environment(dev),
39
39
  }));
40
40
  },
@@ -22,9 +22,9 @@ export const esbuild_plugin_sveltekit_shim_env = ({
22
22
  name: 'sveltekit_shim_env',
23
23
  setup: (build) => {
24
24
  const namespace = 'sveltekit_shim_env';
25
- const filter = /^\$env\/(static|dynamic)\/(public|private)$/u;
25
+ const filter = /^\$env\/(static|dynamic)\/(public|private)$/;
26
26
  build.onResolve({filter}, ({path}) => ({path, namespace}));
27
- build.onLoad({filter: /.*/u, namespace}, ({path}) => {
27
+ build.onLoad({filter: /.*/, namespace}, ({path}) => {
28
28
  const matches = filter.exec(path);
29
29
  const mode = matches![1] as 'static' | 'dynamic';
30
30
  const visibility = matches![2] as 'public' | 'private';
package/src/lib/github.ts CHANGED
@@ -6,7 +6,7 @@ import {Fetch_Value_Cache, fetch_value} from '@ryanatkn/belt/fetch.js';
6
6
  import type {Logger} from '@ryanatkn/belt/log.js';
7
7
  import {z} from 'zod';
8
8
 
9
- export const GITHUB_REPO_MATCHER = /.+github.com\/(.+)\/(.+)/u;
9
+ export const GITHUB_REPO_MATCHER = /.+github.com\/(.+)\/(.+)/;
10
10
 
11
11
  export const Github_Pull_Request = z.object({
12
12
  url: z.string(),
@@ -30,7 +30,7 @@ export type Raw_Input_Path = Flavored<z.infer<typeof Raw_Input_Path>, 'Raw_Input
30
30
  */
31
31
  export const to_input_path = (
32
32
  raw_input_path: Raw_Input_Path,
33
- root_path = process.cwd(), // TODO @multiple isn't passed in anywhere, maybe hoist to `invoke_task` and others
33
+ root_path = process.cwd(), // TODO @many isn't passed in anywhere, maybe hoist to `invoke_task` and others
34
34
  ): Input_Path => {
35
35
  if (raw_input_path.startsWith(GRO_PACKAGE_DIR)) {
36
36
  return GRO_DIST_DIR + strip_start(raw_input_path, GRO_PACKAGE_DIR);
@@ -42,7 +42,7 @@ export const to_input_path = (
42
42
 
43
43
  export const to_input_paths = (
44
44
  raw_input_paths: Raw_Input_Path[],
45
- root_path?: string, // TODO @multiple isn't passed in anywhere, maybe hoist to `invoke_task` and others
45
+ root_path?: string, // TODO @many isn't passed in anywhere, maybe hoist to `invoke_task` and others
46
46
  ): Input_Path[] => raw_input_paths.map((p) => to_input_path(p, root_path));
47
47
 
48
48
  export interface Possible_Path {
package/src/lib/loader.ts CHANGED
@@ -75,10 +75,10 @@ const final_ts_transform_options: esbuild.TransformOptions = {
75
75
 
76
76
  const aliases = Object.entries({$lib: 'src/lib', ...alias});
77
77
 
78
- const TS_MATCHER = /\.(ts|tsx|mts|cts)$/u;
79
- const JSON_MATCHER = /\.(json)$/u;
80
- const NOOP_MATCHER = /\.(css|svg)$/u; // TODO others? configurable?
81
- const ENV_MATCHER = /src\/lib\/\$env\/(static|dynamic)\/(public|private)$/u;
78
+ const TS_MATCHER = /\.(ts|tsx|mts|cts)$/;
79
+ const JSON_MATCHER = /\.(json)$/;
80
+ const NOOP_MATCHER = /\.(css|svg)$/; // TODO others? configurable?
81
+ const ENV_MATCHER = /src\/lib\/\$env\/(static|dynamic)\/(public|private)$/;
82
82
  const NODE_MODULES_MATCHER = new RegExp(escape_regexp('/' + NODE_MODULES_DIRNAME + '/'), 'u');
83
83
 
84
84
  const package_json_cache: Record<string, Package_Json> = {};
@@ -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.130.1',
8
+ version: '0.130.2',
9
9
  description: 'task runner and toolkit extending SvelteKit',
10
10
  motto: 'generate, run, optimize',
11
11
  glyph: '🌰',
@@ -44,13 +44,13 @@ export const package_json = {
44
44
  'typescript',
45
45
  ],
46
46
  dependencies: {
47
- '@ryanatkn/belt': '^0.24.4',
47
+ '@ryanatkn/belt': '^0.24.9',
48
48
  chokidar: '^3.6.0',
49
49
  dotenv: '^16.4.5',
50
50
  'es-module-lexer': '^1.5.4',
51
51
  'esm-env': '^1.0.0',
52
52
  mri: '^1.2.0',
53
- prettier: '^3.3.2',
53
+ prettier: '^3.3.3',
54
54
  'prettier-plugin-svelte': '^3.2.5',
55
55
  'ts-morph': '^23.0.0',
56
56
  tslib: '^2.6.3',
@@ -60,9 +60,9 @@ export const package_json = {
60
60
  devDependencies: {
61
61
  '@changesets/changelog-git': '^0.2.0',
62
62
  '@changesets/types': '^6.0.0',
63
- '@ryanatkn/eslint-config': '^0.4.0',
64
- '@ryanatkn/fuz': '^0.108.4',
65
- '@ryanatkn/moss': '^0.7.1',
63
+ '@ryanatkn/eslint-config': '^0.4.2',
64
+ '@ryanatkn/fuz': '^0.110.4',
65
+ '@ryanatkn/moss': '^0.8.0',
66
66
  '@sveltejs/adapter-static': '^3.0.2',
67
67
  '@sveltejs/kit': '^2.5.18',
68
68
  '@sveltejs/package': '^2.3.2',
@@ -70,12 +70,12 @@ export const package_json = {
70
70
  '@types/fs-extra': '^11.0.4',
71
71
  '@types/node': '^20.14.10',
72
72
  esbuild: '^0.21.5',
73
- eslint: '^9.6.0',
73
+ eslint: '^9.7.0',
74
74
  'eslint-plugin-svelte': '^2.42.0',
75
- svelte: '^5.0.0-next.182',
75
+ svelte: '^5.0.0-next.184',
76
76
  'svelte-check': '^3.8.4',
77
77
  typescript: '^5.5.3',
78
- 'typescript-eslint': '^8.0.0-alpha.41',
78
+ 'typescript-eslint': '^8.0.0-alpha.44',
79
79
  uvu: '^0.5.6',
80
80
  },
81
81
  prettier: {
@@ -272,7 +272,7 @@ export const package_json = {
272
272
 
273
273
  export const src_json = {
274
274
  name: '@ryanatkn/gro',
275
- version: '0.130.1',
275
+ version: '0.130.2',
276
276
  modules: {
277
277
  '.': {
278
278
  path: 'index.ts',
@@ -12,11 +12,11 @@ import {search_fs} from './search_fs.js';
12
12
  import {has_sveltekit_library} from './sveltekit_helpers.js';
13
13
  import {GITHUB_REPO_MATCHER} from './github.js';
14
14
 
15
- // TODO @multiple belongs elsewhere
15
+ // TODO @many belongs elsewhere
16
16
  export const Url = z.string();
17
17
  export type Url = Flavored<z.infer<typeof Url>, 'Url'>;
18
18
 
19
- // TODO @multiple belongs elsewhere
19
+ // TODO @many belongs elsewhere
20
20
  export const Email = z.string();
21
21
  export type Email = Flavored<z.infer<typeof Email>, 'Email'>;
22
22
 
@@ -1,4 +1,4 @@
1
- import {strip_start, strip_end} from '@ryanatkn/belt/string.js';
1
+ import {strip_start, strip_end, ensure_end} from '@ryanatkn/belt/string.js';
2
2
 
3
3
  import type {Package_Json, Url} from './package_json.js';
4
4
  import type {Src_Json} from './src_json.js';
@@ -8,15 +8,17 @@ export interface Package_Meta {
8
8
  url: Url;
9
9
  package_json: Package_Json;
10
10
  src_json: Src_Json;
11
- name: string; // '@ryanatkn/fuz_library';
11
+ name: string; // '@ryanatkn/fuz_library'
12
12
  repo_name: string; // fuz_library
13
- repo_url: Url | null; // 'https://github.com/ryanatkn/fuz';
13
+ repo_url: Url | null; // 'https://github.com/ryanatkn/fuz'
14
14
  /**
15
15
  * the is the github user/org, not npm
16
16
  */
17
- owner_name: string | null; // 'fuz-dev';
18
- homepage_url: Url | null; // 'https://www.fuz.dev/';
19
- npm_url: Url | null; // 'https://npmjs.com/package/@ryanatkn/fuz_library';
17
+ owner_name: string | null; // 'fuz-dev'
18
+ homepage_url: Url | null; // 'https://www.fuz.dev/'
19
+ logo_url: Url | null; // 'https://www.fuz.dev/logo.svg' falling back to 'https://www.fuz.dev/favicon.png'
20
+ logo_alt: string; // 'icon for gro'
21
+ npm_url: Url | null; // 'https://npmjs.com/package/@ryanatkn/fuz_library'
20
22
  changelog_url: Url | null;
21
23
  published: boolean;
22
24
  }
@@ -56,6 +58,13 @@ export const parse_package_meta = (
56
58
 
57
59
  const owner_name = repo_url ? strip_start(repo_url, 'https://github.com/').split('/')[0] : null;
58
60
 
61
+ const logo_url = homepage_url
62
+ ? ensure_end(homepage_url, '/') +
63
+ (package_json.logo ? strip_start(package_json.logo, '/') : 'favicon.png')
64
+ : null;
65
+
66
+ const logo_alt = package_json.logo_alt ?? `logo for ${repo_name}`;
67
+
59
68
  return {
60
69
  url,
61
70
  package_json,
@@ -65,6 +74,8 @@ export const parse_package_meta = (
65
74
  repo_url,
66
75
  owner_name,
67
76
  homepage_url,
77
+ logo_url,
78
+ logo_alt,
68
79
  npm_url,
69
80
  changelog_url,
70
81
  published,
@@ -1,2 +1,2 @@
1
- export const SVELTE_MATCHER = /\.svelte$/u;
2
- export const SVELTE_RUNES_MATCHER = /\.svelte\.(js|ts)$/u; // TODO probably let `.svelte.` appear anywhere - https://github.com/sveltejs/svelte/issues/11536
1
+ export const SVELTE_MATCHER = /\.svelte$/;
2
+ export const SVELTE_RUNES_MATCHER = /\.svelte\.(js|ts)$/; // TODO probably let `.svelte.` appear anywhere - https://github.com/sveltejs/svelte/issues/11536
@@ -1,8 +1,7 @@
1
1
  import type {Parsed_Sveltekit_Config} from './sveltekit_config.js';
2
2
 
3
- export const SVELTEKIT_SHIM_APP_PATHS_MATCHER = /\/util\/sveltekit_shim_app_paths\.js$/u;
4
- export const SVELTEKIT_SHIM_APP_ENVIRONMENT_MATCHER =
5
- /\/util\/sveltekit_shim_app_environment\.js$/u;
3
+ export const SVELTEKIT_SHIM_APP_PATHS_MATCHER = /\/util\/sveltekit_shim_app_paths\.js$/;
4
+ export const SVELTEKIT_SHIM_APP_ENVIRONMENT_MATCHER = /\/util\/sveltekit_shim_app_environment\.js$/;
6
5
 
7
6
  /**
8
7
  * Maps SvelteKit `$app` specifiers to their Gro shims.
package/src/lib/task.ts CHANGED
@@ -206,7 +206,7 @@ export type Load_Tasks_Failure = Load_Modules_Failure<Task_Module_Meta>;
206
206
 
207
207
  export const load_tasks = async (
208
208
  found_tasks: Found_Tasks,
209
- root_path: Path_Id = process.cwd(), // TODO @multiple isn't passed in anywhere, maybe hoist to `invoke_task` and others
209
+ root_path: Path_Id = process.cwd(), // TODO @many isn't passed in anywhere, maybe hoist to `invoke_task` and others
210
210
  ): Promise<Load_Tasks_Result> => {
211
211
  const loaded_modules = await load_modules(
212
212
  found_tasks.resolved_input_files,
@@ -87,8 +87,8 @@ const to_deps = (package_json: Package_Json): Dep[] => {
87
87
  return prod_deps.concat(dev_deps);
88
88
  };
89
89
 
90
- const EXACT_VERSION_MATCHER = /^..*@.+/u;
91
- const CUSTOM_TAG_MATCHER = /^[\^~><=]*.+-(.+)/u;
90
+ const EXACT_VERSION_MATCHER = /^..*@.+/;
91
+ const CUSTOM_TAG_MATCHER = /^[\^~><=]*.+-(.+)/;
92
92
 
93
93
  // TODO hacky and limited
94
94
  // TODO probably want to pass through exact deps as well, e.g. @foo/bar@1