mirror of
https://github.com/storybookjs/storybook.git
synced 2025-04-08 06:23:00 +08:00
prevent filename collision in core metafiles
This commit is contained in:
parent
26496252a7
commit
4662d2fa18
@ -7,8 +7,8 @@ const allMetafiles = import.meta.glob(
|
||||
[
|
||||
'../../bench/esbuild-metafiles/**/*.json',
|
||||
// the following metafiles are too big to be loaded automatically in the iframe
|
||||
'!**/core-cjs-0.json',
|
||||
'!**/core-esm-2.json',
|
||||
'!**/core-0.cjs.json',
|
||||
'!**/core-2.esm.json',
|
||||
],
|
||||
{
|
||||
// eagerly loading is not ideal because it imports all metafiles upfront,
|
||||
@ -26,7 +26,7 @@ const METAFILE_DIR_PKG_NAME_MAP = {
|
||||
docs: '@storybook/addon-docs',
|
||||
'addon-test': '@storybook/experimental-addon-test',
|
||||
} as const;
|
||||
const TOO_BIG_METAFILES = ['@storybook/core core-cjs-0', '@storybook/core core-esm-2'];
|
||||
const TOO_BIG_METAFILES = ['@storybook/core core-0.cjs', '@storybook/core core-2.esm'];
|
||||
|
||||
// allows the metafile path to be used in the URL hash
|
||||
const safeMetafileArg = (path: string) =>
|
||||
@ -117,4 +117,6 @@ export default {
|
||||
},
|
||||
} satisfies Meta;
|
||||
|
||||
export const Metafiles = {};
|
||||
export const ESBuildAnalyzer = {
|
||||
name: 'ESBuild Metafiles',
|
||||
};
|
||||
|
@ -325,8 +325,9 @@ async function run() {
|
||||
const { outputs } = out.metafile;
|
||||
const keys = Object.keys(outputs);
|
||||
const format = keys.every((key) => key.endsWith('.js')) ? 'esm' : 'cjs';
|
||||
const basename =
|
||||
keys.length === 1 ? dirname(keys[0]).replace('dist/', '') : `core-${format}-${index}`;
|
||||
const moduleName =
|
||||
keys.length === 1 ? dirname(keys[0]).replace('dist/', '') : `core-${index}`;
|
||||
const basename = `${moduleName}.${format}`;
|
||||
|
||||
await writeFile(
|
||||
join(metafilesDir, `${basename}.json`),
|
||||
|
@ -353,7 +353,7 @@ async function saveMetafiles({
|
||||
await Promise.all(
|
||||
formats.map(async (format) => {
|
||||
const fromFilename = `metafile-${format}.json`;
|
||||
const toBasename = `${name}-${format}`;
|
||||
const toBasename = `${name}.${format}`;
|
||||
|
||||
const metafile = await fs.readJson(join(OUT_DIR, fromFilename));
|
||||
await fs.move(join(OUT_DIR, fromFilename), join(METAFILES_DIR, `${toBasename}.json`), {
|
||||
|
@ -246,13 +246,14 @@ async function saveMetafiles({ formats }: { formats: Formats[] }) {
|
||||
await fs.ensureDir(METAFILES_DIR);
|
||||
await Promise.all(
|
||||
formats.map(async (format) => {
|
||||
const basename = `metafile-${format}`;
|
||||
const metafile = await fs.readJson(join(OUT_DIR, `${basename}.json`));
|
||||
await fs.move(join(OUT_DIR, `${basename}.json`), join(METAFILES_DIR, `${basename}.json`), {
|
||||
const fromFilename = `metafile-${format}.json`;
|
||||
const toBasename = `metafile.${format}`;
|
||||
const metafile = await fs.readJson(join(OUT_DIR, fromFilename));
|
||||
await fs.move(join(OUT_DIR, fromFilename), join(METAFILES_DIR, `${toBasename}.json`), {
|
||||
overwrite: true,
|
||||
});
|
||||
await writeFile(
|
||||
join(METAFILES_DIR, `${basename}.txt`),
|
||||
join(METAFILES_DIR, `${toBasename}.txt`),
|
||||
await esbuild.analyzeMetafile(metafile, { color: false, verbose: false })
|
||||
);
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user