From b647411a6bceffab54c2e0413bf64a4a714ce2dd Mon Sep 17 00:00:00 2001 From: Mark Lansky <49815452+ZerdoX-x@users.noreply.github.com> Date: Wed, 26 Apr 2023 18:11:57 +0400 Subject: [PATCH 1/2] feat: support quasar.conf(ig).cjs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #9455 I would like to use Quasar with `"type": "module"` in my `package.json`. Without converting file to `cjs` I get an error from Node: ``` Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/zerdox/p/cryp/table-cups/quasar.config.js from /Users/zerdox/p/cryp/table-cups/node_modules/@quasar/app-vite/lib/quasar-config-file.js not supported. quasar.config.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules. Instead rename quasar.config.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in /Users/zerdox/p/cryp/table-cups/package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead). at QuasarConfFile.read (/Users/zerdox/p/cryp/table-cups/node_modules/@quasar/app-vite/lib/quasar-config-file.js:204:30) at build (/Users/zerdox/p/cryp/table-cups/node_modules/@quasar/app-vite/lib/cmd/build.js:134:43) { code: 'ERR_REQUIRE_ESM' } App • ⚠️ FAIL quasar.config.js has JS errors ``` Please let me stick with ESM :) --- app-vite/lib/app-paths.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app-vite/lib/app-paths.js b/app-vite/lib/app-paths.js index 6f7596687e4..15bff772cc9 100644 --- a/app-vite/lib/app-paths.js +++ b/app-vite/lib/app-paths.js @@ -11,10 +11,18 @@ function getAppDir () { quasarConfigFilename = 'quasar.config.js' return dir } + if (fs.existsSync(join(dir, 'quasar.config.cjs'))) { + quasarConfigFilename = 'quasar.config.cjs' + return dir + } if (fs.existsSync(join(dir, 'quasar.conf.js'))) { quasarConfigFilename = 'quasar.conf.js' return dir } + if (fs.existsSync(join(dir, 'quasar.conf.cjs'))) { + quasarConfigFilename = 'quasar.conf.cjs' + return dir + } dir = normalize(join(dir, '..')) } From cdf613f26f2da4142bdbd26eb0352b2789531093 Mon Sep 17 00:00:00 2001 From: Razvan Stoenescu Date: Sat, 29 Apr 2023 12:15:57 +0300 Subject: [PATCH 2/2] Update app-paths.js --- app-vite/lib/app-paths.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app-vite/lib/app-paths.js b/app-vite/lib/app-paths.js index 15bff772cc9..47b27b80cac 100644 --- a/app-vite/lib/app-paths.js +++ b/app-vite/lib/app-paths.js @@ -19,10 +19,6 @@ function getAppDir () { quasarConfigFilename = 'quasar.conf.js' return dir } - if (fs.existsSync(join(dir, 'quasar.conf.cjs'))) { - quasarConfigFilename = 'quasar.conf.cjs' - return dir - } dir = normalize(join(dir, '..')) }