@ryanatkn/gro 0.161.2 → 0.162.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -7
- package/dist/build.task.d.ts.map +1 -1
- package/dist/build.task.js +4 -2
- package/dist/check.task.d.ts +0 -1
- package/dist/check.task.d.ts.map +1 -1
- package/dist/check.task.js +8 -8
- package/dist/child_process_logging.js +1 -1
- package/dist/constants.d.ts +10 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +12 -3
- package/dist/dev.task.d.ts +0 -1
- package/dist/dev.task.d.ts.map +1 -1
- package/dist/dev.task.js +5 -7
- package/dist/disknode.d.ts +18 -0
- package/dist/disknode.d.ts.map +1 -0
- package/dist/disknode.js +1 -0
- package/dist/esbuild_plugin_sveltekit_shim_env.d.ts.map +1 -1
- package/dist/esbuild_plugin_sveltekit_shim_env.js +1 -2
- package/dist/filer.d.ts +6 -21
- package/dist/filer.d.ts.map +1 -1
- package/dist/filer.js +11 -6
- package/dist/format_directory.js +2 -2
- package/dist/gen.task.d.ts.map +1 -1
- package/dist/gen.task.js +56 -12
- package/dist/git.js +3 -3
- package/dist/gro.config.default.d.ts.map +1 -1
- package/dist/gro.config.default.js +2 -1
- package/dist/gro_config.d.ts +1 -1
- package/dist/gro_config.d.ts.map +1 -1
- package/dist/gro_config.js +5 -5
- package/dist/gro_plugin_gen.d.ts.map +1 -1
- package/dist/gro_plugin_gen.js +7 -6
- package/dist/gro_plugin_server.d.ts.map +1 -1
- package/dist/gro_plugin_server.js +16 -25
- package/dist/gro_plugin_sveltekit_app.d.ts.map +1 -1
- package/dist/gro_plugin_sveltekit_app.js +1 -2
- package/dist/gro_plugin_sveltekit_library.d.ts.map +1 -1
- package/dist/gro_plugin_sveltekit_library.js +2 -1
- package/dist/invoke.js +6 -4
- package/dist/package.d.ts.map +1 -1
- package/dist/package.gen.d.ts.map +1 -1
- package/dist/package.gen.js +4 -0
- package/dist/package.js +41 -30
- package/dist/package_json.d.ts +4 -3
- package/dist/package_json.d.ts.map +1 -1
- package/dist/package_json.js +12 -10
- package/dist/parse_imports.js +2 -2
- package/dist/paths.js +2 -2
- package/dist/reinstall.task.js +1 -1
- package/dist/resolve_specifier.d.ts.map +1 -1
- package/dist/src_json.d.ts.map +1 -1
- package/dist/src_json.js +3 -1
- package/dist/svelte_config.d.ts.map +1 -1
- package/dist/svelte_config.js +2 -0
- package/dist/sveltekit_helpers.d.ts +0 -7
- package/dist/sveltekit_helpers.d.ts.map +1 -1
- package/dist/sveltekit_helpers.js +1 -8
- package/dist/sync.task.d.ts +0 -1
- package/dist/sync.task.d.ts.map +1 -1
- package/dist/sync.task.js +1 -2
- package/dist/task.d.ts.map +1 -1
- package/dist/test.task.d.ts +2 -3
- package/dist/test.task.d.ts.map +1 -1
- package/dist/test.task.js +31 -30
- package/dist/test_helpers.d.ts +1 -0
- package/dist/test_helpers.d.ts.map +1 -1
- package/dist/test_helpers.js +1 -0
- package/dist/typecheck.task.d.ts.map +1 -1
- package/dist/typecheck.task.js +2 -1
- package/dist/upgrade.task.d.ts.map +1 -1
- package/dist/upgrade.task.js +2 -1
- package/package.json +34 -19
- package/src/lib/build.task.ts +3 -2
- package/src/lib/check.task.ts +7 -8
- package/src/lib/child_process_logging.ts +1 -1
- package/src/lib/constants.ts +12 -3
- package/src/lib/dev.task.ts +4 -7
- package/src/lib/disknode.ts +21 -0
- package/src/lib/esbuild_plugin_sveltekit_shim_env.ts +1 -2
- package/src/lib/filer.ts +23 -35
- package/src/lib/format_directory.ts +2 -2
- package/src/lib/gen.task.ts +83 -23
- package/src/lib/git.ts +3 -3
- package/src/lib/gro.config.default.ts +2 -1
- package/src/lib/gro_config.ts +11 -7
- package/src/lib/gro_plugin_gen.ts +8 -6
- package/src/lib/gro_plugin_server.ts +18 -24
- package/src/lib/gro_plugin_sveltekit_app.ts +1 -2
- package/src/lib/gro_plugin_sveltekit_library.ts +2 -5
- package/src/lib/invoke.ts +6 -4
- package/src/lib/package.gen.ts +4 -0
- package/src/lib/package.ts +41 -30
- package/src/lib/package_json.ts +11 -9
- package/src/lib/parse_imports.ts +2 -2
- package/src/lib/paths.ts +2 -2
- package/src/lib/reinstall.task.ts +1 -1
- package/src/lib/resolve_specifier.ts +2 -0
- package/src/lib/src_json.ts +3 -1
- package/src/lib/svelte_config.ts +3 -0
- package/src/lib/sveltekit_helpers.ts +7 -13
- package/src/lib/sync.task.ts +1 -2
- package/src/lib/task.ts +0 -2
- package/src/lib/test.task.ts +31 -32
- package/src/lib/test_helpers.ts +2 -0
- package/src/lib/typecheck.task.ts +2 -1
- package/src/lib/upgrade.task.ts +2 -1
package/dist/gro_config.js
CHANGED
|
@@ -9,7 +9,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
9
9
|
import { join, resolve } from 'node:path';
|
|
10
10
|
import { existsSync } from 'node:fs';
|
|
11
11
|
import { GRO_DIST_DIR, IS_THIS_GRO, paths } from "./paths.js";
|
|
12
|
-
import {
|
|
12
|
+
import { GRO_CONFIG_FILENAME, JS_CLI_DEFAULT, NODE_MODULES_DIRNAME, PM_CLI_DEFAULT, SERVER_DIST_PATH, SVELTEKIT_BUILD_DIRNAME, SVELTEKIT_DIST_DIRNAME, } from "./constants.js";
|
|
13
13
|
import create_default_config from "./gro.config.default.js";
|
|
14
14
|
export const create_empty_gro_config = () => ({
|
|
15
15
|
plugins: () => [],
|
|
@@ -48,7 +48,7 @@ export const EXPORTS_EXCLUDER_DEFAULT = /(\.md|\.(test|ignore)\.|\/(test|fixture
|
|
|
48
48
|
* Transforms a `Raw_Gro_Config` to the more strict `Gro_Config`.
|
|
49
49
|
* This allows users to provide a more relaxed config.
|
|
50
50
|
*/
|
|
51
|
-
export const
|
|
51
|
+
export const cook_gro_config = (raw_config) => {
|
|
52
52
|
const empty_config = create_empty_gro_config();
|
|
53
53
|
// All of the raw config properties are optional,
|
|
54
54
|
// so fall back to the empty values when `undefined`.
|
|
@@ -67,8 +67,8 @@ export const normalize_gro_config = (raw_config) => {
|
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
69
|
export const load_gro_config = async (dir = paths.root) => {
|
|
70
|
-
const default_config =
|
|
71
|
-
const config_path = join(dir,
|
|
70
|
+
const default_config = cook_gro_config(await create_default_config(create_empty_gro_config()));
|
|
71
|
+
const config_path = join(dir, GRO_CONFIG_FILENAME);
|
|
72
72
|
if (!existsSync(config_path)) {
|
|
73
73
|
// No user config file found, so return the default.
|
|
74
74
|
return default_config;
|
|
@@ -76,7 +76,7 @@ export const load_gro_config = async (dir = paths.root) => {
|
|
|
76
76
|
// Import the user's `gro.config.ts`.
|
|
77
77
|
const config_module = await import(__rewriteRelativeImportExtension(config_path, true));
|
|
78
78
|
validate_gro_config_module(config_module, config_path);
|
|
79
|
-
return
|
|
79
|
+
return cook_gro_config(typeof config_module.default === 'function'
|
|
80
80
|
? await config_module.default(default_config)
|
|
81
81
|
: config_module.default);
|
|
82
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gro_plugin_gen.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gro_plugin_gen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAQpC,MAAM,WAAW,SAAU,SAAQ,IAAI;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,oDAI5B,sBAAqC,KAAG,
|
|
1
|
+
{"version":3,"file":"gro_plugin_gen.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gro_plugin_gen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAQpC,MAAM,WAAW,SAAU,SAAQ,IAAI;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,oDAI5B,sBAAqC,KAAG,MAuF1C,CAAC"}
|
package/dist/gro_plugin_gen.js
CHANGED
|
@@ -23,8 +23,9 @@ export const gro_plugin_gen = ({ input_paths = [paths.source], root_dirs = [path
|
|
|
23
23
|
queued_files.clear();
|
|
24
24
|
await gen(files);
|
|
25
25
|
}, { delay: flush_debounce_delay });
|
|
26
|
+
// TODO do this in-process - will it cause caching issues with the current impl?
|
|
26
27
|
const gen = (files = []) => spawn_cli('gro', ['gen', ...files]);
|
|
27
|
-
let
|
|
28
|
+
let cleanup_watch;
|
|
28
29
|
return {
|
|
29
30
|
name: 'gro_plugin_gen',
|
|
30
31
|
setup: async ({ watch, dev, log, config, filer }) => {
|
|
@@ -47,7 +48,7 @@ export const gro_plugin_gen = ({ input_paths = [paths.source], root_dirs = [path
|
|
|
47
48
|
}
|
|
48
49
|
// When a file builds, check it and its tree of dependents
|
|
49
50
|
// for any `.gen.` files that need to run.
|
|
50
|
-
|
|
51
|
+
cleanup_watch = await filer.watch((change, source_file) => {
|
|
51
52
|
if (source_file.external)
|
|
52
53
|
return;
|
|
53
54
|
switch (change.type) {
|
|
@@ -63,7 +64,7 @@ export const gro_plugin_gen = ({ input_paths = [paths.source], root_dirs = [path
|
|
|
63
64
|
break;
|
|
64
65
|
}
|
|
65
66
|
case 'delete': {
|
|
66
|
-
// TODO delete the generated file(s)? option?
|
|
67
|
+
// TODO delete the generated file(s)? option? because it may be surprising
|
|
67
68
|
break;
|
|
68
69
|
}
|
|
69
70
|
default:
|
|
@@ -72,9 +73,9 @@ export const gro_plugin_gen = ({ input_paths = [paths.source], root_dirs = [path
|
|
|
72
73
|
});
|
|
73
74
|
},
|
|
74
75
|
teardown: async () => {
|
|
75
|
-
if (
|
|
76
|
-
await
|
|
77
|
-
|
|
76
|
+
if (cleanup_watch) {
|
|
77
|
+
await cleanup_watch();
|
|
78
|
+
cleanup_watch = undefined;
|
|
78
79
|
}
|
|
79
80
|
},
|
|
80
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gro_plugin_server.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gro_plugin_server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,eAAe,CAAC;AAI1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAIrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"gro_plugin_server.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gro_plugin_server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,eAAe,CAAC;AAI1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAIrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAexC,eAAO,MAAM,gBAAgB,6BAA0D,CAAC;AAExF,eAAO,MAAM,UAAU,GAAI,kCAAuB,KAAG,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAKpF,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;OAEG;IACH,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC;IACrF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC;AAEzD,eAAO,MAAM,iBAAiB,GAAI,mJAgB/B,yBAA8B,KAAG,MAsJnC,CAAC"}
|
|
@@ -7,7 +7,6 @@ import { existsSync } from 'node:fs';
|
|
|
7
7
|
import { throttle } from '@ryanatkn/belt/throttle.js';
|
|
8
8
|
import { base_path_to_path_id, LIB_DIRNAME, paths } from "./paths.js";
|
|
9
9
|
import { GRO_DEV_DIRNAME, SERVER_DIST_PATH } from "./constants.js";
|
|
10
|
-
import { watch_dir } from "./watch_dir.js";
|
|
11
10
|
import { parse_svelte_config, default_svelte_config } from "./svelte_config.js";
|
|
12
11
|
import { esbuild_plugin_sveltekit_shim_app } from "./esbuild_plugin_sveltekit_shim_app.js";
|
|
13
12
|
import { esbuild_plugin_sveltekit_shim_env } from "./esbuild_plugin_sveltekit_shim_env.js";
|
|
@@ -30,13 +29,13 @@ export const gro_plugin_server = ({ entry_points = [SERVER_SOURCE_ID], dir = pro
|
|
|
30
29
|
outname: 'server/server.js',
|
|
31
30
|
}), env_files, ambient_env, svelte_config, target = 'esnext', esbuild_build_options = identity, rebuild_throttle_delay = 1000, cli_command, run, // `dev` default is not available in this scope
|
|
32
31
|
} = {}) => {
|
|
33
|
-
let build_ctx
|
|
34
|
-
let
|
|
35
|
-
let server_process
|
|
36
|
-
let deps
|
|
32
|
+
let build_ctx;
|
|
33
|
+
let cleanup_watch;
|
|
34
|
+
let server_process;
|
|
35
|
+
let deps;
|
|
37
36
|
return {
|
|
38
37
|
name: 'gro_plugin_server',
|
|
39
|
-
setup: async ({ dev, watch, timings, log, config }) => {
|
|
38
|
+
setup: async ({ dev, watch, timings, log, config, filer }) => {
|
|
40
39
|
const parsed_svelte_config = !svelte_config && strip_end(dir, '/') === process.cwd()
|
|
41
40
|
? default_svelte_config
|
|
42
41
|
: await parse_svelte_config({
|
|
@@ -117,23 +116,13 @@ export const gro_plugin_server = ({ entry_points = [SERVER_SOURCE_ID], dir = pro
|
|
|
117
116
|
server_process?.restart();
|
|
118
117
|
}, { delay: rebuild_throttle_delay });
|
|
119
118
|
await rebuild();
|
|
120
|
-
// uses chokidar instead of esbuild's watcher for efficiency
|
|
121
119
|
if (watch) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
watcher = watch_dir({
|
|
128
|
-
dir: paths.lib,
|
|
129
|
-
on_change: (change) => {
|
|
130
|
-
if (!watcher_ready || !deps?.has(change.path))
|
|
131
|
-
return;
|
|
132
|
-
void rebuild();
|
|
133
|
-
},
|
|
120
|
+
cleanup_watch = await filer.watch((change) => {
|
|
121
|
+
if (!deps?.has(change.path)) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
void rebuild();
|
|
134
125
|
});
|
|
135
|
-
await watcher.init();
|
|
136
|
-
watcher_ready = true;
|
|
137
126
|
}
|
|
138
127
|
if (!existsSync(server_outpath)) {
|
|
139
128
|
throw Error(`Node server failed to start due to missing file: ${server_outpath}`);
|
|
@@ -148,16 +137,18 @@ export const gro_plugin_server = ({ entry_points = [SERVER_SOURCE_ID], dir = pro
|
|
|
148
137
|
}
|
|
149
138
|
},
|
|
150
139
|
teardown: async () => {
|
|
140
|
+
if (cleanup_watch) {
|
|
141
|
+
cleanup_watch();
|
|
142
|
+
cleanup_watch = undefined;
|
|
143
|
+
}
|
|
151
144
|
if (server_process) {
|
|
152
145
|
const s = server_process; // avoid possible issue where a build is in progress, don't want to issue a restart, could be fixed upstream in `spawn_restartable_process`
|
|
153
|
-
server_process =
|
|
146
|
+
server_process = undefined;
|
|
154
147
|
await s.kill();
|
|
155
148
|
}
|
|
156
|
-
if (watcher) {
|
|
157
|
-
await watcher.close();
|
|
158
|
-
}
|
|
159
149
|
if (build_ctx) {
|
|
160
150
|
await build_ctx.dispose();
|
|
151
|
+
build_ctx = undefined;
|
|
161
152
|
}
|
|
162
153
|
},
|
|
163
154
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gro_plugin_sveltekit_app.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gro_plugin_sveltekit_app.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,EAAyB,KAAK,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AAGnG,OAAO,EAAC,KAAK,YAAY,EAAsC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"gro_plugin_sveltekit_app.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gro_plugin_sveltekit_app.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,EAAyB,KAAK,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AAGnG,OAAO,EAAC,KAAK,YAAY,EAAsC,MAAM,eAAe,CAAC;AAKrF,MAAM,WAAW,gCAAgC;IAChD;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAErD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IAE7C;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAClD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;AAE9D,eAAO,MAAM,wBAAwB,GAAI,iGAMtC,gCAAqC,KAAG,MA6G1C,CAAC"}
|
|
@@ -7,8 +7,7 @@ import { find_cli, spawn_cli, spawn_cli_process } from "./cli.js";
|
|
|
7
7
|
import { serialize_src_json, create_src_json } from "./src_json.js";
|
|
8
8
|
import { EXPORTS_EXCLUDER_DEFAULT } from "./gro_config.js";
|
|
9
9
|
import { default_svelte_config } from "./svelte_config.js";
|
|
10
|
-
import { SOURCE_DIRNAME } from "./constants.js";
|
|
11
|
-
import { VITE_CLI } from "./sveltekit_helpers.js";
|
|
10
|
+
import { SOURCE_DIRNAME, VITE_CLI } from "./constants.js";
|
|
12
11
|
export const gro_plugin_sveltekit_app = ({ host_target = 'github_pages', well_known_package_json, well_known_src_json, well_known_src_files, vite_cli = VITE_CLI, } = {}) => {
|
|
13
12
|
let sveltekit_process = undefined;
|
|
14
13
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gro_plugin_sveltekit_library.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gro_plugin_sveltekit_library.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAGxC,OAAO,
|
|
1
|
+
{"version":3,"file":"gro_plugin_sveltekit_library.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gro_plugin_sveltekit_library.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAqB,KAAK,sBAAsB,EAAC,MAAM,wBAAwB,CAAC;AAGvF,MAAM,WAAW,oCAAoC;IACpD;;;OAGG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,4BAA4B,GAAI,kDAG1C,oCAAyC,KAAG,MAoC9C,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { print_spawn_result, spawn } from '@ryanatkn/belt/process.js';
|
|
2
2
|
import { Task_Error } from "./task.js";
|
|
3
3
|
import { load_package_json } from "./package_json.js";
|
|
4
|
-
import {
|
|
4
|
+
import { run_svelte_package } from "./sveltekit_helpers.js";
|
|
5
|
+
import { SVELTE_PACKAGE_CLI } from "./constants.js";
|
|
5
6
|
export const gro_plugin_sveltekit_library = ({ svelte_package_options, svelte_package_cli = SVELTE_PACKAGE_CLI, } = {}) => {
|
|
6
7
|
const package_json = load_package_json();
|
|
7
8
|
return {
|
package/dist/invoke.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { attach_process_error_handlers } from '@ryanatkn/belt/process.js';
|
|
2
2
|
import { configure_log_colors } from '@ryanatkn/belt/log.js';
|
|
3
|
-
import {
|
|
4
|
-
import { styleText } from 'node:util';
|
|
3
|
+
import { configure_print_colors } from '@ryanatkn/belt/print.js';
|
|
5
4
|
import { invoke_task } from "./invoke_task.js";
|
|
6
5
|
import { to_task_args } from "./args.js";
|
|
7
6
|
import { load_gro_config } from "./gro_config.js";
|
|
@@ -18,8 +17,11 @@ and the rest of the args are forwarded to the task's `run` function.
|
|
|
18
17
|
*/
|
|
19
18
|
// handle uncaught errors
|
|
20
19
|
attach_process_error_handlers((err) => (err.constructor.name === 'Task_Error' ? 'Task_Error' : null), (err) => (err.constructor.name === 'Silent_Error' ? '' : null));
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
if (!process.env.NO_COLOR) {
|
|
21
|
+
const { styleText } = await import('node:util');
|
|
22
|
+
configure_log_colors(styleText);
|
|
23
|
+
configure_print_colors(styleText);
|
|
24
|
+
}
|
|
23
25
|
await sveltekit_sync_if_obviously_needed();
|
|
24
26
|
const { task_name, args } = to_task_args();
|
|
25
27
|
await invoke_task(task_name, args, await load_gro_config());
|
package/dist/package.d.ts.map
CHANGED
|
@@ -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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.gen.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/package.gen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAMlC;;;;GAIG;AACH,eAAO,MAAM,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"package.gen.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/package.gen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAMlC;;;;GAIG;AACH,eAAO,MAAM,GAAG,EAAE,GAwBjB,CAAC"}
|
package/dist/package.gen.js
CHANGED
|
@@ -9,6 +9,10 @@ import { create_src_json } from "./src_json.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export const gen = ({ origin_path }) => {
|
|
11
11
|
const package_json = load_package_json();
|
|
12
|
+
// TODO this can error with bad json data, do we need to update the package.json here first?
|
|
13
|
+
// similarly do this in other places too?
|
|
14
|
+
// part of the problem is that the package_json actually has a dependency on each of its exports and their deps,
|
|
15
|
+
// but only when they're added/removed right? see gro_plugin_gen for details
|
|
12
16
|
const src_json = create_src_json(package_json, undefined);
|
|
13
17
|
const is_this_belt = package_json.name === '@ryanatkn/belt'; // TODO more robust?
|
|
14
18
|
return `
|
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.
|
|
4
|
+
version: '0.162.0',
|
|
5
5
|
description: 'task runner and toolkit extending SvelteKit',
|
|
6
6
|
motto: 'generate, run, optimize',
|
|
7
7
|
glyph: '🌰',
|
|
@@ -39,39 +39,46 @@ export const package_json = {
|
|
|
39
39
|
'typescript',
|
|
40
40
|
],
|
|
41
41
|
dependencies: {
|
|
42
|
-
'@ryanatkn/belt': '^0.
|
|
42
|
+
'@ryanatkn/belt': '^0.34.1',
|
|
43
43
|
chokidar: '^4.0.3',
|
|
44
44
|
dotenv: '^17.2.1',
|
|
45
45
|
'esm-env': '^1.2.2',
|
|
46
46
|
mri: '^1.2.0',
|
|
47
|
-
'oxc-parser': '^0.
|
|
47
|
+
'oxc-parser': '^0.82.3',
|
|
48
48
|
prettier: '^3.6.2',
|
|
49
49
|
'prettier-plugin-svelte': '^3.4.0',
|
|
50
|
-
'ts-blank-space': '^0.6.
|
|
50
|
+
'ts-blank-space': '^0.6.2',
|
|
51
51
|
tslib: '^2.8.1',
|
|
52
|
-
zod: '^4.
|
|
52
|
+
zod: '^4.1.4',
|
|
53
53
|
},
|
|
54
|
-
peerDependencies: {
|
|
55
|
-
|
|
54
|
+
peerDependencies: {
|
|
55
|
+
'@sveltejs/kit': '^2',
|
|
56
|
+
esbuild: '^0.25',
|
|
57
|
+
svelte: '^5',
|
|
58
|
+
typescript: '^5',
|
|
59
|
+
vitest: '^3',
|
|
60
|
+
},
|
|
61
|
+
peerDependenciesMeta: { '@sveltejs/kit': { optional: true }, vitest: { optional: true } },
|
|
62
|
+
optionalDependencies: { '@ryanatkn/moss': '>=0.31.0', vitest: '^3' },
|
|
56
63
|
devDependencies: {
|
|
57
64
|
'@changesets/changelog-git': '^0.2.1',
|
|
58
65
|
'@changesets/types': '^6.1.0',
|
|
59
66
|
'@ryanatkn/eslint-config': '^0.8.0',
|
|
60
67
|
'@ryanatkn/fuz': '^0.145.0',
|
|
61
68
|
'@ryanatkn/moss': '^0.32.0',
|
|
62
|
-
'@sveltejs/adapter-static': '^3.0.
|
|
63
|
-
'@sveltejs/kit': '^2.
|
|
64
|
-
'@sveltejs/package': '^2.
|
|
65
|
-
'@sveltejs/vite-plugin-svelte': '^6.1.
|
|
66
|
-
'@types/node': '^24.
|
|
67
|
-
esbuild: '^0.25.
|
|
68
|
-
eslint: '^9.
|
|
69
|
+
'@sveltejs/adapter-static': '^3.0.9',
|
|
70
|
+
'@sveltejs/kit': '^2.36.3',
|
|
71
|
+
'@sveltejs/package': '^2.5.0',
|
|
72
|
+
'@sveltejs/vite-plugin-svelte': '^6.1.3',
|
|
73
|
+
'@types/node': '^24.3.0',
|
|
74
|
+
esbuild: '^0.25.9',
|
|
75
|
+
eslint: '^9.34.0',
|
|
69
76
|
'eslint-plugin-svelte': '^3.11.0',
|
|
70
|
-
svelte: '^5.
|
|
71
|
-
'svelte-check': '^4.3.
|
|
72
|
-
typescript: '^5.
|
|
73
|
-
'typescript-eslint': '^8.
|
|
74
|
-
|
|
77
|
+
svelte: '^5.38.6',
|
|
78
|
+
'svelte-check': '^4.3.1',
|
|
79
|
+
typescript: '^5.9.2',
|
|
80
|
+
'typescript-eslint': '^8.41.0',
|
|
81
|
+
vitest: '^3.2.4',
|
|
75
82
|
},
|
|
76
83
|
prettier: {
|
|
77
84
|
plugins: ['prettier-plugin-svelte'],
|
|
@@ -109,6 +116,7 @@ export const package_json = {
|
|
|
109
116
|
'./constants.js': { types: './dist/constants.d.ts', default: './dist/constants.js' },
|
|
110
117
|
'./deploy.task.js': { types: './dist/deploy.task.d.ts', default: './dist/deploy.task.js' },
|
|
111
118
|
'./dev.task.js': { types: './dist/dev.task.d.ts', default: './dist/dev.task.js' },
|
|
119
|
+
'./disknode.js': { types: './dist/disknode.d.ts', default: './dist/disknode.js' },
|
|
112
120
|
'./env.js': { types: './dist/env.d.ts', default: './dist/env.js' },
|
|
113
121
|
'./esbuild_helpers.js': {
|
|
114
122
|
types: './dist/esbuild_helpers.d.ts',
|
|
@@ -258,7 +266,7 @@ export const package_json = {
|
|
|
258
266
|
};
|
|
259
267
|
export const src_json = {
|
|
260
268
|
name: '@ryanatkn/gro',
|
|
261
|
-
version: '0.
|
|
269
|
+
version: '0.162.0',
|
|
262
270
|
modules: {
|
|
263
271
|
'.': {
|
|
264
272
|
path: 'index.ts',
|
|
@@ -371,11 +379,12 @@ export const src_json = {
|
|
|
371
379
|
{ name: 'SOURCE_DIR', kind: 'variable' },
|
|
372
380
|
{ name: 'GRO_DIR', kind: 'variable' },
|
|
373
381
|
{ name: 'GRO_DEV_DIR', kind: 'variable' },
|
|
374
|
-
{ name: '
|
|
382
|
+
{ name: 'GRO_CONFIG_FILENAME', kind: 'variable' },
|
|
375
383
|
{ name: 'README_FILENAME', kind: 'variable' },
|
|
376
384
|
{ name: 'SVELTE_CONFIG_FILENAME', kind: 'variable' },
|
|
377
385
|
{ name: 'VITE_CONFIG_FILENAME', kind: 'variable' },
|
|
378
386
|
{ name: 'NODE_MODULES_DIRNAME', kind: 'variable' },
|
|
387
|
+
{ name: 'PACKAGE_JSON_FILENAME', kind: 'variable' },
|
|
379
388
|
{ name: 'LOCKFILE_FILENAME', kind: 'variable' },
|
|
380
389
|
{ name: 'SVELTEKIT_DEV_DIRNAME', kind: 'variable' },
|
|
381
390
|
{ name: 'SVELTEKIT_BUILD_DIRNAME', kind: 'variable' },
|
|
@@ -390,10 +399,18 @@ export const src_json = {
|
|
|
390
399
|
{ name: 'SVELTE_MATCHER', kind: 'variable' },
|
|
391
400
|
{ name: 'SVELTE_RUNES_MATCHER', kind: 'variable' },
|
|
392
401
|
{ name: 'SVELTE_SCRIPT_MATCHER', kind: 'variable' },
|
|
402
|
+
{ name: 'SVELTEKIT_ENV_MATCHER', kind: 'variable' },
|
|
403
|
+
{ name: 'SVELTEKIT_GLOBAL_SPECIFIER', kind: 'variable' },
|
|
393
404
|
{ name: 'EVERYTHING_MATCHER', kind: 'variable' },
|
|
394
405
|
{ name: 'JS_CLI_DEFAULT', kind: 'variable' },
|
|
395
406
|
{ name: 'PM_CLI_DEFAULT', kind: 'variable' },
|
|
396
407
|
{ name: 'PRETTIER_CLI_DEFAULT', kind: 'variable' },
|
|
408
|
+
{ name: 'SVELTEKIT_CLI', kind: 'variable' },
|
|
409
|
+
{ name: 'SVELTE_CHECK_CLI', kind: 'variable' },
|
|
410
|
+
{ name: 'SVELTE_PACKAGE_CLI', kind: 'variable' },
|
|
411
|
+
{ name: 'SVELTE_PACKAGE_DEP_NAME', kind: 'variable' },
|
|
412
|
+
{ name: 'VITE_CLI', kind: 'variable' },
|
|
413
|
+
{ name: 'VITEST_CLI', kind: 'variable' },
|
|
397
414
|
],
|
|
398
415
|
},
|
|
399
416
|
'./deploy.task.js': {
|
|
@@ -411,6 +428,7 @@ export const src_json = {
|
|
|
411
428
|
{ name: 'task', kind: 'variable' },
|
|
412
429
|
],
|
|
413
430
|
},
|
|
431
|
+
'./disknode.js': { path: 'disknode.ts', declarations: [{ name: 'Disknode', kind: 'type' }] },
|
|
414
432
|
'./env.js': {
|
|
415
433
|
path: 'env.ts',
|
|
416
434
|
declarations: [
|
|
@@ -471,7 +489,6 @@ export const src_json = {
|
|
|
471
489
|
'./filer.js': {
|
|
472
490
|
path: 'filer.ts',
|
|
473
491
|
declarations: [
|
|
474
|
-
{ name: 'Source_File', kind: 'type' },
|
|
475
492
|
{ name: 'Cleanup_Watch', kind: 'type' },
|
|
476
493
|
{ name: 'On_Filer_Change', kind: 'type' },
|
|
477
494
|
{ name: 'Filer_Options', kind: 'type' },
|
|
@@ -578,7 +595,7 @@ export const src_json = {
|
|
|
578
595
|
{ name: 'create_empty_gro_config', kind: 'function' },
|
|
579
596
|
{ name: 'SEARCH_EXCLUDER_DEFAULT', kind: 'variable' },
|
|
580
597
|
{ name: 'EXPORTS_EXCLUDER_DEFAULT', kind: 'variable' },
|
|
581
|
-
{ name: '
|
|
598
|
+
{ name: 'cook_gro_config', kind: 'function' },
|
|
582
599
|
{ name: 'Gro_Config_Module', kind: 'type' },
|
|
583
600
|
{ name: 'load_gro_config', kind: 'function' },
|
|
584
601
|
{ name: 'validate_gro_config_module', kind: 'function' },
|
|
@@ -866,13 +883,6 @@ export const src_json = {
|
|
|
866
883
|
'./sveltekit_helpers.js': {
|
|
867
884
|
path: 'sveltekit_helpers.ts',
|
|
868
885
|
declarations: [
|
|
869
|
-
{ name: 'SVELTEKIT_CLI', kind: 'variable' },
|
|
870
|
-
{ name: 'SVELTE_CHECK_CLI', kind: 'variable' },
|
|
871
|
-
{ name: 'SVELTE_PACKAGE_CLI', kind: 'variable' },
|
|
872
|
-
{ name: 'SVELTE_PACKAGE_DEP_NAME', kind: 'variable' },
|
|
873
|
-
{ name: 'VITE_CLI', kind: 'variable' },
|
|
874
|
-
{ name: 'SVELTEKIT_ENV_MATCHER', kind: 'variable' },
|
|
875
|
-
{ name: 'SVELTEKIT_GLOBAL_SPECIFIER', kind: 'variable' },
|
|
876
886
|
{ name: 'has_sveltekit_app', kind: 'function' },
|
|
877
887
|
{ name: 'has_sveltekit_library', kind: 'function' },
|
|
878
888
|
{ name: 'sveltekit_sync', kind: 'function' },
|
|
@@ -988,6 +998,7 @@ export const src_json = {
|
|
|
988
998
|
'./test_helpers.js': {
|
|
989
999
|
path: 'test_helpers.ts',
|
|
990
1000
|
declarations: [
|
|
1001
|
+
{ name: 'TEST_TIMEOUT_MD', kind: 'variable' },
|
|
991
1002
|
{ name: 'SOME_PUBLIC_ENV_VAR_NAME', kind: 'variable' },
|
|
992
1003
|
{ name: 'SOME_PUBLIC_ENV_VAR_VALUE', kind: 'variable' },
|
|
993
1004
|
{ name: 'init_test_env', kind: 'function' },
|
package/dist/package_json.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ import type { Logger } from '@ryanatkn/belt/log.js';
|
|
|
2
2
|
import { Package_Json, Package_Json_Exports } from '@ryanatkn/belt/package_json.js';
|
|
3
3
|
export type Map_Package_Json = (package_json: Package_Json) => Package_Json | null | Promise<Package_Json | null>;
|
|
4
4
|
export declare const EMPTY_PACKAGE_JSON: Package_Json;
|
|
5
|
-
export declare const load_package_json: (dir?: string, cache?: Record<string, Package_Json>, parse?: boolean
|
|
6
|
-
|
|
5
|
+
export declare const load_package_json: (dir?: string, cache?: Record<string, Package_Json>, parse?: boolean, // TODO pass `false` here in more places, especially anything perf-sensitive like work on startup
|
|
6
|
+
log?: Logger) => Package_Json;
|
|
7
|
+
export declare const sync_package_json: (map_package_json: Map_Package_Json, log: Logger, write?: boolean, dir?: string, exports_dir?: string) => Promise<{
|
|
7
8
|
package_json: Package_Json | null;
|
|
8
9
|
changed: boolean;
|
|
9
10
|
}>;
|
|
@@ -13,7 +14,7 @@ export declare const serialize_package_json: (package_json: Package_Json) => str
|
|
|
13
14
|
/**
|
|
14
15
|
* Updates package.json. Writes to the filesystem only when contents change.
|
|
15
16
|
*/
|
|
16
|
-
export declare const update_package_json: (
|
|
17
|
+
export declare const update_package_json: (update: (package_json: Package_Json) => Package_Json | null | Promise<Package_Json | null>, dir?: string, write?: boolean) => Promise<{
|
|
17
18
|
package_json: Package_Json | null;
|
|
18
19
|
changed: boolean;
|
|
19
20
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package_json.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/package_json.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAQlF,MAAM,MAAM,gBAAgB,GAAG,CAC9B,YAAY,EAAE,YAAY,KACtB,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;AAExD,eAAO,MAAM,kBAAkB,EAAE,YAAsC,CAAC;AAExE,eAAO,MAAM,iBAAiB,GAC7B,YAA+C,EAC/C,QAAQ,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACpC,eAAY,KACV,
|
|
1
|
+
{"version":3,"file":"package_json.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/package_json.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAQlF,MAAM,MAAM,gBAAgB,GAAG,CAC9B,YAAY,EAAE,YAAY,KACtB,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;AAExD,eAAO,MAAM,kBAAkB,EAAE,YAAsC,CAAC;AAExE,eAAO,MAAM,iBAAiB,GAC7B,YAA+C,EAC/C,QAAQ,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACpC,eAAY,EAAE,iGAAiG;AAC/G,MAAM,MAAM,KACV,YAkBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC7B,kBAAkB,gBAAgB,EAClC,KAAK,MAAM,EACX,eAAY,EACZ,YAAgB,EAChB,oBAAuB,KACrB,OAAO,CAAC;IAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CA2B/D,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,YAAiD,CAAC;AAM3F,eAAO,MAAM,kBAAkB,GAAI,yBAAyB,MAAM,KAAG,IAEpE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,cAAc,YAAY,KAAG,MACW,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,KAAK,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,EAC1F,YAAgB,EAChB,eAAY,KACV,OAAO,CAAC;IAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAa/D,CAAC;AAIF,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAG,oBA6CzD,CAAC;AAIF,eAAO,MAAM,cAAc,GAC1B,cAAc,YAAY,KACxB;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG,SAgBlC,CAAC;AA8BF,eAAO,MAAM,OAAO,GACnB,UAAU,MAAM,EAChB,eAAc,YAAkC,KAC9C,OAGyC,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,YAAY,GAAI,cAAc,YAAY,KAAG,KAAK,CAAC,gBAAgB,CAe/E,CAAC"}
|
package/dist/package_json.js
CHANGED
|
@@ -5,12 +5,13 @@ import { plural, strip_end } from '@ryanatkn/belt/string.js';
|
|
|
5
5
|
import { styleText as st } from 'node:util';
|
|
6
6
|
import { Package_Json, Package_Json_Exports } from '@ryanatkn/belt/package_json.js';
|
|
7
7
|
import { paths, gro_paths, IS_THIS_GRO, replace_extension } from "./paths.js";
|
|
8
|
-
import { SVELTEKIT_DIST_DIRNAME } from "./constants.js";
|
|
8
|
+
import { PACKAGE_JSON_FILENAME, SVELTEKIT_DIST_DIRNAME } from "./constants.js";
|
|
9
9
|
import { search_fs } from "./search_fs.js";
|
|
10
10
|
import { has_sveltekit_library } from "./sveltekit_helpers.js";
|
|
11
11
|
import { GITHUB_REPO_MATCHER } from "./github.js";
|
|
12
12
|
export const EMPTY_PACKAGE_JSON = { name: '', version: '' };
|
|
13
|
-
export const load_package_json = (dir = IS_THIS_GRO ? gro_paths.root : paths.root, cache, parse = true
|
|
13
|
+
export const load_package_json = (dir = IS_THIS_GRO ? gro_paths.root : paths.root, cache, parse = true, // TODO pass `false` here in more places, especially anything perf-sensitive like work on startup
|
|
14
|
+
log) => {
|
|
14
15
|
let package_json;
|
|
15
16
|
if (cache && dir in cache) {
|
|
16
17
|
return cache[dir];
|
|
@@ -18,7 +19,8 @@ export const load_package_json = (dir = IS_THIS_GRO ? gro_paths.root : paths.roo
|
|
|
18
19
|
try {
|
|
19
20
|
package_json = JSON.parse(load_package_json_contents(dir));
|
|
20
21
|
}
|
|
21
|
-
catch (
|
|
22
|
+
catch (err) {
|
|
23
|
+
log?.error(st('yellow', `Failed to load package.json in ${dir}`), err);
|
|
22
24
|
return EMPTY_PACKAGE_JSON;
|
|
23
25
|
}
|
|
24
26
|
if (parse) {
|
|
@@ -29,17 +31,17 @@ export const load_package_json = (dir = IS_THIS_GRO ? gro_paths.root : paths.roo
|
|
|
29
31
|
}
|
|
30
32
|
return package_json;
|
|
31
33
|
};
|
|
32
|
-
export const sync_package_json = async (map_package_json, log,
|
|
34
|
+
export const sync_package_json = async (map_package_json, log, write = true, dir = paths.root, exports_dir = paths.lib) => {
|
|
33
35
|
const exported_files = search_fs(exports_dir);
|
|
34
36
|
const exported_paths = exported_files.map((f) => f.path);
|
|
35
|
-
const updated = await update_package_json(
|
|
37
|
+
const updated = await update_package_json(async (package_json) => {
|
|
36
38
|
if (has_sveltekit_library(package_json).ok) {
|
|
37
39
|
const exports = to_package_exports(exported_paths);
|
|
38
40
|
package_json.exports = exports;
|
|
39
41
|
}
|
|
40
42
|
const mapped = await map_package_json(package_json);
|
|
41
43
|
return mapped ? parse_package_json(Package_Json, mapped) : mapped;
|
|
42
|
-
},
|
|
44
|
+
}, dir, write);
|
|
43
45
|
const exports_count = updated.changed && updated.package_json?.exports
|
|
44
46
|
? Object.keys(updated.package_json.exports).length
|
|
45
47
|
: 0;
|
|
@@ -50,15 +52,15 @@ export const sync_package_json = async (map_package_json, log, check = false, di
|
|
|
50
52
|
};
|
|
51
53
|
export const load_gro_package_json = () => load_package_json(gro_paths.root);
|
|
52
54
|
// TODO probably make this nullable and make callers handle failures
|
|
53
|
-
const load_package_json_contents = (dir) => readFileSync(join(dir,
|
|
55
|
+
const load_package_json_contents = (dir) => readFileSync(join(dir, PACKAGE_JSON_FILENAME), 'utf8');
|
|
54
56
|
export const write_package_json = (serialized_package_json) => {
|
|
55
|
-
writeFileSync(join(paths.root,
|
|
57
|
+
writeFileSync(join(paths.root, PACKAGE_JSON_FILENAME), serialized_package_json);
|
|
56
58
|
};
|
|
57
59
|
export const serialize_package_json = (package_json) => JSON.stringify(parse_package_json(Package_Json, package_json), null, 2) + '\n';
|
|
58
60
|
/**
|
|
59
61
|
* Updates package.json. Writes to the filesystem only when contents change.
|
|
60
62
|
*/
|
|
61
|
-
export const update_package_json = async (dir = paths.root,
|
|
63
|
+
export const update_package_json = async (update, dir = paths.root, write = true) => {
|
|
62
64
|
const original_contents = load_package_json_contents(dir);
|
|
63
65
|
const original = JSON.parse(original_contents);
|
|
64
66
|
const updated = await update(original);
|
|
@@ -147,7 +149,7 @@ export const parse_repo_url = (package_json) => {
|
|
|
147
149
|
* Parses a `Package_Json` object but preserves the order of the original keys.
|
|
148
150
|
*/
|
|
149
151
|
const parse_package_json = (schema, value) => {
|
|
150
|
-
const parsed = parse_or_throw_formatted_error(
|
|
152
|
+
const parsed = parse_or_throw_formatted_error(PACKAGE_JSON_FILENAME, schema, value);
|
|
151
153
|
const keys = Object.keys(value);
|
|
152
154
|
return Object.fromEntries(Object.entries(parsed).sort(([a], [b]) => keys.indexOf(a) - keys.indexOf(b)));
|
|
153
155
|
};
|
package/dist/parse_imports.js
CHANGED
|
@@ -90,7 +90,7 @@ export const parse_imports = (id, contents, ignore_types = true) => {
|
|
|
90
90
|
}
|
|
91
91
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
92
92
|
if (node.source.type === 'Literal') {
|
|
93
|
-
const value =
|
|
93
|
+
const value = node.source.value;
|
|
94
94
|
if (value) {
|
|
95
95
|
specifiers.push(value);
|
|
96
96
|
}
|
|
@@ -102,7 +102,7 @@ export const parse_imports = (id, contents, ignore_types = true) => {
|
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
if (is_svelte) {
|
|
105
|
-
// Reset the
|
|
105
|
+
// Reset the regexp state between calls
|
|
106
106
|
SVELTE_SCRIPT_MATCHER.lastIndex = 0;
|
|
107
107
|
// Capture script tags at the top level (not nested in HTML)
|
|
108
108
|
let last_index = 0;
|
package/dist/paths.js
CHANGED
|
@@ -2,7 +2,7 @@ import { join, extname, relative, basename } from 'node:path';
|
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
3
|
import { ensure_end, strip_end } from '@ryanatkn/belt/string.js';
|
|
4
4
|
import { styleText as st } from 'node:util';
|
|
5
|
-
import {
|
|
5
|
+
import { GRO_CONFIG_FILENAME, GRO_DEV_DIR, GRO_DIR, SOURCE_DIR, SVELTEKIT_DIST_DIRNAME, } from "./constants.js";
|
|
6
6
|
import { default_svelte_config } from "./svelte_config.js";
|
|
7
7
|
/*
|
|
8
8
|
|
|
@@ -24,7 +24,7 @@ export const create_paths = (root_dir) => {
|
|
|
24
24
|
lib: root + LIB_DIR,
|
|
25
25
|
build: root + GRO_DIR,
|
|
26
26
|
build_dev: root + GRO_DEV_DIR,
|
|
27
|
-
config: root +
|
|
27
|
+
config: root + GRO_CONFIG_FILENAME,
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
export const infer_paths = (id) => (is_gro_id(id) ? gro_paths : paths);
|
package/dist/reinstall.task.js
CHANGED
|
@@ -20,7 +20,7 @@ export const task = {
|
|
|
20
20
|
if (!second_install_result.ok) {
|
|
21
21
|
throw new Task_Error(`Failed \`${config.pm_cli} install\` after deleting ${LOCKFILE_FILENAME} and ${NODE_MODULES_DIRNAME}`);
|
|
22
22
|
}
|
|
23
|
-
// TODO this relies on npm behavior that changed in v11
|
|
23
|
+
// TODO @many this relies on npm behavior that changed in v11
|
|
24
24
|
// Deleting the lockfile and reinstalling cleans the lockfile of unnecessary dep noise,
|
|
25
25
|
// like esbuild's many packages for each platform.
|
|
26
26
|
await rm(LOCKFILE_FILENAME);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve_specifier.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/resolve_specifier.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve_specifier.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/resolve_specifier.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAIvC,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,SAAS,GAAG,4BAA4B,GAAG,4BAA4B,CAAC;IACnF,GAAG,EAAE,OAAO,CAAC;CACb;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,EAAE,KAAK,MAAM,KAAG,kBAgDlE,CAAC"}
|
package/dist/src_json.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src_json.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/src_json.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"src_json.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/src_json.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAMjE,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAE9F,eAAO,MAAM,eAAe,GAAI,cAAc,YAAY,EAAE,WAAW,MAAM,KAAG,QAK7E,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,MAGvD,CAAC;AAEF,eAAO,MAAM,cAAc,GAC1B,SAAS,oBAAoB,GAAG,SAAS,EACzC,iBAAoB,KAClB,WAAW,GAAG,SAuEhB,CAAC"}
|
package/dist/src_json.js
CHANGED
|
@@ -5,6 +5,7 @@ import ts from 'typescript';
|
|
|
5
5
|
import { Src_Json, Src_Modules } from '@ryanatkn/belt/src_json.js';
|
|
6
6
|
import { paths, replace_extension } from "./paths.js";
|
|
7
7
|
import { parse_exports } from "./parse_exports.js";
|
|
8
|
+
import { TS_MATCHER } from "./constants.js";
|
|
8
9
|
export const create_src_json = (package_json, lib_path) => Src_Json.parse({
|
|
9
10
|
name: package_json.name,
|
|
10
11
|
version: package_json.version,
|
|
@@ -33,13 +34,14 @@ export const to_src_modules = (exports, lib_path = paths.lib) => {
|
|
|
33
34
|
file_paths.push({ export_key: k, file_path: source_file_id });
|
|
34
35
|
continue;
|
|
35
36
|
}
|
|
37
|
+
// TODO still an error for unknown files running `gro gen`, can it use the filer to invalidate correctly?
|
|
36
38
|
throw Error(`Failed to infer source file from package.json export path ${k} - the inferred file ${source_file_id} does not exist`);
|
|
37
39
|
}
|
|
38
40
|
file_paths.push({ export_key: k, file_path: source_file_id });
|
|
39
41
|
}
|
|
40
42
|
// Create a TypeScript program for all TypeScript files
|
|
41
43
|
const ts_files = file_paths
|
|
42
|
-
.filter(({ file_path }) =>
|
|
44
|
+
.filter(({ file_path }) => TS_MATCHER.test(file_path))
|
|
43
45
|
.map(({ file_path }) => file_path);
|
|
44
46
|
let program;
|
|
45
47
|
if (ts_files.length > 0) {
|