From 6add3f1da35a1f0fd455d571683f83c7dde5f1ae Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Fri, 17 Dec 2021 16:13:26 +0100 Subject: [PATCH] WIP --- vite.common-config.js | 3 ++- vite.sdk-config.js | 37 +++++++++++++++++++++++-------------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/vite.common-config.js b/vite.common-config.js index 39b2845b..08d17b3a 100644 --- a/vite.common-config.js +++ b/vite.common-config.js @@ -2,7 +2,8 @@ const cssvariables = require("postcss-css-variables"); const flexbugsFixes = require("postcss-flexbugs-fixes"); const fs = require("fs"); const path = require("path"); -const version = JSON.parse(fs.readFileSync(path.join(__dirname, "package.json"), "utf8")).version; +const manifest = require("./package.json"); +const version = manifest.version; const commonOptions = { logLevel: "info", diff --git a/vite.sdk-config.js b/vite.sdk-config.js index afeabbaa..194513fb 100644 --- a/vite.sdk-config.js +++ b/vite.sdk-config.js @@ -1,6 +1,7 @@ const path = require("path"); const mergeOptions = require('merge-options').bind({concatArrays: true}); const commonOptions = require("./vite.common-config.js"); +const manifest = require("./package.json"); const srcDir = path.join(__dirname, "src/"); const modulesDir = path.join(srcDir, "node_modules/"); @@ -8,19 +9,19 @@ const mocksDir = path.join(srcDir, "mocks/"); const fixturesDir = path.join(srcDir, "fixtures/"); const commonOutput = { - manualChunks: (id) => { - if (id.endsWith("/lib.ts")) { - console.log(id, arguments); - return "es/lib"; - } - if (id.startsWith(srcDir)) { - const idPath = id.substring(srcDir.length); - const pathWithoutExt = idPath.substring(0, idPath.lastIndexOf(".")); - return pathWithoutExt; - } else { - return "index"; - } - }, + // manualChunks: (id) => { + // if (id.endsWith("/lib.ts")) { + // console.log(id, arguments); + // return "es/lib"; + // } + // if (id.startsWith(srcDir)) { + // const idPath = id.substring(srcDir.length); + // const pathWithoutExt = idPath.substring(0, idPath.lastIndexOf(".")); + // return pathWithoutExt; + // } else { + // return "index"; + // } + // }, chunkFileNames: `[format]/[name].js`, assetFileNames: `assets/[name][extname]`, // important to preserve export names of every module @@ -29,6 +30,9 @@ const commonOutput = { preferConst: true, }; +const externalDependencies = Object.keys(manifest.dependencies).concat(Object.keys(manifest.devDependencies)).filter(d => d !== "@matrix-org/olm").map(d => path.join(__dirname, "node_modules", d)); +console.log("external", externalDependencies); + export default mergeOptions(commonOptions, { root: "src/", plugins: [ @@ -51,7 +55,12 @@ export default mergeOptions(commonOptions, { treeshake: false, external: (id, parentId) => { const resolveId = (id.startsWith("./") || id.startsWith("../")) ? path.join(path.dirname(parentId), id) : id; - return !resolveId.startsWith(srcDir) || resolveId.startsWith(mocksDir) || resolveId.startsWith(fixturesDir); + const external = externalDependencies.some(d => resolveId.startsWith(d)); + if (external) { + console.log("external", resolveId); + } + return external; + //return !resolveId.startsWith(srcDir);// || resolveId.startsWith(mocksDir) || resolveId.startsWith(fixturesDir); }, preserveEntrySignatures: "strict", output: [