Add Bridgeable dev watch command
This commit is contained in:
+2
-2
@@ -1,6 +1,6 @@
|
||||
import { build as viteBuild } from 'vite';
|
||||
import { createViteConfig } from './vite-config.js';
|
||||
|
||||
export const buildSource = async ({ sourceDir, outDir, config }) => {
|
||||
await viteBuild(createViteConfig({ sourceDir, outDir, config }));
|
||||
export const buildSource = async ({ sourceDir, outDir, config, watch = false }) => {
|
||||
return viteBuild(createViteConfig({ sourceDir, outDir, config, watch }));
|
||||
};
|
||||
|
||||
+12
@@ -7,6 +7,7 @@ import { packDist } from './pack.js';
|
||||
const usage = `Usage:
|
||||
bridgeable-build validate --source <dir>
|
||||
bridgeable-build build --source <dir> --out <dir>
|
||||
bridgeable-build dev --source <dir> --out <dir>
|
||||
bridgeable-build pack --dist <dir> --out <file>
|
||||
bridgeable-build publish --source <dir> --out <dir> --artifact <file>
|
||||
`;
|
||||
@@ -106,6 +107,17 @@ export const runCli = async (processArgv) => {
|
||||
return;
|
||||
}
|
||||
|
||||
if (command === 'dev') {
|
||||
validateOrThrow(sourceDir, config);
|
||||
await buildSource({
|
||||
sourceDir,
|
||||
outDir: resolve(args.out ? String(args.out) : 'dist'),
|
||||
config,
|
||||
watch: true
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (command === 'publish') {
|
||||
const outDir = resolve(requireArg(args, 'out'));
|
||||
validateOrThrow(sourceDir, config);
|
||||
|
||||
+13
-1
@@ -5,6 +5,13 @@ import { collectEntries, normalizePath, shouldCopyFile, walkFiles } from './file
|
||||
|
||||
const copyServerFilesPlugin = ({ sourceDir, outDir }) => ({
|
||||
name: 'copy-bridgeable-server-files',
|
||||
buildStart() {
|
||||
walkFiles(sourceDir, (absolutePath) => {
|
||||
if (shouldCopyFile(basename(absolutePath))) {
|
||||
this.addWatchFile(absolutePath);
|
||||
}
|
||||
});
|
||||
},
|
||||
closeBundle() {
|
||||
walkFiles(sourceDir, (absolutePath) => {
|
||||
const relativePath = normalizePath(relative(sourceDir, absolutePath));
|
||||
@@ -21,7 +28,7 @@ const copyServerFilesPlugin = ({ sourceDir, outDir }) => ({
|
||||
}
|
||||
});
|
||||
|
||||
export const createViteConfig = ({ sourceDir, outDir, config }) => {
|
||||
export const createViteConfig = ({ sourceDir, outDir, config, watch = false }) => {
|
||||
const sourceRoot = resolve(sourceDir);
|
||||
const outputRoot = resolve(outDir);
|
||||
|
||||
@@ -34,6 +41,11 @@ export const createViteConfig = ({ sourceDir, outDir, config }) => {
|
||||
outDir: outputRoot,
|
||||
emptyOutDir: true,
|
||||
manifest: 'manifest.json',
|
||||
watch: watch
|
||||
? {
|
||||
exclude: ['**/.git/**', '**/dist/**', '**/node_modules/**', '**/storybook-static/**']
|
||||
}
|
||||
: null,
|
||||
rollupOptions: {
|
||||
input: collectEntries(sourceRoot, config),
|
||||
output: {
|
||||
|
||||
Reference in New Issue
Block a user