@scrymore/scry-sbcov 0.3.3 → 0.3.4
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/core/built-story-index.d.ts +32 -5
- package/dist/core/built-story-index.d.ts.map +1 -1
- package/dist/core/built-story-index.js +72 -11
- package/dist/core/built-story-index.js.map +1 -1
- package/dist/core/static-server.d.ts.map +1 -1
- package/dist/core/static-server.js +35 -18
- package/dist/core/static-server.js.map +1 -1
- package/dist/core/story-executor.d.ts.map +1 -1
- package/dist/core/story-executor.js +10 -3
- package/dist/core/story-executor.js.map +1 -1
- package/dist/parsers/story-parser.d.ts.map +1 -1
- package/dist/parsers/story-parser.js +317 -27
- package/dist/parsers/story-parser.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The set of stories Storybook actually built, read from `index.json
|
|
2
|
+
* The set of stories Storybook actually built, read from `index.json` or, on
|
|
3
|
+
* Storybook 6, `stories.json`.
|
|
3
4
|
*
|
|
4
5
|
* Story discovery globs (`**\/*.stories.tsx` and friends) are not the same set
|
|
5
6
|
* as Storybook's own `stories` config in `.storybook/main.ts`, and the two
|
|
@@ -14,26 +15,52 @@
|
|
|
14
15
|
* silently absent from the index, while the run reports success. This is the
|
|
15
16
|
* dangerous direction, and it is invisible without this check.
|
|
16
17
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
18
|
+
* The index is the authoritative record of what exists: Storybook wrote it from
|
|
19
|
+
* the same config it built from. Preferring it removes the guesswork.
|
|
20
|
+
*
|
|
21
|
+
* Which file holds it depends on the Storybook version, and reading only the
|
|
22
|
+
* modern name is the third way to end up indexing nothing. Storybook 7 and
|
|
23
|
+
* later write `index.json`. Storybook 6 never writes that name; it writes
|
|
24
|
+
* `stories.json`, and only when `features: { buildStoriesJson: true }` is set.
|
|
25
|
+
* A 6.x build without that flag has no manifest at all — which is worth saying
|
|
26
|
+
* out loud rather than treating as "capture against a dev server".
|
|
19
27
|
*/
|
|
28
|
+
/** Manifest filenames, newest name first — both live at the build root. */
|
|
29
|
+
export declare const STORY_INDEX_FILENAMES: readonly ["index.json", "stories.json"];
|
|
20
30
|
export interface BuiltStoryIndex {
|
|
21
31
|
/** Story ids present in the build, e.g. `components-button--primary`. */
|
|
22
32
|
ids: Set<string>;
|
|
33
|
+
/** Filename the index came from, when it was read from a build. */
|
|
34
|
+
source?: (typeof STORY_INDEX_FILENAMES)[number];
|
|
23
35
|
}
|
|
24
36
|
/**
|
|
25
37
|
* Load the built story index, or null when it cannot be read.
|
|
26
38
|
*
|
|
27
39
|
* Returning null rather than throwing is deliberate: capture against a running
|
|
28
40
|
* dev server has no static directory to read, and that is a supported mode
|
|
29
|
-
* rather than an error.
|
|
41
|
+
* rather than an error. Callers that do have a static directory report the
|
|
42
|
+
* absence themselves — see `describeMissingStoryIndex`.
|
|
30
43
|
*/
|
|
31
44
|
export declare function loadBuiltStoryIndex(staticDir: string | undefined): Promise<BuiltStoryIndex | null>;
|
|
32
45
|
/**
|
|
33
|
-
*
|
|
46
|
+
* Explain a build that carries no story manifest.
|
|
47
|
+
*
|
|
48
|
+
* The failure this guards against is silent: no manifest means no reconciliation,
|
|
49
|
+
* so a run that captured a fraction of the library — or none of it — looks exactly
|
|
50
|
+
* like a run that captured all of it.
|
|
51
|
+
*/
|
|
52
|
+
export declare function describeMissingStoryIndex(staticDir: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* Parse an `index.json` or `stories.json` payload, or null when it is neither.
|
|
34
55
|
*
|
|
35
56
|
* Split out from the disk read because the same payload is also fetched over
|
|
36
57
|
* HTTP to confirm the server being captured is serving this build.
|
|
58
|
+
*
|
|
59
|
+
* The two envelopes differ in more than the key they hang entries off. v4
|
|
60
|
+
* (`index.json`) tags docs entries with `type: 'docs'`; v3 (`stories.json`) has
|
|
61
|
+
* no `type` at all and marks the same entries `parameters.docsOnly`. Both are
|
|
62
|
+
* skipped here, because a docs page has no story to capture and would otherwise
|
|
63
|
+
* be reported as a story that discovery missed.
|
|
37
64
|
*/
|
|
38
65
|
export declare function parseStoryIndex(raw: string): BuiltStoryIndex | null;
|
|
39
66
|
export interface ReconcileResult<T> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-story-index.d.ts","sourceRoot":"","sources":["../../src/core/built-story-index.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"built-story-index.d.ts","sourceRoot":"","sources":["../../src/core/built-story-index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,yCAA0C,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,mEAAmE;IACnE,MAAM,CAAC,EAAE,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;CACjD;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAgBjC;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAuBnE;AAcD,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,8DAA8D;IAC9D,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,yEAAyE;IACzE,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,yEAAyE;IACzE,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,UAAU,EAAE,CAAC,EAAE,EACf,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC9B,KAAK,EAAE,eAAe,GAAG,IAAI,GAC5B,eAAe,CAAC,CAAC,CAAC,CAmBpB"}
|
|
@@ -1,27 +1,83 @@
|
|
|
1
1
|
import { readFile } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* The set of stories Storybook actually built, read from `index.json` or, on
|
|
5
|
+
* Storybook 6, `stories.json`.
|
|
6
|
+
*
|
|
7
|
+
* Story discovery globs (`**\/*.stories.tsx` and friends) are not the same set
|
|
8
|
+
* as Storybook's own `stories` config in `.storybook/main.ts`, and the two
|
|
9
|
+
* diverge in both directions:
|
|
10
|
+
*
|
|
11
|
+
* - Glob wider than the build — every extra id is navigated to, finds nothing,
|
|
12
|
+
* and burns the full timeout. A repo that still has Storybook's starter
|
|
13
|
+
* `./stories/` examples while building only `../src/**` spends ~150s per run
|
|
14
|
+
* failing to capture components that were never built.
|
|
15
|
+
*
|
|
16
|
+
* - Glob narrower than the build — real components are never captured and are
|
|
17
|
+
* silently absent from the index, while the run reports success. This is the
|
|
18
|
+
* dangerous direction, and it is invisible without this check.
|
|
19
|
+
*
|
|
20
|
+
* The index is the authoritative record of what exists: Storybook wrote it from
|
|
21
|
+
* the same config it built from. Preferring it removes the guesswork.
|
|
22
|
+
*
|
|
23
|
+
* Which file holds it depends on the Storybook version, and reading only the
|
|
24
|
+
* modern name is the third way to end up indexing nothing. Storybook 7 and
|
|
25
|
+
* later write `index.json`. Storybook 6 never writes that name; it writes
|
|
26
|
+
* `stories.json`, and only when `features: { buildStoriesJson: true }` is set.
|
|
27
|
+
* A 6.x build without that flag has no manifest at all — which is worth saying
|
|
28
|
+
* out loud rather than treating as "capture against a dev server".
|
|
29
|
+
*/
|
|
30
|
+
/** Manifest filenames, newest name first — both live at the build root. */
|
|
31
|
+
export const STORY_INDEX_FILENAMES = ['index.json', 'stories.json'];
|
|
3
32
|
/**
|
|
4
33
|
* Load the built story index, or null when it cannot be read.
|
|
5
34
|
*
|
|
6
35
|
* Returning null rather than throwing is deliberate: capture against a running
|
|
7
36
|
* dev server has no static directory to read, and that is a supported mode
|
|
8
|
-
* rather than an error.
|
|
37
|
+
* rather than an error. Callers that do have a static directory report the
|
|
38
|
+
* absence themselves — see `describeMissingStoryIndex`.
|
|
9
39
|
*/
|
|
10
40
|
export async function loadBuiltStoryIndex(staticDir) {
|
|
11
41
|
if (!staticDir)
|
|
12
42
|
return null;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
43
|
+
for (const filename of STORY_INDEX_FILENAMES) {
|
|
44
|
+
let raw;
|
|
45
|
+
try {
|
|
46
|
+
raw = await readFile(path.join(staticDir, filename), 'utf8');
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const index = parseStoryIndex(raw);
|
|
52
|
+
if (index)
|
|
53
|
+
return { ...index, source: filename };
|
|
18
54
|
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Explain a build that carries no story manifest.
|
|
59
|
+
*
|
|
60
|
+
* The failure this guards against is silent: no manifest means no reconciliation,
|
|
61
|
+
* so a run that captured a fraction of the library — or none of it — looks exactly
|
|
62
|
+
* like a run that captured all of it.
|
|
63
|
+
*/
|
|
64
|
+
export function describeMissingStoryIndex(staticDir) {
|
|
65
|
+
return (`${staticDir} contains neither ${STORY_INDEX_FILENAMES.join(' nor ')}, so there is no record ` +
|
|
66
|
+
`of what Storybook built to check the capture against. Storybook 6.x only writes stories.json ` +
|
|
67
|
+
`when \`features: { buildStoriesJson: true }\` is set in .storybook/main.js; add it and rebuild ` +
|
|
68
|
+
`to have missing stories reported instead of passing unnoticed.`);
|
|
19
69
|
}
|
|
20
70
|
/**
|
|
21
|
-
* Parse an `index.json` payload, or null when it is
|
|
71
|
+
* Parse an `index.json` or `stories.json` payload, or null when it is neither.
|
|
22
72
|
*
|
|
23
73
|
* Split out from the disk read because the same payload is also fetched over
|
|
24
74
|
* HTTP to confirm the server being captured is serving this build.
|
|
75
|
+
*
|
|
76
|
+
* The two envelopes differ in more than the key they hang entries off. v4
|
|
77
|
+
* (`index.json`) tags docs entries with `type: 'docs'`; v3 (`stories.json`) has
|
|
78
|
+
* no `type` at all and marks the same entries `parameters.docsOnly`. Both are
|
|
79
|
+
* skipped here, because a docs page has no story to capture and would otherwise
|
|
80
|
+
* be reported as a story that discovery missed.
|
|
25
81
|
*/
|
|
26
82
|
export function parseStoryIndex(raw) {
|
|
27
83
|
let parsed;
|
|
@@ -32,18 +88,23 @@ export function parseStoryIndex(raw) {
|
|
|
32
88
|
return null;
|
|
33
89
|
}
|
|
34
90
|
const entries = parsed?.entries ?? parsed?.stories;
|
|
35
|
-
if (!entries)
|
|
91
|
+
if (!entries || typeof entries !== 'object')
|
|
36
92
|
return null;
|
|
37
93
|
const ids = new Set();
|
|
38
94
|
for (const [id, entry] of Object.entries(entries)) {
|
|
39
|
-
|
|
40
|
-
if (entry && typeof entry === 'object' && entry.type === 'docs') {
|
|
95
|
+
if (isDocsEntry(entry))
|
|
41
96
|
continue;
|
|
42
|
-
}
|
|
43
97
|
ids.add(id);
|
|
44
98
|
}
|
|
45
99
|
return { ids };
|
|
46
100
|
}
|
|
101
|
+
/** Docs pages are indexed alongside stories but have nothing to capture. */
|
|
102
|
+
function isDocsEntry(entry) {
|
|
103
|
+
if (!entry || typeof entry !== 'object')
|
|
104
|
+
return false;
|
|
105
|
+
const { type, parameters } = entry;
|
|
106
|
+
return type === 'docs' || parameters?.docsOnly === true;
|
|
107
|
+
}
|
|
47
108
|
/**
|
|
48
109
|
* Intersect discovered stories with what the build contains.
|
|
49
110
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-story-index.js","sourceRoot":"","sources":["../../src/core/built-story-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"built-story-index.js","sourceRoot":"","sources":["../../src/core/built-story-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-server.d.ts","sourceRoot":"","sources":["../../src/core/static-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"static-server.d.ts","sourceRoot":"","sources":["../../src/core/static-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAahC,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,CAC1B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,KACT;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEzC,eAAO,MAAM,iBAAiB,EAAE,aAc9B,CAAC;AAEH;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAa5D;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,YAAY,GAAE,aAAiC,GAC9C,OAAO,CAAC,YAAY,CAAC,CAuDvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CA+Df"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { spawn } from 'node:child_process';
|
|
6
6
|
import * as net from 'node:net';
|
|
7
|
-
import { parseStoryIndex } from './built-story-index.js';
|
|
7
|
+
import { parseStoryIndex, STORY_INDEX_FILENAMES, } from './built-story-index.js';
|
|
8
8
|
/**
|
|
9
9
|
* Loopback only. The build is served for this run, not for the network, and a
|
|
10
10
|
* capture that reaches the LAN is a capture someone else's proxy can answer.
|
|
@@ -123,36 +123,53 @@ export async function startStaticServer(staticDir, verbose, buildCommand = httpS
|
|
|
123
123
|
* to describe the same build, not merely a compatible one.
|
|
124
124
|
*/
|
|
125
125
|
export async function verifyServedBuild(url, staticDir, built, captureIds) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
126
|
+
// Ask for the manifest the build itself carries first: a Storybook 6 build has
|
|
127
|
+
// no index.json to serve, and demanding one would refuse to capture a build
|
|
128
|
+
// that is perfectly capturable.
|
|
129
|
+
const filenames = built.source
|
|
130
|
+
? [built.source, ...STORY_INDEX_FILENAMES.filter((name) => name !== built.source)]
|
|
131
|
+
: [...STORY_INDEX_FILENAMES];
|
|
132
|
+
let served = null;
|
|
133
|
+
let indexUrl = `${url}/${filenames[0]}`;
|
|
134
|
+
const failures = [];
|
|
135
|
+
for (const filename of filenames) {
|
|
136
|
+
const candidateUrl = `${url}/${filename}`;
|
|
137
|
+
let body;
|
|
138
|
+
try {
|
|
139
|
+
const response = await fetch(candidateUrl);
|
|
140
|
+
if (!response.ok)
|
|
141
|
+
throw new Error(`HTTP ${response.status}`);
|
|
142
|
+
body = await response.text();
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
failures.push(`${filename}: ${error instanceof Error ? error.message : String(error)}`);
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
const parsed = parseStoryIndex(body);
|
|
149
|
+
if (!parsed) {
|
|
150
|
+
failures.push(`${filename} is not a Storybook story index`);
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
served = parsed;
|
|
154
|
+
indexUrl = candidateUrl;
|
|
155
|
+
break;
|
|
138
156
|
}
|
|
139
|
-
const served = parseStoryIndex(body);
|
|
140
157
|
if (!served) {
|
|
141
|
-
throw new Error(`Refusing to capture:
|
|
142
|
-
`
|
|
158
|
+
throw new Error(`Refusing to capture: could not read the story index at ${url} — ${failures.join('; ')}. ` +
|
|
159
|
+
`Something other than the build in ${staticDir} is answering on that port.`);
|
|
143
160
|
}
|
|
144
161
|
const missing = captureIds.filter((id) => !served.ids.has(id));
|
|
145
162
|
if (missing.length > 0) {
|
|
146
163
|
throw new Error(`Refusing to capture: the server at ${url} is not serving the build in ${staticDir}. ` +
|
|
147
164
|
`${missing.length} of ${captureIds.length} stories to capture are absent from its ` +
|
|
148
|
-
|
|
165
|
+
`${indexUrl} (${sample(missing)}). ` +
|
|
149
166
|
`A proxy, a container port mapping or another Storybook is answering instead.`);
|
|
150
167
|
}
|
|
151
168
|
const absent = [...built.ids].filter((id) => !served.ids.has(id));
|
|
152
169
|
const extra = [...served.ids].filter((id) => !built.ids.has(id));
|
|
153
170
|
if (absent.length > 0 || extra.length > 0) {
|
|
154
171
|
throw new Error(`Refusing to capture: the server at ${url} answers with a different build than ${staticDir}. ` +
|
|
155
|
-
`Its
|
|
172
|
+
`Its ${indexUrl} is missing ${absent.length} story(ies) (${sample(absent)}) and carries ` +
|
|
156
173
|
`${extra.length} it should not (${sample(extra)}). ` +
|
|
157
174
|
`A proxy, a container port mapping or another Storybook is answering instead.`);
|
|
158
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-server.js","sourceRoot":"","sources":["../../src/core/static-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"static-server.js","sourceRoot":"","sources":["../../src/core/static-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story-executor.d.ts","sourceRoot":"","sources":["../../src/core/story-executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"story-executor.d.ts","sourceRoot":"","sources":["../../src/core/story-executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,KAAK,EACV,eAAe,EAEf,eAAe,EAIf,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAyB3B;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,eAAe,EAAE,EAC7B,MAAM,EAAE,eAAe,EACvB,OAAO,UAAQ,GACd,OAAO,CAAC,gBAAgB,CAAC,CAgK3B;AAyPD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,gBAAgB,EAChC,eAAe,EAAE,gBAAgB,GAAG,IAAI,EACxC,WAAW,EAAE,MAAM,GAClB,kBAAkB,CAyCpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAa1E;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG9D"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Story Executor
|
|
3
3
|
* Executes stories in a real browser to detect runtime failures using Playwright
|
|
4
4
|
*/
|
|
5
|
-
import { loadBuiltStoryIndex, reconcileWithBuild } from './built-story-index.js';
|
|
5
|
+
import { describeMissingStoryIndex, loadBuiltStoryIndex, reconcileWithBuild, } from './built-story-index.js';
|
|
6
6
|
import { startStaticServer, verifyServedBuild } from './static-server.js';
|
|
7
7
|
import * as fs from 'node:fs';
|
|
8
8
|
import * as path from 'node:path';
|
|
@@ -93,10 +93,17 @@ export async function executeStories(storyFiles, config, verbose = false) {
|
|
|
93
93
|
else {
|
|
94
94
|
// Without an index there is nothing to compare the served build against,
|
|
95
95
|
// so say so rather than let an unverified capture look like a verified one.
|
|
96
|
-
console.warn(` Could not verify the served build: ${config.staticDir}
|
|
96
|
+
console.warn(` Could not verify the served build: ${describeMissingStoryIndex(config.staticDir)}`);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
if (
|
|
99
|
+
if (allStories.length === 0) {
|
|
100
|
+
// A capture of nothing is the failure that reports success: the run exits 0,
|
|
101
|
+
// the archive uploads, and the search index it feeds comes back empty.
|
|
102
|
+
console.warn(` No stories to execute. ${discovered.length} were found on disk` +
|
|
103
|
+
(builtIndex ? ` and the build contains ${builtIndex.ids.size}` : '') +
|
|
104
|
+
`, so nothing will be captured or indexed.`);
|
|
105
|
+
}
|
|
106
|
+
else if (verbose) {
|
|
100
107
|
console.log(`Executing ${allStories.length} stories...`);
|
|
101
108
|
}
|
|
102
109
|
// Launch browser
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story-executor.js","sourceRoot":"","sources":["../../src/core/story-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"story-executor.js","sourceRoot":"","sources":["../../src/core/story-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/story-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,eAAe,EAEf,iBAAiB,EACjB,UAAU,EACX,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"story-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/story-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,eAAe,EAEf,iBAAiB,EACjB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAoB3B;;GAEG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,UAAU,EAClB,OAAO,UAAQ,GACd,OAAO,CAAC,eAAe,EAAE,CAAC,CAwB5B;AA8CD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,eAAe,GAAG,IAAI,CAqBxB;AAujBD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,iBAAiB,EAAE,GAC9B,iBAAiB,GAAG,IAAI,CAuC1B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAIlE"}
|
|
@@ -7,8 +7,13 @@ import * as path from 'node:path';
|
|
|
7
7
|
import { glob } from 'glob';
|
|
8
8
|
import { withVendorExcludes } from '../core/vendor-paths.js';
|
|
9
9
|
// Regular expressions for parsing story files
|
|
10
|
-
const
|
|
10
|
+
const META_START_REGEX = /export\s+default\s*(?={)|(?:const|let|var)\s+meta\s*(?::\s*[^=]+?)?=\s*(?={)/;
|
|
11
11
|
const STORY_EXPORT_REGEX = /export\s+(?:const|let)\s+(\w+)\s*(?::\s*\w+(?:<[^>]+>)?)?\s*=\s*({[\s\S]*?});?|export\s+(?:const|let)\s+(\w+)\s*(?::\s*\w+(?:<[^>]+>)?)?\s*=\s*(\([^)]*\)\s*=>\s*(?:<[\s\S]*?>|[\s\S]*?));?/g;
|
|
12
|
+
// Every named export of a story file is a story unless the meta says otherwise —
|
|
13
|
+
// including the CSF2 shapes (`export const X = Template.bind({})`,
|
|
14
|
+
// `export function X()`) that carry no object literal for STORY_EXPORT_REGEX to
|
|
15
|
+
// latch onto. See extractStories.
|
|
16
|
+
const NAMED_EXPORT_REGEX = /export\s+(?:async\s+)?(?:const|let|var|function)\s+([A-Za-z_$][\w$]*)/g;
|
|
12
17
|
const TITLE_REGEX = /title:\s*['"`]([^'"`]+)['"`]/;
|
|
13
18
|
const COMPONENT_REGEX = /component:\s*(\w+)/;
|
|
14
19
|
const COMPONENT_PATH_REGEX = /import\s+(?:{[^}]+}|\*\s+as\s+\w+|\w+)?\s*,?\s*(?:{[^}]+})?\s*from\s+['"`]([^'"`]+)['"`]/g;
|
|
@@ -16,6 +21,7 @@ const ARGS_REGEX = /args:\s*({[\s\S]*?})/;
|
|
|
16
21
|
const PLAY_FUNCTION_REGEX = /play:\s*(?:async\s*)?\(/;
|
|
17
22
|
const TAGS_REGEX = /tags:\s*\[([^\]]*)\]/;
|
|
18
23
|
const NAME_REGEX = /name:\s*['"`]([^'"`]+)['"`]/;
|
|
24
|
+
const EXPORT_FILTER_REGEX = /(includeStories|excludeStories):\s*(\[[^\]]*\]|\/(?:[^/\\\n]|\\.)+\/[a-z]*)/g;
|
|
19
25
|
/**
|
|
20
26
|
* Parse all story files in the project
|
|
21
27
|
*/
|
|
@@ -77,10 +83,11 @@ async function parseStoryFile(filePath, projectPath) {
|
|
|
77
83
|
*/
|
|
78
84
|
export function parseStoryCode(code, filePath, projectPath) {
|
|
79
85
|
const relativePath = path.relative(projectPath, filePath);
|
|
86
|
+
const metaObject = extractMetaObject(code);
|
|
80
87
|
// Extract meta information
|
|
81
|
-
const meta = extractMeta(code, filePath);
|
|
88
|
+
const meta = extractMeta(code, filePath, metaObject);
|
|
82
89
|
// Extract stories
|
|
83
|
-
const stories = extractStories(code, meta.title);
|
|
90
|
+
const stories = extractStories(code, meta.title, metaObject);
|
|
84
91
|
if (stories.length === 0) {
|
|
85
92
|
return null;
|
|
86
93
|
}
|
|
@@ -91,17 +98,30 @@ export function parseStoryCode(code, filePath, projectPath) {
|
|
|
91
98
|
stories,
|
|
92
99
|
};
|
|
93
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Extract the component meta object literal, whichever shape declares it.
|
|
103
|
+
*
|
|
104
|
+
* CSF3 names it (`const meta = {...}; export default meta;`), CSF2 inlines it
|
|
105
|
+
* (`export default {...}`). Both are read to the matching brace rather than to
|
|
106
|
+
* the first one: a meta that opens with `parameters: { layout: 'centered' }`
|
|
107
|
+
* would otherwise be truncated before its `title`, and every story id derived
|
|
108
|
+
* from that file would be wrong.
|
|
109
|
+
*/
|
|
110
|
+
function extractMetaObject(code) {
|
|
111
|
+
const start = code.match(META_START_REGEX);
|
|
112
|
+
if (!start || start.index === undefined)
|
|
113
|
+
return null;
|
|
114
|
+
const braceIndex = start.index + start[0].length;
|
|
115
|
+
return readBalanced(code, braceIndex);
|
|
116
|
+
}
|
|
94
117
|
/**
|
|
95
118
|
* Extract meta information from story file
|
|
96
119
|
*/
|
|
97
|
-
function extractMeta(code, filePath) {
|
|
120
|
+
function extractMeta(code, filePath, metaObject) {
|
|
98
121
|
let title = null;
|
|
99
122
|
let componentName = null;
|
|
100
123
|
let componentPath = null;
|
|
101
|
-
|
|
102
|
-
const metaMatch = code.match(META_REGEX);
|
|
103
|
-
if (metaMatch) {
|
|
104
|
-
const metaObject = metaMatch[1] || metaMatch[2];
|
|
124
|
+
if (metaObject) {
|
|
105
125
|
// Extract title
|
|
106
126
|
const titleMatch = metaObject.match(TITLE_REGEX);
|
|
107
127
|
if (titleMatch) {
|
|
@@ -144,49 +164,156 @@ function extractMeta(code, filePath) {
|
|
|
144
164
|
}
|
|
145
165
|
/**
|
|
146
166
|
* Extract stories from story file code
|
|
167
|
+
*
|
|
168
|
+
* Two passes, because the two CSF versions declare stories in shapes that have
|
|
169
|
+
* no syntax in common.
|
|
170
|
+
*
|
|
171
|
+
* CSF3 gives every story an object literal or an inline arrow, which is what
|
|
172
|
+
* STORY_EXPORT_REGEX matches. CSF2 — still the majority of story files in the
|
|
173
|
+
* wild — declares them as bound templates with the details hung off the export
|
|
174
|
+
* afterwards:
|
|
175
|
+
*
|
|
176
|
+
* const Template = (args) => <X {...args} />;
|
|
177
|
+
* export const Primary = Template.bind({});
|
|
178
|
+
* Primary.args = { label: 'a' };
|
|
179
|
+
*
|
|
180
|
+
* The initialiser there is a call expression, so the CSF3 pass matches nothing,
|
|
181
|
+
* the file parses as having zero stories, and a file with zero stories is
|
|
182
|
+
* dropped whole. A design system written in CSF2 therefore reports as almost
|
|
183
|
+
* entirely storyless while the run still exits 0. The second pass claims every
|
|
184
|
+
* remaining named export — which is what Storybook itself does — and reads the
|
|
185
|
+
* `Primary.args = {...}` annotations that follow it.
|
|
147
186
|
*/
|
|
148
|
-
function extractStories(code, title) {
|
|
187
|
+
function extractStories(code, title, metaObject) {
|
|
149
188
|
const stories = [];
|
|
150
189
|
const seenExports = new Set();
|
|
190
|
+
const isStoryExport = buildExportFilter(metaObject);
|
|
191
|
+
const collect = (exportName, storyObject, index) => {
|
|
192
|
+
// Skip non-story exports
|
|
193
|
+
if (!exportName || exportName === 'default' || exportName === 'meta')
|
|
194
|
+
return;
|
|
195
|
+
if (seenExports.has(exportName))
|
|
196
|
+
return;
|
|
197
|
+
if (!isStoryExport(exportName))
|
|
198
|
+
return;
|
|
199
|
+
seenExports.add(exportName);
|
|
200
|
+
stories.push(parseStory(exportName, storyObject, title, index, code));
|
|
201
|
+
};
|
|
151
202
|
// Reset regex lastIndex
|
|
152
203
|
STORY_EXPORT_REGEX.lastIndex = 0;
|
|
153
204
|
let match;
|
|
154
205
|
while ((match = STORY_EXPORT_REGEX.exec(code)) !== null) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
206
|
+
collect(match[1] || match[3], match[2] || match[4], match.index);
|
|
207
|
+
}
|
|
208
|
+
NAMED_EXPORT_REGEX.lastIndex = 0;
|
|
209
|
+
while ((match = NAMED_EXPORT_REGEX.exec(code)) !== null) {
|
|
210
|
+
collect(match[1], undefined, match.index);
|
|
211
|
+
}
|
|
212
|
+
// The two passes each scan from the top, so the combined list is only in
|
|
213
|
+
// source order once it is sorted — and story order is how a report reads.
|
|
214
|
+
return stories.sort((a, b) => (a.location?.startLine ?? 0) - (b.location?.startLine ?? 0));
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Build the "is this export a story" predicate the meta asks for.
|
|
218
|
+
*
|
|
219
|
+
* Storybook treats every named export as a story except the ones `includeStories`
|
|
220
|
+
* / `excludeStories` filter out, and CSF2 files lean on that to export shared
|
|
221
|
+
* templates and helpers from a story file. Without honouring it, those helpers
|
|
222
|
+
* are reported as stories that the build has never heard of.
|
|
223
|
+
*/
|
|
224
|
+
function buildExportFilter(metaObject) {
|
|
225
|
+
// Storybook's own export-order marker, never a story.
|
|
226
|
+
const isInternal = (name) => name.startsWith('__');
|
|
227
|
+
if (!metaObject)
|
|
228
|
+
return (name) => !isInternal(name);
|
|
229
|
+
let include = null;
|
|
230
|
+
let exclude = null;
|
|
231
|
+
EXPORT_FILTER_REGEX.lastIndex = 0;
|
|
232
|
+
let match;
|
|
233
|
+
while ((match = EXPORT_FILTER_REGEX.exec(metaObject)) !== null) {
|
|
234
|
+
const matcher = compileExportMatcher(match[2]);
|
|
235
|
+
if (!matcher)
|
|
160
236
|
continue;
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
237
|
+
if (match[1] === 'includeStories')
|
|
238
|
+
include = matcher;
|
|
239
|
+
else
|
|
240
|
+
exclude = matcher;
|
|
241
|
+
}
|
|
242
|
+
return (name) => {
|
|
243
|
+
if (isInternal(name))
|
|
244
|
+
return false;
|
|
245
|
+
if (include && !include(name))
|
|
246
|
+
return false;
|
|
247
|
+
if (exclude && exclude(name))
|
|
248
|
+
return false;
|
|
249
|
+
return true;
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Compile an `includeStories`/`excludeStories` value, or null when it is neither
|
|
254
|
+
* of the two forms Storybook documents (a string array or a regular expression).
|
|
255
|
+
*/
|
|
256
|
+
function compileExportMatcher(value) {
|
|
257
|
+
if (value.startsWith('[')) {
|
|
258
|
+
const names = new Set();
|
|
259
|
+
const stringLiteral = /['"`]([^'"`]*)['"`]/g;
|
|
260
|
+
let match;
|
|
261
|
+
while ((match = stringLiteral.exec(value)) !== null)
|
|
262
|
+
names.add(match[1]);
|
|
263
|
+
return names.size > 0 ? (name) => names.has(name) : null;
|
|
264
|
+
}
|
|
265
|
+
const regexLiteral = value.match(/^\/((?:[^/\\\n]|\\.)+)\/([a-z]*)$/);
|
|
266
|
+
if (!regexLiteral)
|
|
267
|
+
return null;
|
|
268
|
+
try {
|
|
269
|
+
const pattern = new RegExp(regexLiteral[1], regexLiteral[2]);
|
|
270
|
+
// Shared RegExp objects carry lastIndex between calls when /g is set.
|
|
271
|
+
return (name) => {
|
|
272
|
+
pattern.lastIndex = 0;
|
|
273
|
+
return pattern.test(name);
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
catch {
|
|
277
|
+
return null;
|
|
167
278
|
}
|
|
168
|
-
return stories;
|
|
169
279
|
}
|
|
170
280
|
/**
|
|
171
281
|
* Parse a single story
|
|
282
|
+
*
|
|
283
|
+
* `storyObject` is the inline object literal when the story has one (CSF3). A
|
|
284
|
+
* CSF2 story has none, and everything the story configures lives in assignments
|
|
285
|
+
* that follow the export, so those are read as a fallback for each field.
|
|
172
286
|
*/
|
|
173
287
|
function parseStory(exportName, storyObject, title, exportStartIndex, code) {
|
|
174
|
-
|
|
288
|
+
const inline = storyObject ?? '';
|
|
289
|
+
const annotations = extractCsf2Annotations(code, exportName, exportStartIndex);
|
|
290
|
+
// Extract story name (from name property, CSF2 storyName, or export name)
|
|
175
291
|
let storyName = exportName;
|
|
176
|
-
const nameMatch =
|
|
292
|
+
const nameMatch = inline.match(NAME_REGEX);
|
|
177
293
|
if (nameMatch) {
|
|
178
294
|
storyName = nameMatch[1];
|
|
179
295
|
}
|
|
296
|
+
else if (annotations.storyName) {
|
|
297
|
+
storyName = annotations.storyName;
|
|
298
|
+
}
|
|
180
299
|
// Generate story ID
|
|
181
300
|
const storyId = generateStoryId(title, exportName);
|
|
182
301
|
// Extract args
|
|
183
|
-
|
|
302
|
+
let args = extractArgs(inline);
|
|
303
|
+
if (Object.keys(args).length === 0) {
|
|
304
|
+
args = annotations.args;
|
|
305
|
+
}
|
|
184
306
|
// Check for play function
|
|
185
|
-
const hasPlayFunction = PLAY_FUNCTION_REGEX.test(
|
|
307
|
+
const hasPlayFunction = PLAY_FUNCTION_REGEX.test(inline) || annotations.hasPlayFunction;
|
|
186
308
|
// Extract tags
|
|
187
|
-
|
|
309
|
+
let tags = extractTags(inline);
|
|
310
|
+
if (tags.length === 0) {
|
|
311
|
+
tags = annotations.tags;
|
|
312
|
+
}
|
|
188
313
|
const startLine = code.slice(0, exportStartIndex).split('\n').length;
|
|
189
|
-
const endLine =
|
|
314
|
+
const endLine = storyObject
|
|
315
|
+
? startLine + storyObject.split(/\r?\n/).length - 1
|
|
316
|
+
: lineOf(code, statementEndIndex(code, exportStartIndex));
|
|
190
317
|
return {
|
|
191
318
|
exportName,
|
|
192
319
|
storyName,
|
|
@@ -198,6 +325,169 @@ function parseStory(exportName, storyObject, title, exportStartIndex, code) {
|
|
|
198
325
|
location: { startLine, endLine },
|
|
199
326
|
};
|
|
200
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Read the `Primary.args = {...}` style assignments that configure a CSF2 story.
|
|
330
|
+
*
|
|
331
|
+
* Only assignments after the export are considered: an earlier `Primary.args` in
|
|
332
|
+
* the same file would belong to something else, and story files that reuse names
|
|
333
|
+
* across a `Template` and its stories are common enough to care.
|
|
334
|
+
*/
|
|
335
|
+
function extractCsf2Annotations(code, exportName, exportStartIndex) {
|
|
336
|
+
const result = {
|
|
337
|
+
storyName: null,
|
|
338
|
+
args: {},
|
|
339
|
+
tags: [],
|
|
340
|
+
hasPlayFunction: false,
|
|
341
|
+
};
|
|
342
|
+
const assignment = new RegExp(`\\b${escapeRegExp(exportName)}\\s*\\.\\s*(args|storyName|story|tags|play)\\s*=\\s*`, 'g');
|
|
343
|
+
assignment.lastIndex = exportStartIndex;
|
|
344
|
+
let match;
|
|
345
|
+
while ((match = assignment.exec(code)) !== null) {
|
|
346
|
+
const property = match[1];
|
|
347
|
+
const valueStart = match.index + match[0].length;
|
|
348
|
+
const value = code.slice(valueStart, statementEndIndex(code, valueStart)).trim();
|
|
349
|
+
switch (property) {
|
|
350
|
+
case 'args':
|
|
351
|
+
if (Object.keys(result.args).length === 0)
|
|
352
|
+
result.args = parseArgsObject(value);
|
|
353
|
+
break;
|
|
354
|
+
case 'storyName': {
|
|
355
|
+
const literal = value.match(/^['"`]([^'"`]*)['"`]/);
|
|
356
|
+
if (literal && !result.storyName)
|
|
357
|
+
result.storyName = literal[1];
|
|
358
|
+
break;
|
|
359
|
+
}
|
|
360
|
+
case 'story': {
|
|
361
|
+
// Pre-6.0 CSF2 nested everything under `Primary.story = { name, ... }`.
|
|
362
|
+
const nameMatch = value.match(NAME_REGEX);
|
|
363
|
+
if (nameMatch && !result.storyName)
|
|
364
|
+
result.storyName = nameMatch[1];
|
|
365
|
+
const nested = extractArgs(value);
|
|
366
|
+
if (Object.keys(result.args).length === 0)
|
|
367
|
+
result.args = nested;
|
|
368
|
+
if (result.tags.length === 0)
|
|
369
|
+
result.tags = extractTags(value);
|
|
370
|
+
if (PLAY_FUNCTION_REGEX.test(value))
|
|
371
|
+
result.hasPlayFunction = true;
|
|
372
|
+
break;
|
|
373
|
+
}
|
|
374
|
+
case 'tags':
|
|
375
|
+
if (result.tags.length === 0) {
|
|
376
|
+
const tagsMatch = value.match(/^\[([^\]]*)\]/);
|
|
377
|
+
if (tagsMatch)
|
|
378
|
+
result.tags = extractTags(`tags: [${tagsMatch[1]}]`);
|
|
379
|
+
}
|
|
380
|
+
break;
|
|
381
|
+
case 'play':
|
|
382
|
+
result.hasPlayFunction = true;
|
|
383
|
+
break;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
return result;
|
|
387
|
+
}
|
|
388
|
+
function parseArgsObject(value) {
|
|
389
|
+
if (!value.startsWith('{'))
|
|
390
|
+
return {};
|
|
391
|
+
try {
|
|
392
|
+
return parseObjectLiteral(readBalanced(value, 0) ?? value);
|
|
393
|
+
}
|
|
394
|
+
catch {
|
|
395
|
+
return {};
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Read a bracketed span starting at `openIndex`, including both brackets.
|
|
400
|
+
*
|
|
401
|
+
* Strings and comments are skipped so that a brace inside `'}'` or a `//` line
|
|
402
|
+
* does not close the span early.
|
|
403
|
+
*/
|
|
404
|
+
function readBalanced(code, openIndex) {
|
|
405
|
+
const open = code[openIndex];
|
|
406
|
+
const close = open === '{' ? '}' : open === '[' ? ']' : open === '(' ? ')' : null;
|
|
407
|
+
if (!close)
|
|
408
|
+
return null;
|
|
409
|
+
let depth = 0;
|
|
410
|
+
for (let i = openIndex; i < code.length; i++) {
|
|
411
|
+
const skipped = skipStringOrComment(code, i);
|
|
412
|
+
if (skipped !== i) {
|
|
413
|
+
i = skipped - 1;
|
|
414
|
+
continue;
|
|
415
|
+
}
|
|
416
|
+
const char = code[i];
|
|
417
|
+
if (char === open)
|
|
418
|
+
depth++;
|
|
419
|
+
else if (char === close) {
|
|
420
|
+
depth--;
|
|
421
|
+
if (depth === 0)
|
|
422
|
+
return code.slice(openIndex, i + 1);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
return null;
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Index just past the statement that starts at `from`.
|
|
429
|
+
*
|
|
430
|
+
* Used for CSF2 exports, which have no object literal to measure: the statement
|
|
431
|
+
* ends at its semicolon, or — for a declaration written without one — at the
|
|
432
|
+
* first newline outside any bracket.
|
|
433
|
+
*/
|
|
434
|
+
function statementEndIndex(code, from) {
|
|
435
|
+
let depth = 0;
|
|
436
|
+
for (let i = from; i < code.length; i++) {
|
|
437
|
+
const skipped = skipStringOrComment(code, i);
|
|
438
|
+
if (skipped !== i) {
|
|
439
|
+
i = skipped - 1;
|
|
440
|
+
continue;
|
|
441
|
+
}
|
|
442
|
+
const char = code[i];
|
|
443
|
+
if (char === '{' || char === '[' || char === '(')
|
|
444
|
+
depth++;
|
|
445
|
+
else if (char === '}' || char === ']' || char === ')')
|
|
446
|
+
depth--;
|
|
447
|
+
else if (depth <= 0 && char === ';')
|
|
448
|
+
return i;
|
|
449
|
+
else if (depth <= 0 && char === '\n' && i > from)
|
|
450
|
+
return i;
|
|
451
|
+
}
|
|
452
|
+
return code.length;
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Index just past a string, template or comment starting at `index`, or `index`
|
|
456
|
+
* itself when nothing starts there.
|
|
457
|
+
*/
|
|
458
|
+
function skipStringOrComment(code, index) {
|
|
459
|
+
const char = code[index];
|
|
460
|
+
if (char === '/' && code[index + 1] === '/') {
|
|
461
|
+
const end = code.indexOf('\n', index);
|
|
462
|
+
return end === -1 ? code.length : end;
|
|
463
|
+
}
|
|
464
|
+
if (char === '/' && code[index + 1] === '*') {
|
|
465
|
+
const end = code.indexOf('*/', index + 2);
|
|
466
|
+
return end === -1 ? code.length : end + 2;
|
|
467
|
+
}
|
|
468
|
+
if (char === '"' || char === "'" || char === '`') {
|
|
469
|
+
for (let i = index + 1; i < code.length; i++) {
|
|
470
|
+
if (code[i] === '\\') {
|
|
471
|
+
i++;
|
|
472
|
+
continue;
|
|
473
|
+
}
|
|
474
|
+
if (code[i] === char)
|
|
475
|
+
return i + 1;
|
|
476
|
+
// An unterminated quote is far more likely to be an apostrophe in JSX text
|
|
477
|
+
// than a real string, so give up at the line end rather than eat the file.
|
|
478
|
+
if (code[i] === '\n' && char !== '`')
|
|
479
|
+
return index;
|
|
480
|
+
}
|
|
481
|
+
return code.length;
|
|
482
|
+
}
|
|
483
|
+
return index;
|
|
484
|
+
}
|
|
485
|
+
function lineOf(code, index) {
|
|
486
|
+
return code.slice(0, index).split('\n').length;
|
|
487
|
+
}
|
|
488
|
+
function escapeRegExp(value) {
|
|
489
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
490
|
+
}
|
|
201
491
|
/**
|
|
202
492
|
* Extract args from story object
|
|
203
493
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story-parser.js","sourceRoot":"","sources":["../../src/parsers/story-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"story-parser.js","sourceRoot":"","sources":["../../src/parsers/story-parser.ts"],"names":[],"mappings":"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"}
|