@ryanatkn/gro 0.130.0 → 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.
- package/dist/changelog.js +1 -1
- package/dist/changeset.task.d.ts.map +1 -1
- package/dist/changeset.task.js +3 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/esbuild_plugin_external_worker.js +1 -1
- package/dist/esbuild_plugin_svelte.js +1 -1
- package/dist/esbuild_plugin_sveltekit_local_imports.js +3 -3
- package/dist/esbuild_plugin_sveltekit_shim_app.js +5 -5
- package/dist/esbuild_plugin_sveltekit_shim_env.js +2 -2
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +1 -1
- package/dist/loader.js +4 -4
- package/dist/package.js +10 -10
- package/dist/package_json.js +2 -2
- package/dist/package_meta.d.ts +2 -0
- package/dist/package_meta.d.ts.map +1 -1
- package/dist/package_meta.js +8 -1
- package/dist/publish.task.d.ts.map +1 -1
- package/dist/publish.task.js +10 -1
- package/dist/svelte_helpers.d.ts.map +1 -1
- package/dist/svelte_helpers.js +2 -2
- package/dist/sveltekit_shim_app.d.ts.map +1 -1
- package/dist/sveltekit_shim_app.js +2 -2
- package/dist/upgrade.task.js +2 -2
- package/package.json +9 -9
- package/src/lib/changelog.ts +1 -1
- package/src/lib/changeset.task.ts +3 -1
- package/src/lib/config.ts +1 -1
- package/src/lib/esbuild_plugin_external_worker.ts +1 -1
- package/src/lib/esbuild_plugin_svelte.ts +1 -1
- package/src/lib/esbuild_plugin_sveltekit_local_imports.ts +3 -3
- package/src/lib/esbuild_plugin_sveltekit_shim_app.ts +5 -5
- package/src/lib/esbuild_plugin_sveltekit_shim_env.ts +2 -2
- package/src/lib/github.ts +1 -1
- package/src/lib/input_path.ts +2 -2
- package/src/lib/loader.ts +4 -4
- package/src/lib/package.ts +10 -10
- package/src/lib/package_json.ts +2 -2
- package/src/lib/package_meta.ts +17 -6
- package/src/lib/publish.task.ts +10 -1
- package/src/lib/svelte_helpers.ts +2 -2
- package/src/lib/sveltekit_shim_app.ts +2 -3
- package/src/lib/task.ts +1 -1
- 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}):
|
|
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,
|
|
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"}
|
package/dist/changeset.task.js
CHANGED
|
@@ -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
|
|
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) {
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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,
|
|
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)\/)
|
|
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)$/
|
|
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/
|
|
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: /^(\/|\.)/
|
|
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:
|
|
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:
|
|
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)$/
|
|
6
|
-
build.onResolve({ filter: /^\$app\/paths$/
|
|
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:
|
|
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$/
|
|
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:
|
|
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)
|
|
6
|
+
const filter = /^\$env\/(static|dynamic)\/(public|private)$/;
|
|
7
7
|
build.onResolve({ filter }, ({ path }) => ({ path, namespace }));
|
|
8
|
-
build.onLoad({ filter:
|
|
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];
|
package/dist/github.d.ts.map
CHANGED
|
@@ -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,
|
|
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\/(.+)\/(.+)
|
|
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)
|
|
52
|
-
const JSON_MATCHER = /\.(json)
|
|
53
|
-
const NOOP_MATCHER = /\.(css|svg)
|
|
54
|
-
const ENV_MATCHER = /src\/lib\/\$env\/(static|dynamic)\/(public|private)
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
59
|
-
'@ryanatkn/fuz': '^0.
|
|
60
|
-
'@ryanatkn/moss': '^0.
|
|
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.
|
|
68
|
+
eslint: '^9.7.0',
|
|
69
69
|
'eslint-plugin-svelte': '^2.42.0',
|
|
70
|
-
svelte: '^5.0.0-next.
|
|
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.
|
|
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.
|
|
269
|
+
version: '0.130.2',
|
|
270
270
|
modules: {
|
|
271
271
|
'.': {
|
|
272
272
|
path: 'index.ts',
|
package/dist/package_json.js
CHANGED
|
@@ -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 @
|
|
11
|
+
// TODO @many belongs elsewhere
|
|
12
12
|
export const Url = z.string();
|
|
13
|
-
// TODO @
|
|
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) => {
|
package/dist/package_meta.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/package_meta.js
CHANGED
|
@@ -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":"publish.task.d.ts","sourceRoot":"../src/lib/","sources":["publish.task.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAItB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAwBhD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BP,CAAC;AACX,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"publish.task.d.ts","sourceRoot":"../src/lib/","sources":["publish.task.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAItB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAwBhD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BP,CAAC;AACX,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CA+I3B,CAAC"}
|
package/dist/publish.task.js
CHANGED
|
@@ -79,6 +79,7 @@ export const task = {
|
|
|
79
79
|
await invoke_task('check', { workspace: true });
|
|
80
80
|
}
|
|
81
81
|
let version;
|
|
82
|
+
let optional_and_version_unchanged = false;
|
|
82
83
|
// Bump the version so the package.json is updated before building:
|
|
83
84
|
// TODO problem here is build may fail and put us in a bad state,
|
|
84
85
|
// but I don't see how we could do this to robustly
|
|
@@ -116,16 +117,24 @@ export const task = {
|
|
|
116
117
|
// The version didn't change.
|
|
117
118
|
// For now this is the best detection we have for a no-op `changeset version`.
|
|
118
119
|
if (optional) {
|
|
119
|
-
|
|
120
|
+
optional_and_version_unchanged = true;
|
|
120
121
|
}
|
|
121
122
|
else {
|
|
123
|
+
// Doesn't build if the version didn't change and publishing isn't optional.
|
|
122
124
|
throw new Task_Error(`\`${changeset_cli} version\` failed: are there any changes?`);
|
|
123
125
|
}
|
|
124
126
|
}
|
|
125
127
|
}
|
|
128
|
+
// Build after the version is bumped so the new version is in the build as needed.
|
|
126
129
|
if (build) {
|
|
127
130
|
await invoke_task('build');
|
|
128
131
|
}
|
|
132
|
+
// Return early if there are no changes and publishing is optional, but after building,
|
|
133
|
+
// so if callers want to optimize away building
|
|
134
|
+
// they need to do so manually like in `gro release`.
|
|
135
|
+
// TODO this could be cleaned up if tasks had a return value to callers, it could specifiy that it didn't build
|
|
136
|
+
if (optional_and_version_unchanged)
|
|
137
|
+
return;
|
|
129
138
|
if (dry) {
|
|
130
139
|
log.info('publishing branch ' + branch);
|
|
131
140
|
log.info(green('dry run complete!'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svelte_helpers.d.ts","sourceRoot":"../src/lib/","sources":["svelte_helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,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"}
|
package/dist/svelte_helpers.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SVELTE_MATCHER = /\.svelte
|
|
2
|
-
export const SVELTE_RUNES_MATCHER = /\.svelte\.(js|ts)
|
|
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,
|
|
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
|
|
2
|
-
export const SVELTEKIT_SHIM_APP_ENVIRONMENT_MATCHER = /\/util\/sveltekit_shim_app_environment\.js
|
|
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
|
package/dist/upgrade.task.js
CHANGED
|
@@ -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 =
|
|
68
|
-
const CUSTOM_TAG_MATCHER = /^[\^~><=]*.+-(.+)
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
72
|
-
"@ryanatkn/fuz": "^0.
|
|
73
|
-
"@ryanatkn/moss": "^0.
|
|
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.
|
|
81
|
+
"eslint": "^9.7.0",
|
|
82
82
|
"eslint-plugin-svelte": "^2.42.0",
|
|
83
|
-
"svelte": "^5.0.0-next.
|
|
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.
|
|
86
|
+
"typescript-eslint": "^8.0.0-alpha.44",
|
|
87
87
|
"uvu": "^0.5.6"
|
|
88
88
|
},
|
|
89
89
|
"prettier": {
|
package/src/lib/changelog.ts
CHANGED
|
@@ -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}):
|
|
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
|
|
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)\/)
|
|
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)$/
|
|
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/
|
|
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: /^(\/|\.)/
|
|
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:
|
|
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:
|
|
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)$/
|
|
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$/
|
|
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:
|
|
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$/
|
|
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:
|
|
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)
|
|
25
|
+
const filter = /^\$env\/(static|dynamic)\/(public|private)$/;
|
|
26
26
|
build.onResolve({filter}, ({path}) => ({path, namespace}));
|
|
27
|
-
build.onLoad({filter:
|
|
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\/(.+)\/(.+)
|
|
9
|
+
export const GITHUB_REPO_MATCHER = /.+github.com\/(.+)\/(.+)/;
|
|
10
10
|
|
|
11
11
|
export const Github_Pull_Request = z.object({
|
|
12
12
|
url: z.string(),
|
package/src/lib/input_path.ts
CHANGED
|
@@ -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 @
|
|
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 @
|
|
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)
|
|
79
|
-
const JSON_MATCHER = /\.(json)
|
|
80
|
-
const NOOP_MATCHER = /\.(css|svg)
|
|
81
|
-
const ENV_MATCHER = /src\/lib\/\$env\/(static|dynamic)\/(public|private)
|
|
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> = {};
|
package/src/lib/package.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
64
|
-
'@ryanatkn/fuz': '^0.
|
|
65
|
-
'@ryanatkn/moss': '^0.
|
|
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.
|
|
73
|
+
eslint: '^9.7.0',
|
|
74
74
|
'eslint-plugin-svelte': '^2.42.0',
|
|
75
|
-
svelte: '^5.0.0-next.
|
|
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.
|
|
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.
|
|
275
|
+
version: '0.130.2',
|
|
276
276
|
modules: {
|
|
277
277
|
'.': {
|
|
278
278
|
path: 'index.ts',
|
package/src/lib/package_json.ts
CHANGED
|
@@ -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 @
|
|
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 @
|
|
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
|
|
package/src/lib/package_meta.ts
CHANGED
|
@@ -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
|
-
|
|
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,
|
package/src/lib/publish.task.ts
CHANGED
|
@@ -114,6 +114,7 @@ export const task: Task<Args> = {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
let version!: string;
|
|
117
|
+
let optional_and_version_unchanged = false;
|
|
117
118
|
|
|
118
119
|
// Bump the version so the package.json is updated before building:
|
|
119
120
|
// TODO problem here is build may fail and put us in a bad state,
|
|
@@ -159,17 +160,25 @@ export const task: Task<Args> = {
|
|
|
159
160
|
// The version didn't change.
|
|
160
161
|
// For now this is the best detection we have for a no-op `changeset version`.
|
|
161
162
|
if (optional) {
|
|
162
|
-
|
|
163
|
+
optional_and_version_unchanged = true;
|
|
163
164
|
} else {
|
|
165
|
+
// Doesn't build if the version didn't change and publishing isn't optional.
|
|
164
166
|
throw new Task_Error(`\`${changeset_cli} version\` failed: are there any changes?`);
|
|
165
167
|
}
|
|
166
168
|
}
|
|
167
169
|
}
|
|
168
170
|
|
|
171
|
+
// Build after the version is bumped so the new version is in the build as needed.
|
|
169
172
|
if (build) {
|
|
170
173
|
await invoke_task('build');
|
|
171
174
|
}
|
|
172
175
|
|
|
176
|
+
// Return early if there are no changes and publishing is optional, but after building,
|
|
177
|
+
// so if callers want to optimize away building
|
|
178
|
+
// they need to do so manually like in `gro release`.
|
|
179
|
+
// TODO this could be cleaned up if tasks had a return value to callers, it could specifiy that it didn't build
|
|
180
|
+
if (optional_and_version_unchanged) return;
|
|
181
|
+
|
|
173
182
|
if (dry) {
|
|
174
183
|
log.info('publishing branch ' + branch);
|
|
175
184
|
log.info(green('dry run complete!'));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SVELTE_MATCHER = /\.svelte
|
|
2
|
-
export const SVELTE_RUNES_MATCHER = /\.svelte\.(js|ts)
|
|
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
|
|
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 @
|
|
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,
|
package/src/lib/upgrade.task.ts
CHANGED
|
@@ -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 =
|
|
91
|
-
const CUSTOM_TAG_MATCHER = /^[\^~><=]*.+-(.+)
|
|
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
|