@ryanatkn/gro 0.156.0 → 0.157.1
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/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -0
- package/dist/esbuild_plugin_svelte.d.ts.map +1 -1
- package/dist/esbuild_plugin_svelte.js +1 -2
- package/dist/gro_plugin_sveltekit_app.js +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +1 -2
- package/dist/package.d.ts +44 -13
- package/dist/package.d.ts.map +1 -1
- package/dist/package.gen.js +1 -1
- package/dist/package.js +44 -22
- package/dist/parse_exports.d.ts +20 -0
- package/dist/parse_exports.d.ts.map +1 -0
- package/dist/parse_exports.js +65 -0
- package/dist/parse_exports_context.d.ts +21 -0
- package/dist/parse_exports_context.d.ts.map +1 -0
- package/dist/parse_exports_context.js +332 -0
- package/dist/parse_imports.d.ts.map +1 -1
- package/dist/parse_imports.js +1 -2
- package/dist/paths.d.ts +8 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +6 -3
- package/dist/src_json.d.ts +68 -66
- package/dist/src_json.d.ts.map +1 -1
- package/dist/src_json.js +58 -55
- package/dist/test_helpers.d.ts +21 -0
- package/dist/test_helpers.d.ts.map +1 -0
- package/dist/test_helpers.js +122 -0
- package/package.json +21 -13
- package/src/lib/constants.ts +6 -0
- package/src/lib/esbuild_plugin_svelte.ts +1 -2
- package/src/lib/gro_plugin_sveltekit_app.ts +1 -1
- package/src/lib/loader.ts +6 -2
- package/src/lib/package.gen.ts +1 -1
- package/src/lib/package.ts +44 -22
- package/src/lib/parse_exports.ts +108 -0
- package/src/lib/parse_exports_context.ts +394 -0
- package/src/lib/parse_imports.ts +1 -2
- package/src/lib/paths.ts +13 -3
- package/src/lib/src_json.ts +80 -68
- package/src/lib/test_helpers.ts +159 -0
- package/dist/svelte_helpers.d.ts +0 -3
- package/dist/svelte_helpers.d.ts.map +0 -1
- package/dist/svelte_helpers.js +0 -2
- package/src/lib/svelte_helpers.ts +0 -2
package/dist/constants.d.ts
CHANGED
|
@@ -3,8 +3,11 @@ export declare const GRO_DIRNAME = ".gro";
|
|
|
3
3
|
export declare const GRO_DIST_PREFIX = "dist_";
|
|
4
4
|
export declare const SERVER_DIST_PATH = "dist_server";
|
|
5
5
|
export declare const GRO_DEV_DIRNAME: string;
|
|
6
|
+
/** @trailing_slash */
|
|
6
7
|
export declare const SOURCE_DIR: string;
|
|
8
|
+
/** @trailing_slash */
|
|
7
9
|
export declare const GRO_DIR: string;
|
|
10
|
+
/** @trailing_slash */
|
|
8
11
|
export declare const GRO_DEV_DIR: string;
|
|
9
12
|
export declare const GRO_CONFIG_PATH = "gro.config.ts";
|
|
10
13
|
export declare const README_FILENAME = "README.md";
|
|
@@ -21,6 +24,9 @@ export declare const GIT_DIRNAME = ".git";
|
|
|
21
24
|
export declare const TSCONFIG_FILENAME = "tsconfig.json";
|
|
22
25
|
export declare const TS_MATCHER: RegExp;
|
|
23
26
|
export declare const JS_MATCHER: RegExp;
|
|
27
|
+
export declare const JSON_MATCHER: RegExp;
|
|
28
|
+
export declare const SVELTE_MATCHER: RegExp;
|
|
29
|
+
export declare const SVELTE_RUNES_MATCHER: RegExp;
|
|
24
30
|
/** Extracts the script content from Svelte files. */
|
|
25
31
|
export declare const SVELTE_SCRIPT_MATCHER: RegExp;
|
|
26
32
|
export declare const EVERYTHING_MATCHER: RegExp;
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/constants.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,eAAe,QAAuB,CAAC;AACpD,eAAO,MAAM,UAAU,QAAuB,CAAC;AAC/C,eAAO,MAAM,OAAO,QAAoB,CAAC;AACzC,eAAO,MAAM,WAAW,QAAwB,CAAC;AACjD,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAC/C,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AACnD,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAC7C,eAAO,MAAM,yBAAyB,QAAkC,CAAC;AACzE,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD,eAAO,MAAM,UAAU,QAAwB,CAAC;AAChD,eAAO,MAAM,UAAU,QAAwB,CAAC;AAChD,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,QAAiD,CAAC;AACpF,eAAO,MAAM,kBAAkB,QAAO,CAAC;AAEvC,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,eAAO,MAAM,oBAAoB,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/constants.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,eAAe,QAAuB,CAAC;AACpD,sBAAsB;AACtB,eAAO,MAAM,UAAU,QAAuB,CAAC;AAC/C,sBAAsB;AACtB,eAAO,MAAM,OAAO,QAAoB,CAAC;AACzC,sBAAsB;AACtB,eAAO,MAAM,WAAW,QAAwB,CAAC;AACjD,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAC/C,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AACnD,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAC7C,eAAO,MAAM,yBAAyB,QAAkC,CAAC;AACzE,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD,eAAO,MAAM,UAAU,QAAwB,CAAC;AAChD,eAAO,MAAM,UAAU,QAAwB,CAAC;AAChD,eAAO,MAAM,YAAY,QAAY,CAAC;AACtC,eAAO,MAAM,cAAc,QAAc,CAAC;AAC1C,eAAO,MAAM,oBAAoB,QAAuB,CAAC;AACzD,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,QAAiD,CAAC;AACpF,eAAO,MAAM,kBAAkB,QAAO,CAAC;AAEvC,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,eAAO,MAAM,oBAAoB,aAAa,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -10,8 +10,11 @@ export const GRO_DIRNAME = '.gro';
|
|
|
10
10
|
export const GRO_DIST_PREFIX = 'dist_'; //
|
|
11
11
|
export const SERVER_DIST_PATH = 'dist_server'; // TODO should all of these be `_PATH` or should this be `DIRNAME`? also, add `_PLUGIN` to this name?
|
|
12
12
|
export const GRO_DEV_DIRNAME = GRO_DIRNAME + '/dev';
|
|
13
|
+
/** @trailing_slash */
|
|
13
14
|
export const SOURCE_DIR = SOURCE_DIRNAME + '/';
|
|
15
|
+
/** @trailing_slash */
|
|
14
16
|
export const GRO_DIR = GRO_DIRNAME + '/';
|
|
17
|
+
/** @trailing_slash */
|
|
15
18
|
export const GRO_DEV_DIR = GRO_DEV_DIRNAME + '/';
|
|
16
19
|
export const GRO_CONFIG_PATH = 'gro.config.ts';
|
|
17
20
|
export const README_FILENAME = 'README.md';
|
|
@@ -28,6 +31,9 @@ export const GIT_DIRNAME = '.git';
|
|
|
28
31
|
export const TSCONFIG_FILENAME = 'tsconfig.json';
|
|
29
32
|
export const TS_MATCHER = /\.(ts|tsx|mts|cts)$/;
|
|
30
33
|
export const JS_MATCHER = /\.(js|jsx|mjs|cjs)$/;
|
|
34
|
+
export const JSON_MATCHER = /\.json$/;
|
|
35
|
+
export const SVELTE_MATCHER = /\.svelte$/;
|
|
36
|
+
export const SVELTE_RUNES_MATCHER = /\.svelte\.(js|ts)$/; // TODO probably let `.svelte.` appear anywhere - https://github.com/sveltejs/svelte/issues/11536
|
|
31
37
|
/** Extracts the script content from Svelte files. */
|
|
32
38
|
export const SVELTE_SCRIPT_MATCHER = /<script(?:\s+[^>]*)?>([\s\S]*?)<\/script>/gim; // TODO maybe this shouldnt be global? or make a getter?
|
|
33
39
|
export const EVERYTHING_MATCHER = /.*/;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild_plugin_svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/esbuild_plugin_svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAIN,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"esbuild_plugin_svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/esbuild_plugin_svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAIN,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,6BAA6B;IAC7C,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sBAAsB,CAAC,EAAE,cAAc,CAAC;IACxC,6BAA6B,CAAC,EAAE,oBAAoB,CAAC;IACrD,oBAAoB,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpE,oBAAoB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAChD,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,qBAAqB,GAAI,SAAS,6BAA6B,KAAG,OAAO,CAAC,MAmEtF,CAAC"}
|
|
@@ -2,10 +2,9 @@ import * as esbuild from 'esbuild';
|
|
|
2
2
|
import { compile, compileModule, preprocess, } from 'svelte/compiler';
|
|
3
3
|
import { readFile } from 'node:fs/promises';
|
|
4
4
|
import { relative } from 'node:path';
|
|
5
|
-
import { SVELTE_MATCHER, SVELTE_RUNES_MATCHER } from "./svelte_helpers.js";
|
|
6
5
|
import { to_define_import_meta_env, default_ts_transform_options } from "./esbuild_helpers.js";
|
|
7
6
|
import { default_svelte_config, to_default_compile_module_options, } from "./svelte_config.js";
|
|
8
|
-
import { TS_MATCHER } from "./constants.js";
|
|
7
|
+
import { TS_MATCHER, SVELTE_MATCHER, SVELTE_RUNES_MATCHER } from "./constants.js";
|
|
9
8
|
export const esbuild_plugin_svelte = (options) => {
|
|
10
9
|
const { dev, base_url, dir = process.cwd(), svelte_compile_options = default_svelte_config.svelte_compile_options, svelte_compile_module_options = to_default_compile_module_options(svelte_compile_options), svelte_preprocessors, ts_transform_options = default_ts_transform_options, is_ts = (f) => TS_MATCHER.test(f), } = options;
|
|
11
10
|
const final_ts_transform_options = {
|
|
@@ -43,7 +43,7 @@ export const gro_plugin_sveltekit_app = ({ host_target = 'github_pages', well_kn
|
|
|
43
43
|
const serialized_package_json = mapped_package_json && serialize_package_json(mapped_package_json);
|
|
44
44
|
// `.well-known/src.json` and `.well-known/src/`
|
|
45
45
|
const final_package_json = mapped_package_json ?? package_json;
|
|
46
|
-
const src_json = create_src_json(final_package_json);
|
|
46
|
+
const src_json = create_src_json(final_package_json, undefined);
|
|
47
47
|
if (well_known_src_json === undefined) {
|
|
48
48
|
well_known_src_json = final_package_json.public; // eslint-disable-line no-param-reassign
|
|
49
49
|
}
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AA2EvD,eAAO,MAAM,IAAI,EAAE,QA0GlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAqDrB,CAAC"}
|
package/dist/loader.js
CHANGED
|
@@ -7,9 +7,8 @@ import ts_blank_space from 'ts-blank-space';
|
|
|
7
7
|
import { render_env_shim_module } from "./sveltekit_shim_env.js";
|
|
8
8
|
import { render_sveltekit_shim_app_environment, render_sveltekit_shim_app_paths, SVELTEKIT_SHIM_APP_ENVIRONMENT_MATCHER, SVELTEKIT_SHIM_APP_PATHS_MATCHER, sveltekit_shim_app_specifiers, } from "./sveltekit_shim_app.js";
|
|
9
9
|
import { default_svelte_config } from "./svelte_config.js";
|
|
10
|
-
import { SVELTE_MATCHER, SVELTE_RUNES_MATCHER } from "./svelte_helpers.js";
|
|
11
10
|
import { IS_THIS_GRO, paths } from "./paths.js";
|
|
12
|
-
import { NODE_MODULES_DIRNAME, TS_MATCHER } from "./constants.js";
|
|
11
|
+
import { NODE_MODULES_DIRNAME, TS_MATCHER, SVELTE_MATCHER, SVELTE_RUNES_MATCHER, } from "./constants.js";
|
|
13
12
|
import { resolve_specifier } from "./resolve_specifier.js";
|
|
14
13
|
import { map_sveltekit_aliases } from "./sveltekit_helpers.js";
|
|
15
14
|
// TODO get out of the loader business, starting with https://nodejs.org/api/typescript.html#type-stripping
|
package/dist/package.d.ts
CHANGED
|
@@ -48,13 +48,13 @@ export declare const package_json: {
|
|
|
48
48
|
prettier: string;
|
|
49
49
|
'prettier-plugin-svelte': string;
|
|
50
50
|
'ts-blank-space': string;
|
|
51
|
-
'ts-morph': string;
|
|
52
51
|
tslib: string;
|
|
53
52
|
zod: string;
|
|
54
53
|
};
|
|
55
54
|
peerDependencies: {
|
|
56
55
|
esbuild: string;
|
|
57
56
|
svelte: string;
|
|
57
|
+
typescript: string;
|
|
58
58
|
};
|
|
59
59
|
devDependencies: {
|
|
60
60
|
'@changesets/changelog-git': string;
|
|
@@ -304,6 +304,14 @@ export declare const package_json: {
|
|
|
304
304
|
types: string;
|
|
305
305
|
default: string;
|
|
306
306
|
};
|
|
307
|
+
'./parse_exports_context.js': {
|
|
308
|
+
types: string;
|
|
309
|
+
default: string;
|
|
310
|
+
};
|
|
311
|
+
'./parse_exports.js': {
|
|
312
|
+
types: string;
|
|
313
|
+
default: string;
|
|
314
|
+
};
|
|
307
315
|
'./parse_imports.js': {
|
|
308
316
|
types: string;
|
|
309
317
|
default: string;
|
|
@@ -368,10 +376,6 @@ export declare const package_json: {
|
|
|
368
376
|
types: string;
|
|
369
377
|
default: string;
|
|
370
378
|
};
|
|
371
|
-
'./svelte_helpers.js': {
|
|
372
|
-
types: string;
|
|
373
|
-
default: string;
|
|
374
|
-
};
|
|
375
379
|
'./sveltekit_helpers.js': {
|
|
376
380
|
types: string;
|
|
377
381
|
default: string;
|
|
@@ -416,6 +420,10 @@ export declare const package_json: {
|
|
|
416
420
|
types: string;
|
|
417
421
|
default: string;
|
|
418
422
|
};
|
|
423
|
+
'./test_helpers.js': {
|
|
424
|
+
types: string;
|
|
425
|
+
default: string;
|
|
426
|
+
};
|
|
419
427
|
'./test.task.js': {
|
|
420
428
|
types: string;
|
|
421
429
|
default: string;
|
|
@@ -453,7 +461,10 @@ export declare const src_json: {
|
|
|
453
461
|
};
|
|
454
462
|
'./package.json': {
|
|
455
463
|
path: string;
|
|
456
|
-
declarations:
|
|
464
|
+
declarations: {
|
|
465
|
+
name: string;
|
|
466
|
+
kind: "json";
|
|
467
|
+
}[];
|
|
457
468
|
};
|
|
458
469
|
'./args.js': {
|
|
459
470
|
path: string;
|
|
@@ -893,6 +904,23 @@ export declare const src_json: {
|
|
|
893
904
|
kind: "variable";
|
|
894
905
|
}[];
|
|
895
906
|
};
|
|
907
|
+
'./parse_exports_context.js': {
|
|
908
|
+
path: string;
|
|
909
|
+
declarations: {
|
|
910
|
+
name: string;
|
|
911
|
+
kind: "class";
|
|
912
|
+
}[];
|
|
913
|
+
};
|
|
914
|
+
'./parse_exports.js': {
|
|
915
|
+
path: string;
|
|
916
|
+
declarations: ({
|
|
917
|
+
name: string;
|
|
918
|
+
kind: "type";
|
|
919
|
+
} | {
|
|
920
|
+
name: string;
|
|
921
|
+
kind: "function";
|
|
922
|
+
})[];
|
|
923
|
+
};
|
|
896
924
|
'./parse_imports.js': {
|
|
897
925
|
path: string;
|
|
898
926
|
declarations: ({
|
|
@@ -1044,13 +1072,6 @@ export declare const src_json: {
|
|
|
1044
1072
|
kind: "variable";
|
|
1045
1073
|
})[];
|
|
1046
1074
|
};
|
|
1047
|
-
'./svelte_helpers.js': {
|
|
1048
|
-
path: string;
|
|
1049
|
-
declarations: {
|
|
1050
|
-
name: string;
|
|
1051
|
-
kind: "variable";
|
|
1052
|
-
}[];
|
|
1053
|
-
};
|
|
1054
1075
|
'./sveltekit_helpers.js': {
|
|
1055
1076
|
path: string;
|
|
1056
1077
|
declarations: ({
|
|
@@ -1149,6 +1170,16 @@ export declare const src_json: {
|
|
|
1149
1170
|
kind: "class";
|
|
1150
1171
|
})[];
|
|
1151
1172
|
};
|
|
1173
|
+
'./test_helpers.js': {
|
|
1174
|
+
path: string;
|
|
1175
|
+
declarations: ({
|
|
1176
|
+
name: string;
|
|
1177
|
+
kind: "variable";
|
|
1178
|
+
} | {
|
|
1179
|
+
name: string;
|
|
1180
|
+
kind: "function";
|
|
1181
|
+
})[];
|
|
1182
|
+
};
|
|
1152
1183
|
'./test.task.js': {
|
|
1153
1184
|
path: string;
|
|
1154
1185
|
declarations: {
|
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":"AAKA,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/package.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkQD,CAAC;AAEzB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2xBD,CAAC"}
|
package/dist/package.gen.js
CHANGED
|
@@ -10,7 +10,7 @@ import { create_src_json } from "./src_json.js";
|
|
|
10
10
|
*/
|
|
11
11
|
export const gen = ({ origin_path }) => {
|
|
12
12
|
const package_json = load_package_json();
|
|
13
|
-
const src_json = create_src_json(package_json);
|
|
13
|
+
const src_json = create_src_json(package_json, undefined);
|
|
14
14
|
return `
|
|
15
15
|
// generated by ${origin_path}
|
|
16
16
|
|
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.157.1',
|
|
5
5
|
description: 'task runner and toolkit extending SvelteKit',
|
|
6
6
|
motto: 'generate, run, optimize',
|
|
7
7
|
glyph: '🌰',
|
|
@@ -44,15 +44,14 @@ export const package_json = {
|
|
|
44
44
|
dotenv: '^16.5.0',
|
|
45
45
|
'esm-env': '^1.2.2',
|
|
46
46
|
mri: '^1.2.0',
|
|
47
|
-
'oxc-parser': '^0.
|
|
47
|
+
'oxc-parser': '^0.68.1',
|
|
48
48
|
prettier: '^3.5.3',
|
|
49
49
|
'prettier-plugin-svelte': '^3.3.3',
|
|
50
50
|
'ts-blank-space': '^0.6.1',
|
|
51
|
-
'ts-morph': '^25.0.1',
|
|
52
51
|
tslib: '^2.8.1',
|
|
53
|
-
zod: '^3.24.
|
|
52
|
+
zod: '^3.24.4',
|
|
54
53
|
},
|
|
55
|
-
peerDependencies: { esbuild: '^0.25', svelte: '^5' },
|
|
54
|
+
peerDependencies: { esbuild: '^0.25', svelte: '^5', typescript: '^5' },
|
|
56
55
|
devDependencies: {
|
|
57
56
|
'@changesets/changelog-git': '^0.2.1',
|
|
58
57
|
'@changesets/types': '^6.1.0',
|
|
@@ -65,15 +64,15 @@ export const package_json = {
|
|
|
65
64
|
'@sveltejs/vite-plugin-svelte': '^5.0.3',
|
|
66
65
|
'@types/node': '^22.15.3',
|
|
67
66
|
esbuild: '^0.25.3',
|
|
68
|
-
eslint: '
|
|
67
|
+
eslint: '9.25.1',
|
|
69
68
|
'eslint-plugin-svelte': '^3.5.1',
|
|
70
69
|
svelte: '^5.28.2',
|
|
71
|
-
'svelte-check': '^4.1.
|
|
70
|
+
'svelte-check': '^4.1.7',
|
|
72
71
|
typescript: '^5.8.3',
|
|
73
|
-
'typescript-eslint': '^8.
|
|
72
|
+
'typescript-eslint': '^8.32.0',
|
|
74
73
|
uvu: '^0.5.6',
|
|
75
74
|
},
|
|
76
|
-
optionalDependencies: { '@ryanatkn/moss': '>=0.27.0 <0.
|
|
75
|
+
optionalDependencies: { '@ryanatkn/moss': '>=0.27.0 <0.30.0' },
|
|
77
76
|
prettier: {
|
|
78
77
|
plugins: ['prettier-plugin-svelte'],
|
|
79
78
|
useTabs: true,
|
|
@@ -186,6 +185,11 @@ export const package_json = {
|
|
|
186
185
|
'./package_meta.js': { types: './dist/package_meta.d.ts', default: './dist/package_meta.js' },
|
|
187
186
|
'./package.gen.js': { types: './dist/package.gen.d.ts', default: './dist/package.gen.js' },
|
|
188
187
|
'./package.js': { types: './dist/package.d.ts', default: './dist/package.js' },
|
|
188
|
+
'./parse_exports_context.js': {
|
|
189
|
+
types: './dist/parse_exports_context.d.ts',
|
|
190
|
+
default: './dist/parse_exports_context.js',
|
|
191
|
+
},
|
|
192
|
+
'./parse_exports.js': { types: './dist/parse_exports.d.ts', default: './dist/parse_exports.js' },
|
|
189
193
|
'./parse_imports.js': { types: './dist/parse_imports.d.ts', default: './dist/parse_imports.js' },
|
|
190
194
|
'./path.js': { types: './dist/path.d.ts', default: './dist/path.js' },
|
|
191
195
|
'./paths.js': { types: './dist/paths.d.ts', default: './dist/paths.js' },
|
|
@@ -208,10 +212,6 @@ export const package_json = {
|
|
|
208
212
|
'./search_fs.js': { types: './dist/search_fs.d.ts', default: './dist/search_fs.js' },
|
|
209
213
|
'./src_json.js': { types: './dist/src_json.d.ts', default: './dist/src_json.js' },
|
|
210
214
|
'./svelte_config.js': { types: './dist/svelte_config.d.ts', default: './dist/svelte_config.js' },
|
|
211
|
-
'./svelte_helpers.js': {
|
|
212
|
-
types: './dist/svelte_helpers.d.ts',
|
|
213
|
-
default: './dist/svelte_helpers.js',
|
|
214
|
-
},
|
|
215
215
|
'./sveltekit_helpers.js': {
|
|
216
216
|
types: './dist/sveltekit_helpers.d.ts',
|
|
217
217
|
default: './dist/sveltekit_helpers.js',
|
|
@@ -247,6 +247,7 @@ export const package_json = {
|
|
|
247
247
|
'./sync.task.js': { types: './dist/sync.task.d.ts', default: './dist/sync.task.js' },
|
|
248
248
|
'./task_logging.js': { types: './dist/task_logging.d.ts', default: './dist/task_logging.js' },
|
|
249
249
|
'./task.js': { types: './dist/task.d.ts', default: './dist/task.js' },
|
|
250
|
+
'./test_helpers.js': { types: './dist/test_helpers.d.ts', default: './dist/test_helpers.js' },
|
|
250
251
|
'./test.task.js': { types: './dist/test.task.d.ts', default: './dist/test.task.js' },
|
|
251
252
|
'./typecheck.task.js': {
|
|
252
253
|
types: './dist/typecheck.task.d.ts',
|
|
@@ -258,7 +259,7 @@ export const package_json = {
|
|
|
258
259
|
};
|
|
259
260
|
export const src_json = {
|
|
260
261
|
name: '@ryanatkn/gro',
|
|
261
|
-
version: '0.
|
|
262
|
+
version: '0.157.1',
|
|
262
263
|
modules: {
|
|
263
264
|
'.': {
|
|
264
265
|
path: 'index.ts',
|
|
@@ -275,7 +276,7 @@ export const src_json = {
|
|
|
275
276
|
{ name: 'Task_Error', kind: 'class' },
|
|
276
277
|
],
|
|
277
278
|
},
|
|
278
|
-
'./package.json': { path: 'package.json', declarations: [] },
|
|
279
|
+
'./package.json': { path: 'package.json', declarations: [{ name: 'default', kind: 'json' }] },
|
|
279
280
|
'./args.js': {
|
|
280
281
|
path: 'args.ts',
|
|
281
282
|
declarations: [
|
|
@@ -386,6 +387,9 @@ export const src_json = {
|
|
|
386
387
|
{ name: 'TSCONFIG_FILENAME', kind: 'variable' },
|
|
387
388
|
{ name: 'TS_MATCHER', kind: 'variable' },
|
|
388
389
|
{ name: 'JS_MATCHER', kind: 'variable' },
|
|
390
|
+
{ name: 'JSON_MATCHER', kind: 'variable' },
|
|
391
|
+
{ name: 'SVELTE_MATCHER', kind: 'variable' },
|
|
392
|
+
{ name: 'SVELTE_RUNES_MATCHER', kind: 'variable' },
|
|
389
393
|
{ name: 'SVELTE_SCRIPT_MATCHER', kind: 'variable' },
|
|
390
394
|
{ name: 'EVERYTHING_MATCHER', kind: 'variable' },
|
|
391
395
|
{ name: 'JS_CLI_DEFAULT', kind: 'variable' },
|
|
@@ -730,6 +734,21 @@ export const src_json = {
|
|
|
730
734
|
{ name: 'src_json', kind: 'variable' },
|
|
731
735
|
],
|
|
732
736
|
},
|
|
737
|
+
'./parse_exports_context.js': {
|
|
738
|
+
path: 'parse_exports_context.ts',
|
|
739
|
+
declarations: [{ name: 'Parse_Exports_Context', kind: 'class' }],
|
|
740
|
+
},
|
|
741
|
+
'./parse_exports.js': {
|
|
742
|
+
path: 'parse_exports.ts',
|
|
743
|
+
declarations: [
|
|
744
|
+
{ name: 'Declaration_Kind', kind: 'type' },
|
|
745
|
+
{ name: 'Declaration', kind: 'type' },
|
|
746
|
+
{ name: 'Export_Declaration', kind: 'type' },
|
|
747
|
+
{ name: 'parse_exports', kind: 'function' },
|
|
748
|
+
{ name: 'infer_declarations_from_file_type', kind: 'function' },
|
|
749
|
+
{ name: 'process_ts_exports', kind: 'function' },
|
|
750
|
+
],
|
|
751
|
+
},
|
|
733
752
|
'./parse_imports.js': {
|
|
734
753
|
path: 'parse_imports.ts',
|
|
735
754
|
declarations: [
|
|
@@ -849,6 +868,7 @@ export const src_json = {
|
|
|
849
868
|
'./src_json.js': {
|
|
850
869
|
path: 'src_json.ts',
|
|
851
870
|
declarations: [
|
|
871
|
+
{ name: 'Src_Module_Declaration_Kind', kind: 'variable' },
|
|
852
872
|
{ name: 'Src_Module_Declaration', kind: 'variable' },
|
|
853
873
|
{ name: 'Src_Module', kind: 'variable' },
|
|
854
874
|
{ name: 'Src_Modules', kind: 'variable' },
|
|
@@ -869,13 +889,6 @@ export const src_json = {
|
|
|
869
889
|
{ name: 'default_svelte_config', kind: 'variable' },
|
|
870
890
|
],
|
|
871
891
|
},
|
|
872
|
-
'./svelte_helpers.js': {
|
|
873
|
-
path: 'svelte_helpers.ts',
|
|
874
|
-
declarations: [
|
|
875
|
-
{ name: 'SVELTE_MATCHER', kind: 'variable' },
|
|
876
|
-
{ name: 'SVELTE_RUNES_MATCHER', kind: 'variable' },
|
|
877
|
-
],
|
|
878
|
-
},
|
|
879
892
|
'./sveltekit_helpers.js': {
|
|
880
893
|
path: 'sveltekit_helpers.ts',
|
|
881
894
|
declarations: [
|
|
@@ -997,6 +1010,15 @@ export const src_json = {
|
|
|
997
1010
|
{ name: 'validate_task_module', kind: 'function' },
|
|
998
1011
|
],
|
|
999
1012
|
},
|
|
1013
|
+
'./test_helpers.js': {
|
|
1014
|
+
path: 'test_helpers.ts',
|
|
1015
|
+
declarations: [
|
|
1016
|
+
{ name: 'SOME_PUBLIC_ENV_VAR_NAME', kind: 'variable' },
|
|
1017
|
+
{ name: 'SOME_PUBLIC_ENV_VAR_VALUE', kind: 'variable' },
|
|
1018
|
+
{ name: 'init_test_env', kind: 'function' },
|
|
1019
|
+
{ name: 'create_ts_test_env', kind: 'function' },
|
|
1020
|
+
],
|
|
1021
|
+
},
|
|
1000
1022
|
'./test.task.js': {
|
|
1001
1023
|
path: 'test.task.ts',
|
|
1002
1024
|
declarations: [
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import type { Flavored } from '@ryanatkn/belt/types.js';
|
|
3
|
+
import type { Logger } from '@ryanatkn/belt/log.js';
|
|
4
|
+
import type { Path_Id } from './path.ts';
|
|
5
|
+
export type Declaration_Kind = 'type' | 'function' | 'variable' | 'class' | 'component' | 'json' | 'css';
|
|
6
|
+
export interface Declaration {
|
|
7
|
+
name: string;
|
|
8
|
+
kind: Declaration_Kind | null;
|
|
9
|
+
}
|
|
10
|
+
export type Export_Declaration = Flavored<Declaration, 'Export_Declaration'>;
|
|
11
|
+
/**
|
|
12
|
+
* Parse exports from a file based on its file type and content.
|
|
13
|
+
*/
|
|
14
|
+
export declare const parse_exports: (id: Path_Id, program?: ts.Program, declarations?: Array<Export_Declaration>, log?: Logger) => Array<Export_Declaration>;
|
|
15
|
+
export declare const infer_declarations_from_file_type: (file_path: Path_Id, declarations?: Array<Export_Declaration>) => Array<Export_Declaration>;
|
|
16
|
+
/**
|
|
17
|
+
* Process TypeScript exports, identifying their kinds.
|
|
18
|
+
*/
|
|
19
|
+
export declare const process_ts_exports: (source_file: ts.SourceFile, program: ts.Program, exports: Array<ts.Symbol>, declarations?: Array<Export_Declaration>, log?: Logger) => Array<Export_Declaration>;
|
|
20
|
+
//# sourceMappingURL=parse_exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse_exports.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/parse_exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAIvC,MAAM,MAAM,gBAAgB,GACzB,MAAM,GACN,UAAU,GACV,UAAU,GACV,OAAO,GACP,WAAW,GACX,MAAM,GACN,KAAK,CAAC;AAET,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,aAAa,GACzB,IAAI,OAAO,EACX,UAAU,EAAE,CAAC,OAAO,EACpB,eAAc,KAAK,CAAC,kBAAkB,CAAM,EAC5C,MAAM,MAAM,KACV,KAAK,CAAC,kBAAkB,CAyB1B,CAAC;AAGF,eAAO,MAAM,iCAAiC,GAC7C,WAAW,OAAO,EAClB,eAAc,KAAK,CAAC,kBAAkB,CAAM,KAC1C,KAAK,CAAC,kBAAkB,CA4B1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC9B,aAAa,EAAE,CAAC,UAAU,EAC1B,SAAS,EAAE,CAAC,OAAO,EACnB,SAAS,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EACzB,eAAc,KAAK,CAAC,kBAAkB,CAAM,EAC5C,MAAM,MAAM,KACV,KAAK,CAAC,kBAAkB,CAI1B,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import { extname } from 'node:path';
|
|
3
|
+
import { TS_MATCHER } from "./constants.js";
|
|
4
|
+
import { Parse_Exports_Context } from "./parse_exports_context.js";
|
|
5
|
+
/**
|
|
6
|
+
* Parse exports from a file based on its file type and content.
|
|
7
|
+
*/
|
|
8
|
+
export const parse_exports = (id, program, declarations = [], log) => {
|
|
9
|
+
// First, infer declarations based on file extension
|
|
10
|
+
infer_declarations_from_file_type(id, declarations);
|
|
11
|
+
// For TypeScript files with program, perform detailed export analysis
|
|
12
|
+
if (TS_MATCHER.test(id) && program) {
|
|
13
|
+
const source_file = program.getSourceFile(id);
|
|
14
|
+
if (!source_file)
|
|
15
|
+
return declarations;
|
|
16
|
+
const checker = program.getTypeChecker();
|
|
17
|
+
// Get the exports of the source file (module)
|
|
18
|
+
const symbol = checker.getSymbolAtLocation(source_file);
|
|
19
|
+
if (!symbol)
|
|
20
|
+
return declarations;
|
|
21
|
+
// Get the module exports
|
|
22
|
+
const exports = checker.getExportsOfModule(symbol);
|
|
23
|
+
// Process TypeScript declarations
|
|
24
|
+
const export_context = new Parse_Exports_Context(program, log);
|
|
25
|
+
export_context.analyze_source_file(source_file);
|
|
26
|
+
export_context.process_exports(source_file, exports, declarations);
|
|
27
|
+
}
|
|
28
|
+
return declarations;
|
|
29
|
+
};
|
|
30
|
+
// TODO temporary until proper type inference
|
|
31
|
+
export const infer_declarations_from_file_type = (file_path, declarations = []) => {
|
|
32
|
+
const extension = extname(file_path).toLowerCase();
|
|
33
|
+
switch (extension) {
|
|
34
|
+
case '.svelte': {
|
|
35
|
+
declarations.push({
|
|
36
|
+
name: 'default',
|
|
37
|
+
kind: 'component',
|
|
38
|
+
});
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
case '.css': {
|
|
42
|
+
declarations.push({
|
|
43
|
+
name: 'default',
|
|
44
|
+
kind: 'css',
|
|
45
|
+
});
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
case '.json': {
|
|
49
|
+
declarations.push({
|
|
50
|
+
name: 'default',
|
|
51
|
+
kind: 'json',
|
|
52
|
+
});
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return declarations;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Process TypeScript exports, identifying their kinds.
|
|
60
|
+
*/
|
|
61
|
+
export const process_ts_exports = (source_file, program, exports, declarations = [], log) => {
|
|
62
|
+
const export_context = new Parse_Exports_Context(program, log);
|
|
63
|
+
export_context.analyze_source_file(source_file);
|
|
64
|
+
return export_context.process_exports(source_file, exports, declarations);
|
|
65
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import type { Logger } from '@ryanatkn/belt/log.js';
|
|
3
|
+
import type { Export_Declaration } from './parse_exports.ts';
|
|
4
|
+
/**
|
|
5
|
+
* A class to track export context and determine export kinds.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Parse_Exports_Context {
|
|
8
|
+
#private;
|
|
9
|
+
readonly log: Logger | undefined;
|
|
10
|
+
debug: boolean;
|
|
11
|
+
constructor(program: ts.Program, log?: Logger);
|
|
12
|
+
/**
|
|
13
|
+
* Analyze a source file to prepare for export processing.
|
|
14
|
+
*/
|
|
15
|
+
analyze_source_file(source_file: ts.SourceFile): void;
|
|
16
|
+
/**
|
|
17
|
+
* Process a list of exported symbols and identify their kinds.
|
|
18
|
+
*/
|
|
19
|
+
process_exports(source_file: ts.SourceFile, exports: Array<ts.Symbol>, declarations?: Array<Export_Declaration>): Array<Export_Declaration>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=parse_exports_context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse_exports_context.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/parse_exports_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,EAAmB,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAE7E;;GAEG;AACH,qBAAa,qBAAqB;;IAQjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,UAAwC;gBAEjC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM;IAc7C;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI;IAerD;;OAEG;IACH,eAAe,CACd,WAAW,EAAE,EAAE,CAAC,UAAU,EAC1B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EACzB,YAAY,GAAE,KAAK,CAAC,kBAAkB,CAAM,GAC1C,KAAK,CAAC,kBAAkB,CAAC;CA+U5B"}
|