@chromatic-com/playwright 0.13.1 → 0.13.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 +72 -9
- package/dist/index.mjs +72 -9
- package/dist/storybook-config/main.mjs +1 -12
- 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
|
@@ -3399,6 +3399,7 @@ var _ResourceArchiver = (_a = class {
|
|
|
3399
3399
|
__publicField(this, "assetDomains");
|
|
3400
3400
|
__publicField(this, "firstUrl");
|
|
3401
3401
|
__publicField(this, "httpCredentials");
|
|
3402
|
+
__publicField(this, "pendingRequests", /* @__PURE__ */ new Set());
|
|
3402
3403
|
__publicField(this, "authRequired", /* @__PURE__ */ __name2(async ({ requestId, request }) => {
|
|
3403
3404
|
await this.clientSend(request, "Fetch.continueWithAuth", {
|
|
3404
3405
|
requestId,
|
|
@@ -3409,6 +3410,7 @@ var _ResourceArchiver = (_a = class {
|
|
|
3409
3410
|
});
|
|
3410
3411
|
}, "authRequired"));
|
|
3411
3412
|
__publicField(this, "requestPaused", /* @__PURE__ */ __name2(async ({ requestId, request, responseStatusCode, responseStatusText, responseErrorReason, responseHeaders }) => {
|
|
3413
|
+
this.pendingRequests.delete(requestId);
|
|
3412
3414
|
if (!request.method.match(/get/i)) {
|
|
3413
3415
|
await this.clientSend(request, "Fetch.continueRequest", {
|
|
3414
3416
|
requestId
|
|
@@ -3442,6 +3444,7 @@ var _ResourceArchiver = (_a = class {
|
|
|
3442
3444
|
}, requestUrl, isRequestFromAllowedDomain);
|
|
3443
3445
|
return;
|
|
3444
3446
|
}
|
|
3447
|
+
this.pendingRequests.add(requestId);
|
|
3445
3448
|
await this.clientSend(request, "Fetch.continueRequest", {
|
|
3446
3449
|
requestId,
|
|
3447
3450
|
interceptResponse: true
|
|
@@ -3462,6 +3465,10 @@ var _ResourceArchiver = (_a = class {
|
|
|
3462
3465
|
this.client.off?.("Fetch.requestPaused", this.requestPaused);
|
|
3463
3466
|
this.client.off?.("Fetch.authRequired", this.authRequired);
|
|
3464
3467
|
await this.client.send("Fetch.disable");
|
|
3468
|
+
this.pendingRequests.clear();
|
|
3469
|
+
}
|
|
3470
|
+
getPendingRequestsCount() {
|
|
3471
|
+
return this.pendingRequests.size;
|
|
3465
3472
|
}
|
|
3466
3473
|
async clientSend(request, method, params) {
|
|
3467
3474
|
try {
|
|
@@ -3862,14 +3869,25 @@ __name2(storiesFileName, "storiesFileName");
|
|
|
3862
3869
|
function createStories(title, domSnapshots, chromaticStorybookParams) {
|
|
3863
3870
|
return {
|
|
3864
3871
|
title,
|
|
3865
|
-
stories: Object.
|
|
3872
|
+
stories: Object.entries(domSnapshots).map(([name, { viewport }]) => ({
|
|
3866
3873
|
name,
|
|
3867
3874
|
parameters: {
|
|
3868
3875
|
server: {
|
|
3869
3876
|
id: snapshotId(title, name)
|
|
3870
3877
|
},
|
|
3871
3878
|
chromatic: {
|
|
3872
|
-
...chromaticStorybookParams
|
|
3879
|
+
...chromaticStorybookParams,
|
|
3880
|
+
modes: buildStoryModesConfig([
|
|
3881
|
+
viewport
|
|
3882
|
+
])
|
|
3883
|
+
},
|
|
3884
|
+
viewport: {
|
|
3885
|
+
viewports: buildStoryViewportsConfig([
|
|
3886
|
+
viewport
|
|
3887
|
+
]),
|
|
3888
|
+
defaultViewport: viewportToString(findDefaultViewport([
|
|
3889
|
+
viewport
|
|
3890
|
+
]))
|
|
3873
3891
|
}
|
|
3874
3892
|
}
|
|
3875
3893
|
}))
|
|
@@ -3877,8 +3895,48 @@ function createStories(title, domSnapshots, chromaticStorybookParams) {
|
|
|
3877
3895
|
}
|
|
3878
3896
|
__name(createStories, "createStories");
|
|
3879
3897
|
__name2(createStories, "createStories");
|
|
3898
|
+
function buildStoryModesConfig(viewports) {
|
|
3899
|
+
return viewports.reduce((modes, viewport) => {
|
|
3900
|
+
const viewportName = viewportToString(viewport);
|
|
3901
|
+
modes[viewportName] = {
|
|
3902
|
+
viewport: viewportName
|
|
3903
|
+
};
|
|
3904
|
+
return modes;
|
|
3905
|
+
}, {});
|
|
3906
|
+
}
|
|
3907
|
+
__name(buildStoryModesConfig, "buildStoryModesConfig");
|
|
3908
|
+
__name2(buildStoryModesConfig, "buildStoryModesConfig");
|
|
3909
|
+
function buildStoryViewportsConfig(viewports) {
|
|
3910
|
+
return viewports.reduce((viewportsConfig, viewport) => {
|
|
3911
|
+
const viewportName = viewportToString(viewport);
|
|
3912
|
+
viewportsConfig[viewportName] = {
|
|
3913
|
+
name: viewportName,
|
|
3914
|
+
styles: {
|
|
3915
|
+
width: `${viewport.width}px`,
|
|
3916
|
+
height: `${viewport.height}px`
|
|
3917
|
+
}
|
|
3918
|
+
};
|
|
3919
|
+
return viewportsConfig;
|
|
3920
|
+
}, {});
|
|
3921
|
+
}
|
|
3922
|
+
__name(buildStoryViewportsConfig, "buildStoryViewportsConfig");
|
|
3923
|
+
__name2(buildStoryViewportsConfig, "buildStoryViewportsConfig");
|
|
3924
|
+
function findDefaultViewport(viewports) {
|
|
3925
|
+
const compareFn = /* @__PURE__ */ __name2((vp1, vp2) => {
|
|
3926
|
+
if (vp1.width < vp2.width) {
|
|
3927
|
+
return 1;
|
|
3928
|
+
}
|
|
3929
|
+
if (vp1.width > vp2.width) {
|
|
3930
|
+
return -1;
|
|
3931
|
+
}
|
|
3932
|
+
return 0;
|
|
3933
|
+
}, "compareFn");
|
|
3934
|
+
return viewports.sort(compareFn)[0];
|
|
3935
|
+
}
|
|
3936
|
+
__name(findDefaultViewport, "findDefaultViewport");
|
|
3937
|
+
__name2(findDefaultViewport, "findDefaultViewport");
|
|
3880
3938
|
async function writeTestResult(e2eTestInfo, domSnapshots, archive, chromaticStorybookParams) {
|
|
3881
|
-
const { titlePath, outputDir, pageUrl
|
|
3939
|
+
const { titlePath, outputDir, pageUrl } = e2eTestInfo;
|
|
3882
3940
|
const titlePathWithoutFileExtensions = titlePath.map((pathPart) => (
|
|
3883
3941
|
// make sure we remove file extensions, even if the file name doesn't have .spec or .test or.cy
|
|
3884
3942
|
// possible extensions:
|
|
@@ -3903,7 +3961,7 @@ async function writeTestResult(e2eTestInfo, domSnapshots, archive, chromaticStor
|
|
|
3903
3961
|
}
|
|
3904
3962
|
await outputFile(path2.join(archiveDir, fileSystemPath), response.body);
|
|
3905
3963
|
}));
|
|
3906
|
-
await Promise.all(
|
|
3964
|
+
await Promise.all(Object.entries(domSnapshots).map(async ([name, { snapshot: domSnapshot, viewport }]) => {
|
|
3907
3965
|
const snapshot = new DOMSnapshot(domSnapshot);
|
|
3908
3966
|
const mappedSnapshot = await snapshot.mapAssetPaths(sourceMap);
|
|
3909
3967
|
const snapshotFile = snapshotFileName(snapshotId(title, name), viewport);
|
|
@@ -4033,15 +4091,21 @@ async function takeSnapshot(page, nameOrTestInfo, maybeTestInfo) {
|
|
|
4033
4091
|
new Promise((resolve) => {
|
|
4034
4092
|
doPostProcessing(rrwebSnapshot, document).then((domSnapshot) => {
|
|
4035
4093
|
resolve(domSnapshot);
|
|
4036
|
-
});
|
|
4094
|
+
});
|
|
4037
4095
|
});
|
|
4038
|
-
}
|
|
4096
|
+
}
|
|
4039
4097
|
`);
|
|
4040
4098
|
const bufferedSnapshot = Buffer.from(JSON.stringify(domSnapshot));
|
|
4041
4099
|
if (!chromaticSnapshots.has(testId)) {
|
|
4042
4100
|
chromaticSnapshots.set(testId, /* @__PURE__ */ new Map());
|
|
4043
4101
|
}
|
|
4044
|
-
chromaticSnapshots.get(testId).set(name,
|
|
4102
|
+
chromaticSnapshots.get(testId).set(name, {
|
|
4103
|
+
snapshot: bufferedSnapshot,
|
|
4104
|
+
viewport: page.viewportSize() || {
|
|
4105
|
+
width: 1280,
|
|
4106
|
+
height: 720
|
|
4107
|
+
}
|
|
4108
|
+
});
|
|
4045
4109
|
}
|
|
4046
4110
|
__name(takeSnapshot, "takeSnapshot");
|
|
4047
4111
|
|
|
@@ -4126,8 +4190,7 @@ var performChromaticSnapshot = /* @__PURE__ */ __name(async ({ page, delay, diff
|
|
|
4126
4190
|
await writeTestResult({
|
|
4127
4191
|
...testInfo,
|
|
4128
4192
|
outputDir,
|
|
4129
|
-
pageUrl: page.url()
|
|
4130
|
-
viewport: page.viewportSize()
|
|
4193
|
+
pageUrl: page.url()
|
|
4131
4194
|
}, Object.fromEntries(snapshots), resourceArchive, chromaticStorybookParams);
|
|
4132
4195
|
trackComplete();
|
|
4133
4196
|
} finally {
|