diff --git a/tools/build.mjs b/tools/build.mjs index 15d8f221f..65b35f30d 100644 --- a/tools/build.mjs +++ b/tools/build.mjs @@ -1,7 +1,6 @@ import concurrently from "concurrently"; import esbuild from "esbuild"; import fs from "fs"; -import path from "path"; console.log("start"); const dev = process.argv[2]; @@ -57,6 +56,30 @@ const browserBuildOptions = { }, }; +const copyFiles = () => { + const foldersToCopy = [ + { + src: "./server/node_modules/jsonc-parser/lib/umd/impl", + dest: "./server/dist/node/impl", + }, + { + src: "./server/node_modules/pyright-internal-node/dist/packages/pyright-internal/typeshed-fallback", + dest: "./server/dist/node/typeshed-fallback", + }, + { + src: "./server/src/python/sas", + dest: "./server/dist/node/typeshed-fallback/stubs/sas", + }, + { + src: "./client/src/components/notebook/exporters/templates", + dest: "./client/dist/notebook/exporters/templates", + }, + ]; + foldersToCopy.forEach((item) => + fs.cpSync(item.src, item.dest, { recursive: true }), + ); +}; + if (process.env.npm_config_webviews || process.env.npm_config_client) { const ctx = await esbuild.context( process.env.npm_config_webviews ? browserBuildOptions : nodeBuildOptions, @@ -64,6 +87,7 @@ if (process.env.npm_config_webviews || process.env.npm_config_client) { await ctx.rebuild(); if (dev) { + copyFiles(); await ctx.watch(); } else { await ctx.dispose(); @@ -79,32 +103,7 @@ if (process.env.npm_config_webviews || process.env.npm_config_client) { name: "node", }, ]); - - await result.then( - () => { - const foldersToCopy = [ - { - src: "./server/node_modules/jsonc-parser/lib/umd/impl", - dest: "./server/dist/node/impl", - }, - { - src: "./server/node_modules/pyright-internal-node/dist/packages/pyright-internal/typeshed-fallback", - dest: "./server/dist/node/typeshed-fallback", - }, - { - src: "./server/src/python/sas", - dest: "./server/dist/node/typeshed-fallback/stubs/sas", - }, - { - src: "./client/src/components/notebook/exporters/templates", - dest: "./client/dist/notebook/exporters/templates", - }, - ]; - for (const item of foldersToCopy) { - fs.cpSync(item.src, item.dest, { recursive: true }); - console.log(`${item.src} was copied to ${item.dest}`); - } - }, - () => console.error("Assets failed to build successfully"), + await result.then(copyFiles, () => + console.error("Assets failed to build successfully"), ); }