@chromatic-com/cypress 0.12.1 → 0.12.2-0473a2c-20260422103524
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/bin/archive-storybook.js +22 -190
- package/dist/bin/build-archive-storybook.js +22 -190
- package/dist/index.js +69 -9
- package/dist/index.mjs +69 -9
- package/dist/storybook-config/main.mjs +1 -12
- package/dist/support.js +48 -39
- package/dist/support.mjs +48 -39
- package/embedded/node_modules/{webpack → @storybook/builder-webpack5}/node_modules/es-module-lexer/README.md +7 -59
- package/embedded/node_modules/@storybook/builder-webpack5/node_modules/es-module-lexer/dist/lexer.asm.js +2 -0
- package/embedded/node_modules/@storybook/builder-webpack5/node_modules/es-module-lexer/dist/lexer.cjs +1 -0
- package/embedded/node_modules/@storybook/builder-webpack5/node_modules/es-module-lexer/dist/lexer.js +2 -0
- package/embedded/node_modules/{webpack → @storybook/builder-webpack5}/node_modules/es-module-lexer/lexer.js +13 -23
- package/embedded/node_modules/{webpack → @storybook/builder-webpack5}/node_modules/es-module-lexer/package.json +1 -1
- package/embedded/node_modules/{webpack → @storybook/builder-webpack5}/node_modules/es-module-lexer/types/lexer.d.ts +1 -18
- package/embedded/node_modules/es-module-lexer/README.md +59 -7
- package/embedded/node_modules/es-module-lexer/dist/lexer.asm.js +2 -2
- package/embedded/node_modules/es-module-lexer/dist/lexer.cjs +1 -1
- package/embedded/node_modules/es-module-lexer/dist/lexer.js +2 -2
- package/embedded/node_modules/es-module-lexer/lexer.js +23 -13
- package/embedded/node_modules/es-module-lexer/package.json +1 -1
- package/embedded/node_modules/es-module-lexer/types/lexer.d.ts +18 -1
- package/package.json +1 -1
- package/embedded/node_modules/webpack/node_modules/es-module-lexer/dist/lexer.asm.js +0 -2
- package/embedded/node_modules/webpack/node_modules/es-module-lexer/dist/lexer.cjs +0 -1
- package/embedded/node_modules/webpack/node_modules/es-module-lexer/dist/lexer.js +0 -2
- /package/embedded/node_modules/{webpack → @storybook/builder-webpack5}/node_modules/es-module-lexer/LICENSE +0 -0
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
var child_process = require('child_process');
|
|
5
5
|
var path = require('path');
|
|
6
6
|
var fs = require('fs');
|
|
7
|
-
var
|
|
7
|
+
var module$1 = require('module');
|
|
8
8
|
|
|
9
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
9
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
11
|
|
|
11
12
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
@@ -45,11 +46,6 @@ function archivesDir(defaultOutputDir) {
|
|
|
45
46
|
}
|
|
46
47
|
__name(archivesDir, "archivesDir");
|
|
47
48
|
__name2(archivesDir, "archivesDir");
|
|
48
|
-
function assetsDir(defaultOutputDir) {
|
|
49
|
-
return path__default.default.resolve(archivesDir(defaultOutputDir), "archive");
|
|
50
|
-
}
|
|
51
|
-
__name(assetsDir, "assetsDir");
|
|
52
|
-
__name2(assetsDir, "assetsDir");
|
|
53
49
|
function checkArchivesDirExists(defaultOutputDir) {
|
|
54
50
|
const dir = archivesDir(defaultOutputDir);
|
|
55
51
|
if (!fs.existsSync(dir)) {
|
|
@@ -60,203 +56,39 @@ Please make sure that you have run your E2E tests, or have set the CHROMATIC_ARC
|
|
|
60
56
|
}
|
|
61
57
|
__name(checkArchivesDirExists, "checkArchivesDirExists");
|
|
62
58
|
__name2(checkArchivesDirExists, "checkArchivesDirExists");
|
|
63
|
-
|
|
64
|
-
if (!fs.existsSync(directory)) {
|
|
65
|
-
fs.mkdirSync(directory, {
|
|
66
|
-
recursive: true
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
__name(ensureDir, "ensureDir");
|
|
71
|
-
__name2(ensureDir, "ensureDir");
|
|
72
|
-
async function outputFile(filePath, data) {
|
|
73
|
-
ensureDir(path__default.default.dirname(filePath));
|
|
74
|
-
return promises.writeFile(filePath, data, {
|
|
75
|
-
mode: 511
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
__name(outputFile, "outputFile");
|
|
79
|
-
__name2(outputFile, "outputFile");
|
|
80
|
-
async function outputJSONFile(filePath, data) {
|
|
81
|
-
return outputFile(filePath, JSON.stringify(data));
|
|
82
|
-
}
|
|
83
|
-
__name(outputJSONFile, "outputJSONFile");
|
|
84
|
-
__name2(outputJSONFile, "outputJSONFile");
|
|
85
|
-
async function readJSONFile(filePath) {
|
|
86
|
-
const data = await promises.readFile(filePath);
|
|
87
|
-
return JSON.parse(data.toString());
|
|
88
|
-
}
|
|
89
|
-
__name(readJSONFile, "readJSONFile");
|
|
90
|
-
__name2(readJSONFile, "readJSONFile");
|
|
91
|
-
function viewportToString(viewport) {
|
|
92
|
-
return `w${viewport.width}h${viewport.height}`;
|
|
93
|
-
}
|
|
94
|
-
__name(viewportToString, "viewportToString");
|
|
95
|
-
__name2(viewportToString, "viewportToString");
|
|
96
|
-
function parseViewport(viewportString) {
|
|
97
|
-
const matcher = viewportString.match(/w(\d+)h(\d+)/);
|
|
98
|
-
return {
|
|
99
|
-
width: Number(matcher[1]),
|
|
100
|
-
height: Number(matcher[2])
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
__name(parseViewport, "parseViewport");
|
|
104
|
-
__name2(parseViewport, "parseViewport");
|
|
105
|
-
var SNAPSHOT_FILE_EXT = "snapshot.json";
|
|
106
|
-
function snapshotIdFromFileName(fileName) {
|
|
107
|
-
const fileParts = fileName.split(".");
|
|
108
|
-
return fileParts.slice(0, fileParts.length - 3).join(".");
|
|
109
|
-
}
|
|
110
|
-
__name(snapshotIdFromFileName, "snapshotIdFromFileName");
|
|
111
|
-
__name2(snapshotIdFromFileName, "snapshotIdFromFileName");
|
|
112
|
-
function viewportFromFileName(fileName) {
|
|
113
|
-
const fileParts = fileName.split(".");
|
|
114
|
-
const viewportStr = fileParts[fileParts.length - 3];
|
|
115
|
-
return parseViewport(viewportStr);
|
|
116
|
-
}
|
|
117
|
-
__name(viewportFromFileName, "viewportFromFileName");
|
|
118
|
-
__name2(viewportFromFileName, "viewportFromFileName");
|
|
119
|
-
async function listSnapshotFiles(snapshotsDir) {
|
|
120
|
-
const files = await promises.readdir(snapshotsDir);
|
|
121
|
-
return files.filter((file) => file.endsWith(`.${SNAPSHOT_FILE_EXT}`));
|
|
122
|
-
}
|
|
123
|
-
__name(listSnapshotFiles, "listSnapshotFiles");
|
|
124
|
-
__name2(listSnapshotFiles, "listSnapshotFiles");
|
|
125
|
-
var STORIES_FILE_EXT = "stories.json";
|
|
126
|
-
function addViewportsToStories(storiesFileJson, viewportsStoriesLookup) {
|
|
127
|
-
const { stories } = storiesFileJson;
|
|
128
|
-
const storiesWithViewports = stories.map((story) => {
|
|
129
|
-
const storyId = story.parameters.server.id;
|
|
130
|
-
const viewports = viewportsStoriesLookup[storyId];
|
|
131
|
-
return {
|
|
132
|
-
...story,
|
|
133
|
-
parameters: {
|
|
134
|
-
...story.parameters,
|
|
135
|
-
chromatic: {
|
|
136
|
-
...story.parameters.chromatic,
|
|
137
|
-
modes: buildStoryModesConfig(viewports)
|
|
138
|
-
},
|
|
139
|
-
viewport: {
|
|
140
|
-
viewports: buildStoryViewportsConfig(viewports),
|
|
141
|
-
defaultViewport: viewportToString(findDefaultViewport(viewports))
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
});
|
|
146
|
-
return {
|
|
147
|
-
...storiesFileJson,
|
|
148
|
-
stories: storiesWithViewports
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
__name(addViewportsToStories, "addViewportsToStories");
|
|
152
|
-
__name2(addViewportsToStories, "addViewportsToStories");
|
|
153
|
-
async function listStoriesFiles(storiesDir) {
|
|
154
|
-
const files = await promises.readdir(storiesDir);
|
|
155
|
-
return files.filter((file) => file.endsWith(`.${STORIES_FILE_EXT}`));
|
|
156
|
-
}
|
|
157
|
-
__name(listStoriesFiles, "listStoriesFiles");
|
|
158
|
-
__name2(listStoriesFiles, "listStoriesFiles");
|
|
159
|
-
function buildStoryModesConfig(viewports) {
|
|
160
|
-
return viewports.reduce((modes, viewport) => {
|
|
161
|
-
const viewportName = viewportToString(viewport);
|
|
162
|
-
modes[viewportName] = {
|
|
163
|
-
viewport: viewportName
|
|
164
|
-
};
|
|
165
|
-
return modes;
|
|
166
|
-
}, {});
|
|
167
|
-
}
|
|
168
|
-
__name(buildStoryModesConfig, "buildStoryModesConfig");
|
|
169
|
-
__name2(buildStoryModesConfig, "buildStoryModesConfig");
|
|
170
|
-
function buildStoryViewportsConfig(viewports) {
|
|
171
|
-
return viewports.reduce((viewportsConfig, viewport) => {
|
|
172
|
-
const viewportName = viewportToString(viewport);
|
|
173
|
-
viewportsConfig[viewportName] = {
|
|
174
|
-
name: viewportName,
|
|
175
|
-
styles: {
|
|
176
|
-
width: `${viewport.width}px`,
|
|
177
|
-
height: `${viewport.height}px`
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
return viewportsConfig;
|
|
181
|
-
}, {});
|
|
182
|
-
}
|
|
183
|
-
__name(buildStoryViewportsConfig, "buildStoryViewportsConfig");
|
|
184
|
-
__name2(buildStoryViewportsConfig, "buildStoryViewportsConfig");
|
|
185
|
-
function findDefaultViewport(viewports) {
|
|
186
|
-
const compareFn = /* @__PURE__ */ __name2((vp1, vp2) => {
|
|
187
|
-
if (vp1.width < vp2.width) {
|
|
188
|
-
return 1;
|
|
189
|
-
}
|
|
190
|
-
if (vp1.width > vp2.width) {
|
|
191
|
-
return -1;
|
|
192
|
-
}
|
|
193
|
-
return 0;
|
|
194
|
-
}, "compareFn");
|
|
195
|
-
return viewports.sort(compareFn)[0];
|
|
196
|
-
}
|
|
197
|
-
__name(findDefaultViewport, "findDefaultViewport");
|
|
198
|
-
__name2(findDefaultViewport, "findDefaultViewport");
|
|
199
|
-
async function addViewportsToStoriesFiles(defaultOutputDir) {
|
|
200
|
-
const snapshotsDir = assetsDir(defaultOutputDir);
|
|
201
|
-
const snapshotFileNames = await listSnapshotFiles(snapshotsDir);
|
|
202
|
-
const viewportsLookup = buildSnapshotViewportsLookup(snapshotFileNames);
|
|
203
|
-
const storiesDir = archivesDir(defaultOutputDir);
|
|
204
|
-
const storiesFilePaths = (await listStoriesFiles(storiesDir)).map((storiesFileName) => path__default.default.resolve(storiesDir, storiesFileName));
|
|
205
|
-
await Promise.all(storiesFilePaths.map(async (storiesFilePath) => {
|
|
206
|
-
const storiesFileJson = await readJSONFile(storiesFilePath);
|
|
207
|
-
const storiesWithViewports = addViewportsToStories(storiesFileJson, viewportsLookup);
|
|
208
|
-
await outputJSONFile(storiesFilePath, storiesWithViewports);
|
|
209
|
-
}));
|
|
210
|
-
}
|
|
211
|
-
__name(addViewportsToStoriesFiles, "addViewportsToStoriesFiles");
|
|
212
|
-
__name2(addViewportsToStoriesFiles, "addViewportsToStoriesFiles");
|
|
213
|
-
function buildSnapshotViewportsLookup(snapshotFileNames) {
|
|
214
|
-
const lookup = {};
|
|
215
|
-
snapshotFileNames.forEach((file) => {
|
|
216
|
-
const snapshotId2 = snapshotIdFromFileName(file);
|
|
217
|
-
const viewports = lookup[snapshotId2] || [];
|
|
218
|
-
viewports.push(viewportFromFileName(file));
|
|
219
|
-
lookup[snapshotId2] = viewports;
|
|
220
|
-
});
|
|
221
|
-
return lookup;
|
|
222
|
-
}
|
|
223
|
-
__name(buildSnapshotViewportsLookup, "buildSnapshotViewportsLookup");
|
|
224
|
-
__name2(buildSnapshotViewportsLookup, "buildSnapshotViewportsLookup");
|
|
59
|
+
var req = __require2.resolve ? __require2 : module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('out.js', document.baseURI).href)));
|
|
225
60
|
function archiveStorybook(processArgs, configDir2, defaultOutputDir) {
|
|
226
61
|
checkArchivesDirExists(defaultOutputDir);
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
stdio: "inherit"
|
|
236
|
-
});
|
|
62
|
+
child_process.execFileSync("node", [
|
|
63
|
+
binPath(),
|
|
64
|
+
"dev",
|
|
65
|
+
...processArgs,
|
|
66
|
+
"-c",
|
|
67
|
+
configDir2
|
|
68
|
+
], {
|
|
69
|
+
stdio: "inherit"
|
|
237
70
|
});
|
|
238
71
|
}
|
|
239
72
|
__name(archiveStorybook, "archiveStorybook");
|
|
240
73
|
__name2(archiveStorybook, "archiveStorybook");
|
|
241
74
|
function buildArchiveStorybook(processArgs, configDir2, defaultOutputDir) {
|
|
242
75
|
checkArchivesDirExists(defaultOutputDir);
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
stdio: "inherit"
|
|
252
|
-
});
|
|
76
|
+
child_process.execFileSync("node", [
|
|
77
|
+
binPath(),
|
|
78
|
+
"build",
|
|
79
|
+
...processArgs,
|
|
80
|
+
"-c",
|
|
81
|
+
configDir2
|
|
82
|
+
], {
|
|
83
|
+
stdio: "inherit"
|
|
253
84
|
});
|
|
254
85
|
}
|
|
255
86
|
__name(buildArchiveStorybook, "buildArchiveStorybook");
|
|
256
87
|
__name2(buildArchiveStorybook, "buildArchiveStorybook");
|
|
257
88
|
function binPath() {
|
|
258
|
-
const
|
|
259
|
-
|
|
89
|
+
const filename = req.resolve("storybook/package.json");
|
|
90
|
+
const packageJson = JSON.parse(fs.readFileSync(filename, "utf8"));
|
|
91
|
+
return path.resolve(path.dirname(filename), packageJson.bin);
|
|
260
92
|
}
|
|
261
93
|
__name(binPath, "binPath");
|
|
262
94
|
__name2(binPath, "binPath");
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
var child_process = require('child_process');
|
|
5
5
|
var path = require('path');
|
|
6
6
|
var fs = require('fs');
|
|
7
|
-
var
|
|
7
|
+
var module$1 = require('module');
|
|
8
8
|
|
|
9
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
9
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
11
|
|
|
11
12
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
@@ -45,11 +46,6 @@ function archivesDir(defaultOutputDir) {
|
|
|
45
46
|
}
|
|
46
47
|
__name(archivesDir, "archivesDir");
|
|
47
48
|
__name2(archivesDir, "archivesDir");
|
|
48
|
-
function assetsDir(defaultOutputDir) {
|
|
49
|
-
return path__default.default.resolve(archivesDir(defaultOutputDir), "archive");
|
|
50
|
-
}
|
|
51
|
-
__name(assetsDir, "assetsDir");
|
|
52
|
-
__name2(assetsDir, "assetsDir");
|
|
53
49
|
function checkArchivesDirExists(defaultOutputDir) {
|
|
54
50
|
const dir = archivesDir(defaultOutputDir);
|
|
55
51
|
if (!fs.existsSync(dir)) {
|
|
@@ -60,203 +56,39 @@ Please make sure that you have run your E2E tests, or have set the CHROMATIC_ARC
|
|
|
60
56
|
}
|
|
61
57
|
__name(checkArchivesDirExists, "checkArchivesDirExists");
|
|
62
58
|
__name2(checkArchivesDirExists, "checkArchivesDirExists");
|
|
63
|
-
|
|
64
|
-
if (!fs.existsSync(directory)) {
|
|
65
|
-
fs.mkdirSync(directory, {
|
|
66
|
-
recursive: true
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
__name(ensureDir, "ensureDir");
|
|
71
|
-
__name2(ensureDir, "ensureDir");
|
|
72
|
-
async function outputFile(filePath, data) {
|
|
73
|
-
ensureDir(path__default.default.dirname(filePath));
|
|
74
|
-
return promises.writeFile(filePath, data, {
|
|
75
|
-
mode: 511
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
__name(outputFile, "outputFile");
|
|
79
|
-
__name2(outputFile, "outputFile");
|
|
80
|
-
async function outputJSONFile(filePath, data) {
|
|
81
|
-
return outputFile(filePath, JSON.stringify(data));
|
|
82
|
-
}
|
|
83
|
-
__name(outputJSONFile, "outputJSONFile");
|
|
84
|
-
__name2(outputJSONFile, "outputJSONFile");
|
|
85
|
-
async function readJSONFile(filePath) {
|
|
86
|
-
const data = await promises.readFile(filePath);
|
|
87
|
-
return JSON.parse(data.toString());
|
|
88
|
-
}
|
|
89
|
-
__name(readJSONFile, "readJSONFile");
|
|
90
|
-
__name2(readJSONFile, "readJSONFile");
|
|
91
|
-
function viewportToString(viewport) {
|
|
92
|
-
return `w${viewport.width}h${viewport.height}`;
|
|
93
|
-
}
|
|
94
|
-
__name(viewportToString, "viewportToString");
|
|
95
|
-
__name2(viewportToString, "viewportToString");
|
|
96
|
-
function parseViewport(viewportString) {
|
|
97
|
-
const matcher = viewportString.match(/w(\d+)h(\d+)/);
|
|
98
|
-
return {
|
|
99
|
-
width: Number(matcher[1]),
|
|
100
|
-
height: Number(matcher[2])
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
__name(parseViewport, "parseViewport");
|
|
104
|
-
__name2(parseViewport, "parseViewport");
|
|
105
|
-
var SNAPSHOT_FILE_EXT = "snapshot.json";
|
|
106
|
-
function snapshotIdFromFileName(fileName) {
|
|
107
|
-
const fileParts = fileName.split(".");
|
|
108
|
-
return fileParts.slice(0, fileParts.length - 3).join(".");
|
|
109
|
-
}
|
|
110
|
-
__name(snapshotIdFromFileName, "snapshotIdFromFileName");
|
|
111
|
-
__name2(snapshotIdFromFileName, "snapshotIdFromFileName");
|
|
112
|
-
function viewportFromFileName(fileName) {
|
|
113
|
-
const fileParts = fileName.split(".");
|
|
114
|
-
const viewportStr = fileParts[fileParts.length - 3];
|
|
115
|
-
return parseViewport(viewportStr);
|
|
116
|
-
}
|
|
117
|
-
__name(viewportFromFileName, "viewportFromFileName");
|
|
118
|
-
__name2(viewportFromFileName, "viewportFromFileName");
|
|
119
|
-
async function listSnapshotFiles(snapshotsDir) {
|
|
120
|
-
const files = await promises.readdir(snapshotsDir);
|
|
121
|
-
return files.filter((file) => file.endsWith(`.${SNAPSHOT_FILE_EXT}`));
|
|
122
|
-
}
|
|
123
|
-
__name(listSnapshotFiles, "listSnapshotFiles");
|
|
124
|
-
__name2(listSnapshotFiles, "listSnapshotFiles");
|
|
125
|
-
var STORIES_FILE_EXT = "stories.json";
|
|
126
|
-
function addViewportsToStories(storiesFileJson, viewportsStoriesLookup) {
|
|
127
|
-
const { stories } = storiesFileJson;
|
|
128
|
-
const storiesWithViewports = stories.map((story) => {
|
|
129
|
-
const storyId = story.parameters.server.id;
|
|
130
|
-
const viewports = viewportsStoriesLookup[storyId];
|
|
131
|
-
return {
|
|
132
|
-
...story,
|
|
133
|
-
parameters: {
|
|
134
|
-
...story.parameters,
|
|
135
|
-
chromatic: {
|
|
136
|
-
...story.parameters.chromatic,
|
|
137
|
-
modes: buildStoryModesConfig(viewports)
|
|
138
|
-
},
|
|
139
|
-
viewport: {
|
|
140
|
-
viewports: buildStoryViewportsConfig(viewports),
|
|
141
|
-
defaultViewport: viewportToString(findDefaultViewport(viewports))
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
});
|
|
146
|
-
return {
|
|
147
|
-
...storiesFileJson,
|
|
148
|
-
stories: storiesWithViewports
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
__name(addViewportsToStories, "addViewportsToStories");
|
|
152
|
-
__name2(addViewportsToStories, "addViewportsToStories");
|
|
153
|
-
async function listStoriesFiles(storiesDir) {
|
|
154
|
-
const files = await promises.readdir(storiesDir);
|
|
155
|
-
return files.filter((file) => file.endsWith(`.${STORIES_FILE_EXT}`));
|
|
156
|
-
}
|
|
157
|
-
__name(listStoriesFiles, "listStoriesFiles");
|
|
158
|
-
__name2(listStoriesFiles, "listStoriesFiles");
|
|
159
|
-
function buildStoryModesConfig(viewports) {
|
|
160
|
-
return viewports.reduce((modes, viewport) => {
|
|
161
|
-
const viewportName = viewportToString(viewport);
|
|
162
|
-
modes[viewportName] = {
|
|
163
|
-
viewport: viewportName
|
|
164
|
-
};
|
|
165
|
-
return modes;
|
|
166
|
-
}, {});
|
|
167
|
-
}
|
|
168
|
-
__name(buildStoryModesConfig, "buildStoryModesConfig");
|
|
169
|
-
__name2(buildStoryModesConfig, "buildStoryModesConfig");
|
|
170
|
-
function buildStoryViewportsConfig(viewports) {
|
|
171
|
-
return viewports.reduce((viewportsConfig, viewport) => {
|
|
172
|
-
const viewportName = viewportToString(viewport);
|
|
173
|
-
viewportsConfig[viewportName] = {
|
|
174
|
-
name: viewportName,
|
|
175
|
-
styles: {
|
|
176
|
-
width: `${viewport.width}px`,
|
|
177
|
-
height: `${viewport.height}px`
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
return viewportsConfig;
|
|
181
|
-
}, {});
|
|
182
|
-
}
|
|
183
|
-
__name(buildStoryViewportsConfig, "buildStoryViewportsConfig");
|
|
184
|
-
__name2(buildStoryViewportsConfig, "buildStoryViewportsConfig");
|
|
185
|
-
function findDefaultViewport(viewports) {
|
|
186
|
-
const compareFn = /* @__PURE__ */ __name2((vp1, vp2) => {
|
|
187
|
-
if (vp1.width < vp2.width) {
|
|
188
|
-
return 1;
|
|
189
|
-
}
|
|
190
|
-
if (vp1.width > vp2.width) {
|
|
191
|
-
return -1;
|
|
192
|
-
}
|
|
193
|
-
return 0;
|
|
194
|
-
}, "compareFn");
|
|
195
|
-
return viewports.sort(compareFn)[0];
|
|
196
|
-
}
|
|
197
|
-
__name(findDefaultViewport, "findDefaultViewport");
|
|
198
|
-
__name2(findDefaultViewport, "findDefaultViewport");
|
|
199
|
-
async function addViewportsToStoriesFiles(defaultOutputDir) {
|
|
200
|
-
const snapshotsDir = assetsDir(defaultOutputDir);
|
|
201
|
-
const snapshotFileNames = await listSnapshotFiles(snapshotsDir);
|
|
202
|
-
const viewportsLookup = buildSnapshotViewportsLookup(snapshotFileNames);
|
|
203
|
-
const storiesDir = archivesDir(defaultOutputDir);
|
|
204
|
-
const storiesFilePaths = (await listStoriesFiles(storiesDir)).map((storiesFileName) => path__default.default.resolve(storiesDir, storiesFileName));
|
|
205
|
-
await Promise.all(storiesFilePaths.map(async (storiesFilePath) => {
|
|
206
|
-
const storiesFileJson = await readJSONFile(storiesFilePath);
|
|
207
|
-
const storiesWithViewports = addViewportsToStories(storiesFileJson, viewportsLookup);
|
|
208
|
-
await outputJSONFile(storiesFilePath, storiesWithViewports);
|
|
209
|
-
}));
|
|
210
|
-
}
|
|
211
|
-
__name(addViewportsToStoriesFiles, "addViewportsToStoriesFiles");
|
|
212
|
-
__name2(addViewportsToStoriesFiles, "addViewportsToStoriesFiles");
|
|
213
|
-
function buildSnapshotViewportsLookup(snapshotFileNames) {
|
|
214
|
-
const lookup = {};
|
|
215
|
-
snapshotFileNames.forEach((file) => {
|
|
216
|
-
const snapshotId2 = snapshotIdFromFileName(file);
|
|
217
|
-
const viewports = lookup[snapshotId2] || [];
|
|
218
|
-
viewports.push(viewportFromFileName(file));
|
|
219
|
-
lookup[snapshotId2] = viewports;
|
|
220
|
-
});
|
|
221
|
-
return lookup;
|
|
222
|
-
}
|
|
223
|
-
__name(buildSnapshotViewportsLookup, "buildSnapshotViewportsLookup");
|
|
224
|
-
__name2(buildSnapshotViewportsLookup, "buildSnapshotViewportsLookup");
|
|
59
|
+
var req = __require2.resolve ? __require2 : module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('out.js', document.baseURI).href)));
|
|
225
60
|
function archiveStorybook(processArgs, configDir2, defaultOutputDir) {
|
|
226
61
|
checkArchivesDirExists(defaultOutputDir);
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
stdio: "inherit"
|
|
236
|
-
});
|
|
62
|
+
child_process.execFileSync("node", [
|
|
63
|
+
binPath(),
|
|
64
|
+
"dev",
|
|
65
|
+
...processArgs,
|
|
66
|
+
"-c",
|
|
67
|
+
configDir2
|
|
68
|
+
], {
|
|
69
|
+
stdio: "inherit"
|
|
237
70
|
});
|
|
238
71
|
}
|
|
239
72
|
__name(archiveStorybook, "archiveStorybook");
|
|
240
73
|
__name2(archiveStorybook, "archiveStorybook");
|
|
241
74
|
function buildArchiveStorybook(processArgs, configDir2, defaultOutputDir) {
|
|
242
75
|
checkArchivesDirExists(defaultOutputDir);
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
stdio: "inherit"
|
|
252
|
-
});
|
|
76
|
+
child_process.execFileSync("node", [
|
|
77
|
+
binPath(),
|
|
78
|
+
"build",
|
|
79
|
+
...processArgs,
|
|
80
|
+
"-c",
|
|
81
|
+
configDir2
|
|
82
|
+
], {
|
|
83
|
+
stdio: "inherit"
|
|
253
84
|
});
|
|
254
85
|
}
|
|
255
86
|
__name(buildArchiveStorybook, "buildArchiveStorybook");
|
|
256
87
|
__name2(buildArchiveStorybook, "buildArchiveStorybook");
|
|
257
88
|
function binPath() {
|
|
258
|
-
const
|
|
259
|
-
|
|
89
|
+
const filename = req.resolve("storybook/package.json");
|
|
90
|
+
const packageJson = JSON.parse(fs.readFileSync(filename, "utf8"));
|
|
91
|
+
return path.resolve(path.dirname(filename), packageJson.bin);
|
|
260
92
|
}
|
|
261
93
|
__name(binPath, "binPath");
|
|
262
94
|
__name2(binPath, "binPath");
|
package/dist/index.js
CHANGED
|
@@ -3389,6 +3389,7 @@ var _ResourceArchiver = (_a = class {
|
|
|
3389
3389
|
__publicField(this, "assetDomains");
|
|
3390
3390
|
__publicField(this, "firstUrl");
|
|
3391
3391
|
__publicField(this, "httpCredentials");
|
|
3392
|
+
__publicField(this, "pendingRequests", /* @__PURE__ */ new Set());
|
|
3392
3393
|
__publicField(this, "authRequired", /* @__PURE__ */ __name2(async ({ requestId, request }) => {
|
|
3393
3394
|
await this.clientSend(request, "Fetch.continueWithAuth", {
|
|
3394
3395
|
requestId,
|
|
@@ -3399,6 +3400,7 @@ var _ResourceArchiver = (_a = class {
|
|
|
3399
3400
|
});
|
|
3400
3401
|
}, "authRequired"));
|
|
3401
3402
|
__publicField(this, "requestPaused", /* @__PURE__ */ __name2(async ({ requestId, request, responseStatusCode, responseStatusText, responseErrorReason, responseHeaders }) => {
|
|
3403
|
+
this.pendingRequests.delete(requestId);
|
|
3402
3404
|
if (!request.method.match(/get/i)) {
|
|
3403
3405
|
await this.clientSend(request, "Fetch.continueRequest", {
|
|
3404
3406
|
requestId
|
|
@@ -3432,6 +3434,7 @@ var _ResourceArchiver = (_a = class {
|
|
|
3432
3434
|
}, requestUrl, isRequestFromAllowedDomain);
|
|
3433
3435
|
return;
|
|
3434
3436
|
}
|
|
3437
|
+
this.pendingRequests.add(requestId);
|
|
3435
3438
|
await this.clientSend(request, "Fetch.continueRequest", {
|
|
3436
3439
|
requestId,
|
|
3437
3440
|
interceptResponse: true
|
|
@@ -3452,6 +3455,10 @@ var _ResourceArchiver = (_a = class {
|
|
|
3452
3455
|
this.client.off?.("Fetch.requestPaused", this.requestPaused);
|
|
3453
3456
|
this.client.off?.("Fetch.authRequired", this.authRequired);
|
|
3454
3457
|
await this.client.send("Fetch.disable");
|
|
3458
|
+
this.pendingRequests.clear();
|
|
3459
|
+
}
|
|
3460
|
+
getPendingRequestsCount() {
|
|
3461
|
+
return this.pendingRequests.size;
|
|
3455
3462
|
}
|
|
3456
3463
|
async clientSend(request, method, params) {
|
|
3457
3464
|
try {
|
|
@@ -3852,14 +3859,25 @@ __name2(storiesFileName, "storiesFileName");
|
|
|
3852
3859
|
function createStories(title, domSnapshots, chromaticStorybookParams) {
|
|
3853
3860
|
return {
|
|
3854
3861
|
title,
|
|
3855
|
-
stories: Object.
|
|
3862
|
+
stories: Object.entries(domSnapshots).map(([name, { viewport }]) => ({
|
|
3856
3863
|
name,
|
|
3857
3864
|
parameters: {
|
|
3858
3865
|
server: {
|
|
3859
3866
|
id: snapshotId(title, name)
|
|
3860
3867
|
},
|
|
3861
3868
|
chromatic: {
|
|
3862
|
-
...chromaticStorybookParams
|
|
3869
|
+
...chromaticStorybookParams,
|
|
3870
|
+
modes: buildStoryModesConfig([
|
|
3871
|
+
viewport
|
|
3872
|
+
])
|
|
3873
|
+
},
|
|
3874
|
+
viewport: {
|
|
3875
|
+
viewports: buildStoryViewportsConfig([
|
|
3876
|
+
viewport
|
|
3877
|
+
]),
|
|
3878
|
+
defaultViewport: viewportToString(findDefaultViewport([
|
|
3879
|
+
viewport
|
|
3880
|
+
]))
|
|
3863
3881
|
}
|
|
3864
3882
|
}
|
|
3865
3883
|
}))
|
|
@@ -3867,8 +3885,48 @@ function createStories(title, domSnapshots, chromaticStorybookParams) {
|
|
|
3867
3885
|
}
|
|
3868
3886
|
__name(createStories, "createStories");
|
|
3869
3887
|
__name2(createStories, "createStories");
|
|
3888
|
+
function buildStoryModesConfig(viewports) {
|
|
3889
|
+
return viewports.reduce((modes, viewport) => {
|
|
3890
|
+
const viewportName = viewportToString(viewport);
|
|
3891
|
+
modes[viewportName] = {
|
|
3892
|
+
viewport: viewportName
|
|
3893
|
+
};
|
|
3894
|
+
return modes;
|
|
3895
|
+
}, {});
|
|
3896
|
+
}
|
|
3897
|
+
__name(buildStoryModesConfig, "buildStoryModesConfig");
|
|
3898
|
+
__name2(buildStoryModesConfig, "buildStoryModesConfig");
|
|
3899
|
+
function buildStoryViewportsConfig(viewports) {
|
|
3900
|
+
return viewports.reduce((viewportsConfig, viewport) => {
|
|
3901
|
+
const viewportName = viewportToString(viewport);
|
|
3902
|
+
viewportsConfig[viewportName] = {
|
|
3903
|
+
name: viewportName,
|
|
3904
|
+
styles: {
|
|
3905
|
+
width: `${viewport.width}px`,
|
|
3906
|
+
height: `${viewport.height}px`
|
|
3907
|
+
}
|
|
3908
|
+
};
|
|
3909
|
+
return viewportsConfig;
|
|
3910
|
+
}, {});
|
|
3911
|
+
}
|
|
3912
|
+
__name(buildStoryViewportsConfig, "buildStoryViewportsConfig");
|
|
3913
|
+
__name2(buildStoryViewportsConfig, "buildStoryViewportsConfig");
|
|
3914
|
+
function findDefaultViewport(viewports) {
|
|
3915
|
+
const compareFn = /* @__PURE__ */ __name2((vp1, vp2) => {
|
|
3916
|
+
if (vp1.width < vp2.width) {
|
|
3917
|
+
return 1;
|
|
3918
|
+
}
|
|
3919
|
+
if (vp1.width > vp2.width) {
|
|
3920
|
+
return -1;
|
|
3921
|
+
}
|
|
3922
|
+
return 0;
|
|
3923
|
+
}, "compareFn");
|
|
3924
|
+
return viewports.sort(compareFn)[0];
|
|
3925
|
+
}
|
|
3926
|
+
__name(findDefaultViewport, "findDefaultViewport");
|
|
3927
|
+
__name2(findDefaultViewport, "findDefaultViewport");
|
|
3870
3928
|
async function writeTestResult(e2eTestInfo, domSnapshots, archive, chromaticStorybookParams) {
|
|
3871
|
-
const { titlePath, outputDir, pageUrl
|
|
3929
|
+
const { titlePath, outputDir, pageUrl } = e2eTestInfo;
|
|
3872
3930
|
const titlePathWithoutFileExtensions = titlePath.map((pathPart) => (
|
|
3873
3931
|
// make sure we remove file extensions, even if the file name doesn't have .spec or .test or.cy
|
|
3874
3932
|
// possible extensions:
|
|
@@ -3893,7 +3951,7 @@ async function writeTestResult(e2eTestInfo, domSnapshots, archive, chromaticStor
|
|
|
3893
3951
|
}
|
|
3894
3952
|
await outputFile(path2.join(archiveDir, fileSystemPath), response.body);
|
|
3895
3953
|
}));
|
|
3896
|
-
await Promise.all(
|
|
3954
|
+
await Promise.all(Object.entries(domSnapshots).map(async ([name, { snapshot: domSnapshot, viewport }]) => {
|
|
3897
3955
|
const snapshot = new DOMSnapshot(domSnapshot);
|
|
3898
3956
|
const mappedSnapshot = await snapshot.mapAssetPaths(sourceMap);
|
|
3899
3957
|
const snapshotFile = snapshotFileName(snapshotId(title, name), viewport);
|
|
@@ -3945,19 +4003,21 @@ __name(trackComplete, "trackComplete");
|
|
|
3945
4003
|
__name2(trackComplete, "trackComplete");
|
|
3946
4004
|
|
|
3947
4005
|
// src/index.ts
|
|
3948
|
-
var writeArchives = /* @__PURE__ */ __name(async ({ testTitlePath, domSnapshots, resourceArchive, chromaticStorybookParams, pageUrl,
|
|
4006
|
+
var writeArchives = /* @__PURE__ */ __name(async ({ testTitlePath, domSnapshots, resourceArchive, chromaticStorybookParams, pageUrl, outputDir }) => {
|
|
3949
4007
|
const allSnapshots = Object.fromEntries(
|
|
3950
4008
|
// manual snapshots can be given a name; otherwise, just use the snapshot's place in line as the name
|
|
3951
|
-
domSnapshots.map(({ name, snapshot }, index) => [
|
|
4009
|
+
domSnapshots.map(({ name, snapshot, viewport }, index) => [
|
|
3952
4010
|
name ?? `Snapshot #${index + 1}`,
|
|
3953
|
-
|
|
4011
|
+
{
|
|
4012
|
+
snapshot: Buffer.from(JSON.stringify(snapshot)),
|
|
4013
|
+
viewport
|
|
4014
|
+
}
|
|
3954
4015
|
])
|
|
3955
4016
|
);
|
|
3956
4017
|
await writeTestResult({
|
|
3957
4018
|
titlePath: testTitlePath,
|
|
3958
4019
|
outputDir,
|
|
3959
|
-
pageUrl
|
|
3960
|
-
viewport
|
|
4020
|
+
pageUrl
|
|
3961
4021
|
}, allSnapshots, resourceArchive, chromaticStorybookParams);
|
|
3962
4022
|
}, "writeArchives");
|
|
3963
4023
|
var resourceArchiver = null;
|