Skip to content
This repository has been archived by the owner on Jul 16, 2022. It is now read-only.

Commit

Permalink
feat: Add entries getters on vue and browserify plugin for fractal.
Browse files Browse the repository at this point in the history
  • Loading branch information
Romakita committed Nov 6, 2018
1 parent de1fa6d commit 327ab29
Show file tree
Hide file tree
Showing 5 changed files with 102 additions and 67 deletions.
26 changes: 19 additions & 7 deletions packages/cli-plugin-fractal/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,36 @@ module.exports = config => {
);

config.defineMethod('buildFractalBundles', env => {
const { entries } = config.vueCli;
const { entries, cleanEntriesPatterns } = config;
const bundles = [];
const vendors = [];
const styles = [];
const cleanGlob = [...config.fractal.proxyPatterns, 'precache-manifest.**', 'service-worker.js', 'vendors.**'];
const cleanGlob = [...config.fractal.proxyPatterns, ...cleanEntriesPatterns];

Object.keys(entries).forEach(key => {
const { name, mode } = entries[key];
const { name, mode, type, outFile } = entries[key];

if (mode && mode !== env) {
return;
}

vendors.push(`/vendors.${name}.js`);
bundles.push(`/${name}.js`);
styles.push(`/css/${name}.css`);
switch (type) {
default:
break;
case 'vendors':
vendors.push(outFile);
break;
case 'scripts':
bundles.push(outFile);
break;
case 'styles':
styles.push(outFile);
break;
}

cleanGlob.push(`${name}.**`);
if (name && cleanGlob.indexOf(`${name}.**`) === -1) {
cleanGlob.push(`${name}.**`);
}
});

return { vendors, bundles, styles, cleanGlob };
Expand Down
41 changes: 11 additions & 30 deletions packages/cli-plugin-fractal/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 36 additions & 0 deletions packages/cli-plugin-vue/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,40 @@ module.exports = config => {
}
);
});

config.defineGetter('entries', () => {
const { entries } = config.vueCli;

return Object.keys(entries).reduce((acc, key) => {
const { name, mode, paths } = entries[key];

acc.push({
name,
mode,
type: 'vendors',
outFile: `/vendors.${name}.js`,
paths: [...paths]
});

acc.push({
name,
mode,
type: 'scripts',
outFile: `/${name}.js`,
paths: [...paths]
});

acc.push({
name,
mode,
type: 'styles',
outFile: `/css/${name}.css`,
paths: [...paths]
});

return acc;
}, []);
});

config.defineGetter('cleanEntriesPatterns', () => ['precache-manifest.**', 'service-worker.js', 'vendors.**']);
};
Loading

0 comments on commit 327ab29

Please sign in to comment.