@ryanatkn/gro 0.177.1 → 0.179.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/dist/gen.d.ts.map +1 -1
- package/dist/gen.task.d.ts.map +1 -1
- package/dist/gen.task.js +1 -4
- package/dist/gro_plugin_sveltekit_app.d.ts +4 -4
- package/dist/gro_plugin_sveltekit_app.d.ts.map +1 -1
- package/dist/gro_plugin_sveltekit_app.js +15 -15
- package/dist/modules.d.ts.map +1 -1
- package/dist/parse_exports.d.ts +2 -2
- package/dist/parse_exports.d.ts.map +1 -1
- package/dist/source_json.d.ts +8 -0
- package/dist/source_json.d.ts.map +1 -0
- package/dist/{src_json.js → source_json.js} +9 -9
- package/package.json +12 -12
- package/src/lib/gen.task.ts +1 -4
- package/src/lib/gen.ts +1 -3
- package/src/lib/gro_plugin_sveltekit_app.ts +21 -21
- package/src/lib/modules.ts +1 -4
- package/src/lib/parse_exports.ts +2 -2
- package/src/lib/parse_exports_context.ts +5 -5
- package/src/lib/{src_json.ts → source_json.ts} +15 -13
- package/dist/src_json.d.ts +0 -8
- package/dist/src_json.d.ts.map +0 -1
package/dist/gen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gen.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gen.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gen.ts"],"names":[],"mappings":"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"}
|
package/dist/gen.task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gen.task.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gen.task.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAY,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAgB/C,cAAc;AACd,eAAO,MAAM,IAAI;;;;
|
|
1
|
+
{"version":3,"file":"gen.task.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gen.task.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAY,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAgB/C,cAAc;AACd,eAAO,MAAM,IAAI;;;;kBAUf,CAAC;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC,cAAc;AACd,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CAqG3B,CAAC"}
|
package/dist/gen.task.js
CHANGED
|
@@ -12,10 +12,7 @@ import { write_gen_results, analyze_gen_results, find_genfiles, load_genfiles, }
|
|
|
12
12
|
import { SOURCE_DIRNAME } from "./constants.js";
|
|
13
13
|
/** @nodocs */
|
|
14
14
|
export const Args = z.strictObject({
|
|
15
|
-
_: z
|
|
16
|
-
.array(RawInputPath)
|
|
17
|
-
.meta({ description: 'input paths to generate' })
|
|
18
|
-
.default([SOURCE_DIRNAME]),
|
|
15
|
+
_: z.array(RawInputPath).meta({ description: 'input paths to generate' }).default([SOURCE_DIRNAME]),
|
|
19
16
|
root_dirs: z
|
|
20
17
|
.array(z.string())
|
|
21
18
|
.meta({ description: 'root directories to resolve input paths against' }) // TODO `PathId` schema
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Plugin } from './plugin.ts';
|
|
2
2
|
import { type PackageJsonMapper } from './package_json.ts';
|
|
3
|
-
import { type
|
|
3
|
+
import { type SourceJsonMapper } from './source_json.ts';
|
|
4
4
|
export interface GroPluginSveltekitAppOptions {
|
|
5
5
|
/**
|
|
6
6
|
* Used for finalizing a SvelteKit build like adding a `.nojekyll` file for GitHub Pages.
|
|
@@ -13,10 +13,10 @@ export interface GroPluginSveltekitAppOptions {
|
|
|
13
13
|
*/
|
|
14
14
|
well_known_package_json?: boolean | PackageJsonMapper;
|
|
15
15
|
/**
|
|
16
|
-
* If truthy, adds `/.well-known/
|
|
16
|
+
* If truthy, adds `/.well-known/source.json` and `/.well-known/src/` to the static output.
|
|
17
17
|
* If a function, maps the value.
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
well_known_source_json?: boolean | SourceJsonMapper;
|
|
20
20
|
/**
|
|
21
21
|
* If truthy, copies `src/` to `/.well-known/src/` to the static output.
|
|
22
22
|
* Pass a function to customize which files get copied.
|
|
@@ -29,5 +29,5 @@ export interface GroPluginSveltekitAppOptions {
|
|
|
29
29
|
}
|
|
30
30
|
export type HostTarget = 'github_pages' | 'static' | 'node';
|
|
31
31
|
export type CopyFileFilter = (file_path: string) => boolean;
|
|
32
|
-
export declare const gro_plugin_sveltekit_app: ({ host_target, well_known_package_json,
|
|
32
|
+
export declare const gro_plugin_sveltekit_app: ({ host_target, well_known_package_json, well_known_source_json, well_known_src_files, vite_cli, }?: GroPluginSveltekitAppOptions) => Plugin;
|
|
33
33
|
//# sourceMappingURL=gro_plugin_sveltekit_app.d.ts.map
|
|
@@ -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,
|
|
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,iBAAiB,EAAoB,MAAM,mBAAmB,CAAC;AAGpG,OAAO,EAAC,KAAK,gBAAgB,EAA4C,MAAM,kBAAkB,CAAC;AAKlG,MAAM,WAAW,4BAA4B;IAC5C;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAEtD;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAEpD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAChD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;AAE5D,eAAO,MAAM,wBAAwB,GAAI,oGAMtC,4BAAiC,KAAG,MAiHtC,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { cpSync, mkdirSync, rmSync, writeFileSync, existsSync } from 'node:fs';
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
3
|
import { serialize_args, to_forwarded_args } from "./args.js";
|
|
4
|
-
import { serialize_package_json, load_package_json
|
|
4
|
+
import { serialize_package_json, load_package_json } from "./package_json.js";
|
|
5
5
|
import { TaskError } from "./task.js";
|
|
6
6
|
import { find_cli, spawn_cli, spawn_cli_process } from "./cli.js";
|
|
7
|
-
import {
|
|
7
|
+
import { source_json_serialize, source_json_create } from "./source_json.js";
|
|
8
8
|
import { EXPORTS_EXCLUDER_DEFAULT } from "./gro_config.js";
|
|
9
9
|
import { default_svelte_config } from "./svelte_config.js";
|
|
10
10
|
import { SOURCE_DIRNAME, VITE_CLI } from "./constants.js";
|
|
11
|
-
export const gro_plugin_sveltekit_app = ({ host_target = 'github_pages', well_known_package_json,
|
|
11
|
+
export const gro_plugin_sveltekit_app = ({ host_target = 'github_pages', well_known_package_json, well_known_source_json, well_known_src_files, vite_cli = VITE_CLI, } = {}) => {
|
|
12
12
|
let sveltekit_process = undefined;
|
|
13
13
|
return {
|
|
14
14
|
name: 'gro_plugin_sveltekit_app',
|
|
@@ -40,18 +40,18 @@ export const gro_plugin_sveltekit_app = ({ host_target = 'github_pages', well_kn
|
|
|
40
40
|
? package_json
|
|
41
41
|
: await well_known_package_json(package_json);
|
|
42
42
|
const serialized_package_json = mapped_package_json && serialize_package_json(mapped_package_json);
|
|
43
|
-
// `.well-known/
|
|
43
|
+
// `.well-known/source.json` and `.well-known/src/`
|
|
44
44
|
const final_package_json = mapped_package_json ?? package_json;
|
|
45
|
-
const
|
|
46
|
-
if (
|
|
47
|
-
|
|
45
|
+
const source_json = source_json_create(final_package_json, undefined, log);
|
|
46
|
+
if (well_known_source_json === undefined) {
|
|
47
|
+
well_known_source_json = final_package_json.public; // eslint-disable-line no-param-reassign
|
|
48
48
|
}
|
|
49
|
-
const
|
|
49
|
+
const mapped_source_json = !well_known_source_json
|
|
50
50
|
? null
|
|
51
|
-
:
|
|
52
|
-
?
|
|
53
|
-
: await
|
|
54
|
-
const
|
|
51
|
+
: well_known_source_json === true
|
|
52
|
+
? source_json
|
|
53
|
+
: await well_known_source_json(source_json);
|
|
54
|
+
const serialized_source_json = mapped_source_json && source_json_serialize(mapped_source_json);
|
|
55
55
|
// TODO this strategy means the files aren't available during development --
|
|
56
56
|
// maybe a Vite middleware is best? what if this plugin added its plugin to your `vite.config.ts`?
|
|
57
57
|
// copy files to `static` before building, in such a way
|
|
@@ -61,10 +61,10 @@ export const gro_plugin_sveltekit_app = ({ host_target = 'github_pages', well_kn
|
|
|
61
61
|
serialized_package_json
|
|
62
62
|
? create_temporarily(join(assets_path, '.well-known/package.json'), serialized_package_json)
|
|
63
63
|
: null,
|
|
64
|
-
|
|
65
|
-
? create_temporarily(join(assets_path, '.well-known/
|
|
64
|
+
serialized_source_json
|
|
65
|
+
? create_temporarily(join(assets_path, '.well-known/source.json'), serialized_source_json)
|
|
66
66
|
: null,
|
|
67
|
-
|
|
67
|
+
serialized_source_json && well_known_src_files
|
|
68
68
|
? copy_temporarily(SOURCE_DIRNAME, assets_path, '.well-known', well_known_src_files === true
|
|
69
69
|
? (file_path) => !EXPORTS_EXCLUDER_DEFAULT.test(file_path)
|
|
70
70
|
: well_known_src_files)
|
package/dist/modules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGvD,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACpF,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;CACb;AAED,MAAM,MAAM,gBAAgB,CAAC,OAAO,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGvD,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACpF,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;CACb;AAED,MAAM,MAAM,gBAAgB,CAAC,OAAO,IAAI,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAC,EAAE,iBAAiB,CAAC,CAAC;AAC9F,MAAM,MAAM,iBAAiB,GAC1B;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GAC5D;IACA,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CAClB,CAAC;AAEL,eAAO,MAAM,WAAW,GAAU,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpE,IAAI,MAAM,EACV,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,OAAO,EACvD,aAAa,OAAO,KAClB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAiBnC,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAAC,WAAW,SAAS,UAAU;IACjE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,oBAAoB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvB,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC5B;AAED,MAAM,MAAM,iBAAiB,CAAC,WAAW,SAAS,UAAU,IAAI,MAAM,CACrE;IACC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC5B,EACD,kBAAkB,CAAC,WAAW,CAAC,CAC/B,CAAC;AAGF,eAAO,MAAM,YAAY,GACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,WAAW,SAAS,UAAU,CAAC,OAAO,CAAC,EAEvC,sBAAsB,KAAK,CAAC,iBAAiB,CAAC,EAC9C,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,OAAO,EACtC,iBAAiB,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,KAAK,WAAW,EACtF,UAAU,OAAO,KACf,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CA2CxC,CAAC"}
|
package/dist/parse_exports.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
2
|
import type { Flavored } from '@ryanatkn/belt/types.js';
|
|
3
3
|
import type { Logger } from '@ryanatkn/belt/log.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { DeclarationKind } from '@ryanatkn/belt/source_json.js';
|
|
5
5
|
import type { PathId } from '@ryanatkn/belt/path.js';
|
|
6
6
|
export interface Declaration {
|
|
7
7
|
name: string;
|
|
8
|
-
kind:
|
|
8
|
+
kind: DeclarationKind | null;
|
|
9
9
|
}
|
|
10
10
|
export type ExportDeclaration = Flavored<Declaration, 'ExportDeclaration'>;
|
|
11
11
|
/**
|
|
@@ -1 +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;AAClD,OAAO,KAAK,EAAC,
|
|
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;AAClD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAKnD,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,aAAa,GACzB,IAAI,MAAM,EACV,UAAU,EAAE,CAAC,OAAO,EACpB,eAAc,KAAK,CAAC,iBAAiB,CAAM,EAC3C,MAAM,MAAM,KACV,KAAK,CAAC,iBAAiB,CAyBzB,CAAC;AAGF,eAAO,MAAM,iCAAiC,GAC7C,WAAW,MAAM,EACjB,eAAc,KAAK,CAAC,iBAAiB,CAAM,KACzC,KAAK,CAAC,iBAAiB,CA4BzB,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,iBAAiB,CAAM,EAC3C,MAAM,MAAM,KACV,KAAK,CAAC,iBAAiB,CAIzB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PackageJson, PackageJsonExports } from '@ryanatkn/belt/package_json.js';
|
|
2
|
+
import { SourceJson, type ModuleJson } from '@ryanatkn/belt/source_json.js';
|
|
3
|
+
import type { Logger } from '@ryanatkn/belt/log.js';
|
|
4
|
+
export type SourceJsonMapper = (source_json: SourceJson) => SourceJson | null | Promise<SourceJson | null>;
|
|
5
|
+
export declare const source_json_create: (package_json: PackageJson, lib_path?: string, log?: Logger) => SourceJson;
|
|
6
|
+
export declare const source_json_serialize: (source_json: SourceJson) => string;
|
|
7
|
+
export declare const source_modules_create: (exports: PackageJsonExports | undefined, lib_path?: string, log?: Logger) => Array<ModuleJson> | undefined;
|
|
8
|
+
//# sourceMappingURL=source_json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source_json.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/source_json.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAC,UAAU,EAAE,KAAK,UAAU,EAAuB,MAAM,+BAA+B,CAAC;AAChG,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAOlD,MAAM,MAAM,gBAAgB,GAAG,CAC9B,WAAW,EAAE,UAAU,KACnB,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEpD,eAAO,MAAM,kBAAkB,GAC9B,cAAc,WAAW,EACzB,WAAW,MAAM,EACjB,MAAM,MAAM,KACV,UAKA,CAAC;AAEJ,eAAO,MAAM,qBAAqB,GAAI,aAAa,UAAU,KAAG,MAG/D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,SAAS,kBAAkB,GAAG,SAAS,EACvC,iBAAoB,EACpB,MAAM,MAAM,KACV,KAAK,CAAC,UAAU,CAAC,GAAG,SAgDtB,CAAC"}
|
|
@@ -2,21 +2,21 @@ import { join } from 'node:path';
|
|
|
2
2
|
import { ensure_end, strip_start } from '@ryanatkn/belt/string.js';
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
4
|
import ts from 'typescript';
|
|
5
|
-
import {
|
|
5
|
+
import { SourceJson } from '@ryanatkn/belt/source_json.js';
|
|
6
6
|
import { paths, replace_extension } from "./paths.js";
|
|
7
7
|
import { parse_exports } from "./parse_exports.js";
|
|
8
8
|
import { TS_MATCHER, SVELTE_MATCHER, JSON_MATCHER, CSS_MATCHER } from "./constants.js";
|
|
9
9
|
import { search_fs } from "./search_fs.js";
|
|
10
|
-
export const
|
|
10
|
+
export const source_json_create = (package_json, lib_path, log) => SourceJson.parse({
|
|
11
11
|
name: package_json.name,
|
|
12
12
|
version: package_json.version,
|
|
13
|
-
modules:
|
|
13
|
+
modules: source_modules_create(package_json.exports, lib_path, log),
|
|
14
14
|
});
|
|
15
|
-
export const
|
|
16
|
-
const parsed =
|
|
15
|
+
export const source_json_serialize = (source_json) => {
|
|
16
|
+
const parsed = SourceJson.parse(source_json);
|
|
17
17
|
return JSON.stringify(parsed, null, 2) + '\n';
|
|
18
18
|
};
|
|
19
|
-
export const
|
|
19
|
+
export const source_modules_create = (exports, lib_path = paths.lib, log) => {
|
|
20
20
|
if (!exports)
|
|
21
21
|
return;
|
|
22
22
|
const file_paths = collect_file_paths(exports, lib_path);
|
|
@@ -40,13 +40,13 @@ export const src_modules_create = (exports, lib_path = paths.lib, log) => {
|
|
|
40
40
|
// Process each file
|
|
41
41
|
for (const { file_path } of file_paths) {
|
|
42
42
|
const relative_path = file_path.replace(ensure_end(lib_path, '/'), '');
|
|
43
|
-
const
|
|
43
|
+
const declarations = parse_exports(file_path, program, undefined, log)
|
|
44
44
|
.filter((d) => d.kind !== null) // TODO maybe dont filter out?
|
|
45
45
|
.map(({ name, kind }) => ({ name, kind }));
|
|
46
|
-
result.push(
|
|
46
|
+
result.push(declarations.length
|
|
47
47
|
? {
|
|
48
48
|
path: relative_path,
|
|
49
|
-
|
|
49
|
+
declarations,
|
|
50
50
|
}
|
|
51
51
|
: {
|
|
52
52
|
path: relative_path,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ryanatkn/gro",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.179.0",
|
|
4
4
|
"description": "task runner and toolkit extending SvelteKit",
|
|
5
5
|
"motto": "generate, run, optimize",
|
|
6
6
|
"glyph": "🌰",
|
|
@@ -49,19 +49,19 @@
|
|
|
49
49
|
"typescript"
|
|
50
50
|
],
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"chokidar": "^
|
|
52
|
+
"chokidar": "^5.0.0",
|
|
53
53
|
"dotenv": "^17.2.3",
|
|
54
54
|
"esm-env": "^1.2.2",
|
|
55
55
|
"mri": "^1.2.0",
|
|
56
|
-
"oxc-parser": "^0.
|
|
56
|
+
"oxc-parser": "^0.99.0",
|
|
57
57
|
"prettier": "^3.6.2",
|
|
58
58
|
"prettier-plugin-svelte": "^3.4.0",
|
|
59
59
|
"ts-blank-space": "^0.6.2",
|
|
60
60
|
"tslib": "^2.8.1",
|
|
61
|
-
"zod": "^4.1.
|
|
61
|
+
"zod": "^4.1.13"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@ryanatkn/belt": ">=0.
|
|
64
|
+
"@ryanatkn/belt": ">=0.40.0",
|
|
65
65
|
"@sveltejs/kit": "^2",
|
|
66
66
|
"esbuild": "^0.27.0",
|
|
67
67
|
"svelte": "^5",
|
|
@@ -82,11 +82,11 @@
|
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@changesets/changelog-git": "^0.2.1",
|
|
84
84
|
"@changesets/types": "^6.1.0",
|
|
85
|
-
"@ryanatkn/belt": "^0.
|
|
85
|
+
"@ryanatkn/belt": "^0.40.0",
|
|
86
86
|
"@ryanatkn/eslint-config": "^0.9.0",
|
|
87
|
-
"@ryanatkn/fuz": "^0.
|
|
88
|
-
"@ryanatkn/fuz_code": "^0.
|
|
89
|
-
"@ryanatkn/moss": "^0.
|
|
87
|
+
"@ryanatkn/fuz": "^0.165.0",
|
|
88
|
+
"@ryanatkn/fuz_code": "^0.36.0",
|
|
89
|
+
"@ryanatkn/moss": "^0.39.0",
|
|
90
90
|
"@sveltejs/adapter-static": "^3.0.10",
|
|
91
91
|
"@sveltejs/kit": "^2.49.0",
|
|
92
92
|
"@sveltejs/package": "^2.5.6",
|
|
@@ -95,11 +95,11 @@
|
|
|
95
95
|
"esbuild": "^0.27.0",
|
|
96
96
|
"eslint": "^9.39.1",
|
|
97
97
|
"eslint-plugin-svelte": "^3.13.0",
|
|
98
|
-
"svelte": "^5.
|
|
98
|
+
"svelte": "^5.44.0",
|
|
99
99
|
"svelte-check": "^4.3.4",
|
|
100
100
|
"typescript": "^5.9.3",
|
|
101
|
-
"typescript-eslint": "^8.
|
|
102
|
-
"vitest": "^4.0.
|
|
101
|
+
"typescript-eslint": "^8.48.0",
|
|
102
|
+
"vitest": "^4.0.14"
|
|
103
103
|
},
|
|
104
104
|
"prettier": {
|
|
105
105
|
"plugins": [
|
package/src/lib/gen.task.ts
CHANGED
|
@@ -21,10 +21,7 @@ import {SOURCE_DIRNAME} from './constants.ts';
|
|
|
21
21
|
|
|
22
22
|
/** @nodocs */
|
|
23
23
|
export const Args = z.strictObject({
|
|
24
|
-
_: z
|
|
25
|
-
.array(RawInputPath)
|
|
26
|
-
.meta({description: 'input paths to generate'})
|
|
27
|
-
.default([SOURCE_DIRNAME]),
|
|
24
|
+
_: z.array(RawInputPath).meta({description: 'input paths to generate'}).default([SOURCE_DIRNAME]),
|
|
28
25
|
root_dirs: z
|
|
29
26
|
.array(z.string())
|
|
30
27
|
.meta({description: 'root directories to resolve input paths against'}) // TODO `PathId` schema
|
package/src/lib/gen.ts
CHANGED
|
@@ -210,9 +210,7 @@ export type AnalyzedGenResult =
|
|
|
210
210
|
has_changed: true;
|
|
211
211
|
};
|
|
212
212
|
|
|
213
|
-
export const analyze_gen_results = (
|
|
214
|
-
gen_results: GenResults,
|
|
215
|
-
): Promise<Array<AnalyzedGenResult>> =>
|
|
213
|
+
export const analyze_gen_results = (gen_results: GenResults): Promise<Array<AnalyzedGenResult>> =>
|
|
216
214
|
Promise.all(
|
|
217
215
|
gen_results.successes
|
|
218
216
|
.map((result) => result.files.map((file) => analyze_gen_result(file)))
|
|
@@ -4,14 +4,10 @@ import {dirname, join} from 'node:path';
|
|
|
4
4
|
|
|
5
5
|
import type {Plugin} from './plugin.ts';
|
|
6
6
|
import {serialize_args, to_forwarded_args} from './args.ts';
|
|
7
|
-
import {
|
|
8
|
-
serialize_package_json,
|
|
9
|
-
type PackageJsonMapper,
|
|
10
|
-
load_package_json,
|
|
11
|
-
} from './package_json.ts';
|
|
7
|
+
import {serialize_package_json, type PackageJsonMapper, load_package_json} from './package_json.ts';
|
|
12
8
|
import {TaskError} from './task.ts';
|
|
13
9
|
import {find_cli, spawn_cli, spawn_cli_process} from './cli.ts';
|
|
14
|
-
import {type
|
|
10
|
+
import {type SourceJsonMapper, source_json_serialize, source_json_create} from './source_json.ts';
|
|
15
11
|
import {EXPORTS_EXCLUDER_DEFAULT} from './gro_config.ts';
|
|
16
12
|
import {default_svelte_config} from './svelte_config.ts';
|
|
17
13
|
import {SOURCE_DIRNAME, VITE_CLI} from './constants.ts';
|
|
@@ -30,10 +26,10 @@ export interface GroPluginSveltekitAppOptions {
|
|
|
30
26
|
well_known_package_json?: boolean | PackageJsonMapper;
|
|
31
27
|
|
|
32
28
|
/**
|
|
33
|
-
* If truthy, adds `/.well-known/
|
|
29
|
+
* If truthy, adds `/.well-known/source.json` and `/.well-known/src/` to the static output.
|
|
34
30
|
* If a function, maps the value.
|
|
35
31
|
*/
|
|
36
|
-
|
|
32
|
+
well_known_source_json?: boolean | SourceJsonMapper;
|
|
37
33
|
|
|
38
34
|
/**
|
|
39
35
|
* If truthy, copies `src/` to `/.well-known/src/` to the static output.
|
|
@@ -53,7 +49,7 @@ export type CopyFileFilter = (file_path: string) => boolean;
|
|
|
53
49
|
export const gro_plugin_sveltekit_app = ({
|
|
54
50
|
host_target = 'github_pages',
|
|
55
51
|
well_known_package_json,
|
|
56
|
-
|
|
52
|
+
well_known_source_json,
|
|
57
53
|
well_known_src_files,
|
|
58
54
|
vite_cli = VITE_CLI,
|
|
59
55
|
}: GroPluginSveltekitAppOptions = {}): Plugin => {
|
|
@@ -93,18 +89,19 @@ export const gro_plugin_sveltekit_app = ({
|
|
|
93
89
|
const serialized_package_json =
|
|
94
90
|
mapped_package_json && serialize_package_json(mapped_package_json);
|
|
95
91
|
|
|
96
|
-
// `.well-known/
|
|
92
|
+
// `.well-known/source.json` and `.well-known/src/`
|
|
97
93
|
const final_package_json = mapped_package_json ?? package_json;
|
|
98
|
-
const
|
|
99
|
-
if (
|
|
100
|
-
|
|
94
|
+
const source_json = source_json_create(final_package_json, undefined, log);
|
|
95
|
+
if (well_known_source_json === undefined) {
|
|
96
|
+
well_known_source_json = final_package_json.public; // eslint-disable-line no-param-reassign
|
|
101
97
|
}
|
|
102
|
-
const
|
|
98
|
+
const mapped_source_json = !well_known_source_json
|
|
103
99
|
? null
|
|
104
|
-
:
|
|
105
|
-
?
|
|
106
|
-
: await
|
|
107
|
-
const
|
|
100
|
+
: well_known_source_json === true
|
|
101
|
+
? source_json
|
|
102
|
+
: await well_known_source_json(source_json);
|
|
103
|
+
const serialized_source_json =
|
|
104
|
+
mapped_source_json && source_json_serialize(mapped_source_json);
|
|
108
105
|
|
|
109
106
|
// TODO this strategy means the files aren't available during development --
|
|
110
107
|
// maybe a Vite middleware is best? what if this plugin added its plugin to your `vite.config.ts`?
|
|
@@ -119,10 +116,13 @@ export const gro_plugin_sveltekit_app = ({
|
|
|
119
116
|
serialized_package_json,
|
|
120
117
|
)
|
|
121
118
|
: null,
|
|
122
|
-
|
|
123
|
-
? create_temporarily(
|
|
119
|
+
serialized_source_json
|
|
120
|
+
? create_temporarily(
|
|
121
|
+
join(assets_path, '.well-known/source.json'),
|
|
122
|
+
serialized_source_json,
|
|
123
|
+
)
|
|
124
124
|
: null,
|
|
125
|
-
|
|
125
|
+
serialized_source_json && well_known_src_files
|
|
126
126
|
? copy_temporarily(
|
|
127
127
|
SOURCE_DIRNAME,
|
|
128
128
|
assets_path,
|
package/src/lib/modules.ts
CHANGED
|
@@ -13,10 +13,7 @@ export interface ModuleMeta<TModule extends Record<string, any> = Record<string,
|
|
|
13
13
|
mod: TModule;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export type LoadModuleResult<TModule> = Result<
|
|
17
|
-
{id: PathId; mod: TModule},
|
|
18
|
-
LoadModuleFailure
|
|
19
|
-
>;
|
|
16
|
+
export type LoadModuleResult<TModule> = Result<{id: PathId; mod: TModule}, LoadModuleFailure>;
|
|
20
17
|
export type LoadModuleFailure =
|
|
21
18
|
| {ok: false; type: 'failed_import'; id: PathId; error: Error}
|
|
22
19
|
| {
|
package/src/lib/parse_exports.ts
CHANGED
|
@@ -2,7 +2,7 @@ import ts from 'typescript';
|
|
|
2
2
|
import {extname} from 'node:path';
|
|
3
3
|
import type {Flavored} from '@ryanatkn/belt/types.js';
|
|
4
4
|
import type {Logger} from '@ryanatkn/belt/log.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type {DeclarationKind} from '@ryanatkn/belt/source_json.js';
|
|
6
6
|
import type {PathId} from '@ryanatkn/belt/path.js';
|
|
7
7
|
|
|
8
8
|
import {TS_MATCHER} from './constants.ts';
|
|
@@ -10,7 +10,7 @@ import {ParseExportsContext} from './parse_exports_context.ts';
|
|
|
10
10
|
|
|
11
11
|
export interface Declaration {
|
|
12
12
|
name: string;
|
|
13
|
-
kind:
|
|
13
|
+
kind: DeclarationKind | null;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export type ExportDeclaration = Flavored<Declaration, 'ExportDeclaration'>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
2
|
import type {Logger} from '@ryanatkn/belt/log.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type {DeclarationKind} from '@ryanatkn/belt/source_json.js';
|
|
4
4
|
|
|
5
5
|
import type {ExportDeclaration} from './parse_exports.ts';
|
|
6
6
|
|
|
@@ -13,7 +13,7 @@ export class ParseExportsContext {
|
|
|
13
13
|
// Map of source file paths to their symbols
|
|
14
14
|
readonly #file_symbols: Map<string, ts.Symbol> = new Map();
|
|
15
15
|
// Cache for resolved symbols to avoid repeated resolution
|
|
16
|
-
readonly #symbol_kind_cache: Map<ts.Symbol,
|
|
16
|
+
readonly #symbol_kind_cache: Map<ts.Symbol, DeclarationKind> = new Map();
|
|
17
17
|
|
|
18
18
|
readonly log: Logger | undefined;
|
|
19
19
|
debug = process.env.DEBUG_EXPORTS === 'true';
|
|
@@ -75,7 +75,7 @@ export class ParseExportsContext {
|
|
|
75
75
|
/**
|
|
76
76
|
* Determine the kind of an export based on its symbol.
|
|
77
77
|
*/
|
|
78
|
-
#determine_export_kind(source_file: ts.SourceFile, symbol: ts.Symbol):
|
|
78
|
+
#determine_export_kind(source_file: ts.SourceFile, symbol: ts.Symbol): DeclarationKind {
|
|
79
79
|
// Check if this is a type-only export (no value export)
|
|
80
80
|
if (this.#is_type_only_export(source_file, symbol)) {
|
|
81
81
|
return 'type';
|
|
@@ -115,7 +115,7 @@ export class ParseExportsContext {
|
|
|
115
115
|
/**
|
|
116
116
|
* Infer the declaration kind from a symbol's declaration and type information.
|
|
117
117
|
*/
|
|
118
|
-
#infer_declaration_kind(symbol: ts.Symbol):
|
|
118
|
+
#infer_declaration_kind(symbol: ts.Symbol): DeclarationKind {
|
|
119
119
|
// Check symbol flags first for direct type matching
|
|
120
120
|
if (this.#is_class_symbol(symbol)) {
|
|
121
121
|
return 'class';
|
|
@@ -182,7 +182,7 @@ export class ParseExportsContext {
|
|
|
182
182
|
/**
|
|
183
183
|
* Infer the declaration kind from a specific declaration node.
|
|
184
184
|
*/
|
|
185
|
-
#infer_kind_from_declaration(decl: ts.Declaration):
|
|
185
|
+
#infer_kind_from_declaration(decl: ts.Declaration): DeclarationKind | null {
|
|
186
186
|
if (ts.isFunctionDeclaration(decl)) {
|
|
187
187
|
return 'function';
|
|
188
188
|
}
|
|
@@ -3,7 +3,7 @@ import {ensure_end, strip_start} from '@ryanatkn/belt/string.js';
|
|
|
3
3
|
import {existsSync} from 'node:fs';
|
|
4
4
|
import ts from 'typescript';
|
|
5
5
|
import type {PackageJson, PackageJsonExports} from '@ryanatkn/belt/package_json.js';
|
|
6
|
-
import {
|
|
6
|
+
import {SourceJson, type ModuleJson, type DeclarationKind} from '@ryanatkn/belt/source_json.js';
|
|
7
7
|
import type {Logger} from '@ryanatkn/belt/log.js';
|
|
8
8
|
|
|
9
9
|
import {paths, replace_extension} from './paths.ts';
|
|
@@ -11,25 +11,27 @@ import {parse_exports} from './parse_exports.ts';
|
|
|
11
11
|
import {TS_MATCHER, SVELTE_MATCHER, JSON_MATCHER, CSS_MATCHER} from './constants.ts';
|
|
12
12
|
import {search_fs} from './search_fs.ts';
|
|
13
13
|
|
|
14
|
-
export type
|
|
14
|
+
export type SourceJsonMapper = (
|
|
15
|
+
source_json: SourceJson,
|
|
16
|
+
) => SourceJson | null | Promise<SourceJson | null>;
|
|
15
17
|
|
|
16
|
-
export const
|
|
18
|
+
export const source_json_create = (
|
|
17
19
|
package_json: PackageJson,
|
|
18
20
|
lib_path?: string,
|
|
19
21
|
log?: Logger,
|
|
20
|
-
):
|
|
21
|
-
|
|
22
|
+
): SourceJson =>
|
|
23
|
+
SourceJson.parse({
|
|
22
24
|
name: package_json.name,
|
|
23
25
|
version: package_json.version,
|
|
24
|
-
modules:
|
|
26
|
+
modules: source_modules_create(package_json.exports, lib_path, log),
|
|
25
27
|
});
|
|
26
28
|
|
|
27
|
-
export const
|
|
28
|
-
const parsed =
|
|
29
|
+
export const source_json_serialize = (source_json: SourceJson): string => {
|
|
30
|
+
const parsed = SourceJson.parse(source_json);
|
|
29
31
|
return JSON.stringify(parsed, null, 2) + '\n';
|
|
30
32
|
};
|
|
31
33
|
|
|
32
|
-
export const
|
|
34
|
+
export const source_modules_create = (
|
|
33
35
|
exports: PackageJsonExports | undefined,
|
|
34
36
|
lib_path = paths.lib,
|
|
35
37
|
log?: Logger,
|
|
@@ -64,15 +66,15 @@ export const src_modules_create = (
|
|
|
64
66
|
for (const {file_path} of file_paths) {
|
|
65
67
|
const relative_path = file_path.replace(ensure_end(lib_path, '/'), '');
|
|
66
68
|
|
|
67
|
-
const
|
|
68
|
-
.filter((d): d is {name: string; kind:
|
|
69
|
+
const declarations = parse_exports(file_path, program, undefined, log)
|
|
70
|
+
.filter((d): d is {name: string; kind: DeclarationKind} => d.kind !== null) // TODO maybe dont filter out?
|
|
69
71
|
.map(({name, kind}) => ({name, kind}));
|
|
70
72
|
|
|
71
73
|
result.push(
|
|
72
|
-
|
|
74
|
+
declarations.length
|
|
73
75
|
? {
|
|
74
76
|
path: relative_path,
|
|
75
|
-
|
|
77
|
+
declarations,
|
|
76
78
|
}
|
|
77
79
|
: {
|
|
78
80
|
path: relative_path,
|
package/dist/src_json.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { PackageJson, PackageJsonExports } from '@ryanatkn/belt/package_json.js';
|
|
2
|
-
import { SrcJson, type ModuleJson } from '@ryanatkn/belt/src_json.js';
|
|
3
|
-
import type { Logger } from '@ryanatkn/belt/log.js';
|
|
4
|
-
export type SrcJsonMapper = (src_json: SrcJson) => SrcJson | null | Promise<SrcJson | null>;
|
|
5
|
-
export declare const src_json_create: (package_json: PackageJson, lib_path?: string, log?: Logger) => SrcJson;
|
|
6
|
-
export declare const src_json_serialize: (src_json: SrcJson) => string;
|
|
7
|
-
export declare const src_modules_create: (exports: PackageJsonExports | undefined, lib_path?: string, log?: Logger) => Array<ModuleJson> | undefined;
|
|
8
|
-
//# sourceMappingURL=src_json.d.ts.map
|
package/dist/src_json.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src_json.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/src_json.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAC,OAAO,EAAE,KAAK,UAAU,EAAsB,MAAM,4BAA4B,CAAC;AACzF,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAOlD,MAAM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AAE5F,eAAO,MAAM,eAAe,GAC3B,cAAc,WAAW,EACzB,WAAW,MAAM,EACjB,MAAM,MAAM,KACV,OAKA,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAAI,UAAU,OAAO,KAAG,MAGtD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC9B,SAAS,kBAAkB,GAAG,SAAS,EACvC,iBAAoB,EACpB,MAAM,MAAM,KACV,KAAK,CAAC,UAAU,CAAC,GAAG,SAgDtB,CAAC"}
|