quasarframework / quasar

Quasar Framework - Build high-performance VueJS user interfaces in record time

Home Page:https://quasar.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bex build broken due to 'Could not resolve "quasar/src/utils/uid"'

evandor opened this issue · comments

What happened?

create a new quasar project with default settings (yarn create quasar, all recommended choices, typescript, no plugins)
add bex mode
optionally "rm -rf node_modules dist yarn.lock"
yarn install
running "quasar dev -m bex" results in error (see below)

What did you expect to happen?

successful build, running application, like it was working "yesterday" (don't know exactly when this error was introduced)

Reproduction URL

https://github.com/evandor/quasar-project

How to reproduce?

create a new quasar project with default settings (yarn create quasar, all recommended choices, typescript, no plugins)
add bex mode
optionally "rm -rf node_modules dist yarn.lock"
yarn install
running "quasar dev -m bex"

Flavour

Quasar CLI with Vite (@quasar/cli | @quasar/app-vite)

Areas

BEX Mode

Platforms/Browsers

Firefox, Chrome, Safari, Microsoft Edge, iOS, Android, Electron, Other

Quasar info output

quasar-project % quasar info

Operating System - Darwin(23.4.0) - darwin/arm64
NodeJs - 18.19.1

Global packages
  NPM - 10.2.4
  yarn - 1.22.19
  @quasar/cli - 2.4.0
  @quasar/icongenie - 4.0.0
  cordova - 12.0.0 (cordova-lib@12.0.1)

Important local packages
  quasar - 2.15.3 -- Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
  @quasar/app-vite - 1.8.1 -- Quasar Framework App CLI with Vite
  @quasar/extras - 1.16.11 -- Quasar Framework fonts, icons and animations
  eslint-plugin-quasar - Not installed
  vue - 3.4.23 -- The progressive JavaScript framework for building modern web UI.
  vue-router - 4.3.2
  pinia - Not installed
  vuex - Not installed
  vite - 2.9.18 -- Native-ESM powered web dev build tool
  eslint - Not installed
  electron - Not installed
  electron-packager - Not installed
  electron-builder - Not installed
  register-service-worker - 1.7.2 -- Script for registering service worker, with hooks
  @capacitor/core - Not installed
  @capacitor/cli - Not installed
  @capacitor/android - Not installed
  @capacitor/ios - Not installed

Quasar App Extensions
  *None installed*

Relevant log output

App •  WAIT  • Compiling of Background Script with Esbuild in progress...
✘ [ERROR] Could not resolve "quasar/src/utils/uid"

    .quasar/bex/bridge.js:8:16:
      8 │ import uid from 'quasar/src/utils/uid'~~~~~~~~~~~~~~~~~~~~~~

  You can mark the path "quasar/src/utils/uid" as external to exclude it from the bundle, which will
  remove this error.

/Users/carstengraef/projects/quasar-project/node_modules/esbuild/lib/main.js:1621
  let error = new Error(`${text}${summary}`);
              ^

Error: Build failed with 1 error:
.quasar/bex/bridge.js:8:16: ERROR: Could not resolve "quasar/src/utils/uid"
    at failureErrorWithLog (/Users/carstengraef/projects/quasar-project/node_modules/esbuild/lib/main.js:1621:15)
    at /Users/carstengraef/projects/quasar-project/node_modules/esbuild/lib/main.js:1263:28
    at runOnEndCallbacks (/Users/carstengraef/projects/quasar-project/node_modules/esbuild/lib/main.js:1176:65)
    at buildResponseToResult (/Users/carstengraef/projects/quasar-project/node_modules/esbuild/lib/main.js:1261:7)
    at /Users/carstengraef/projects/quasar-project/node_modules/esbuild/lib/main.js:1374:14
    at /Users/carstengraef/projects/quasar-project/node_modules/esbuild/lib/main.js:675:9
    at handleIncomingPacket (/Users/carstengraef/projects/quasar-project/node_modules/esbuild/lib/main.js:772:9)
    at Socket.readFromStdout (/Users/carstengraef/projects/quasar-project/node_modules/esbuild/lib/main.js:641:7)
    at Socket.emit (node:events:517:28)
    at addChunk (node:internal/streams/readable:368:12) {
  errors: [
    {
      detail: undefined,
      id: '',
      location: {
        column: 16,
        file: '.quasar/bex/bridge.js',
        length: 22,
        line: 8,
        lineText: "import uid from 'quasar/src/utils/uid'",
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "quasar/src/utils/uid" as external to exclude it from the bundle, which will remove this error.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "quasar/src/utils/uid"'
    }
  ],
  warnings: []
}

Node.js v18.19.1

Additional context

all over a sudden, all my projects stopped building. This only occurs if you remove the node_modules folder and rerun "yarn install". Running the dev command after that results in the described error.

Btw: Thanks so much for this project!!

Same here! I started a fresh project in order to port our extension to Manifest V3 and I cannot run the dev/build process for it... tried with the v1 stable and v2 beta. Both of them have the same issue.
In my case it doesn't matter if I remove node_modules or not, it does not work anyhow (probably because I am running from scratch so it always pulls the latest changes).

`kristijanstefanoski@Kristijans-MBP bex-project % npx quasar dev -m bex

 .d88888b.
d88P" "Y88b
888     888
888     888 888  888  8888b.  .d8888b   8888b.  888d888
888     888 888  888     "88b 88K          "88b 888P"
888 Y8b 888 888  888 .d888888 "Y8888b. .d888888 888
Y88b.Y8b88P Y88b 888 888  888      X88 888  888 888
 "Y888888"   "Y88888 "Y888888  88888P' "Y888888 888
       Y8b

 App •  WAIT  • Compiling of Background Script with Esbuild in progress...
✘ [ERROR] Could not resolve "quasar/src/utils/uid"

    .quasar/bex/bridge.js:8:16:
      8 │ import uid from 'quasar/src/utils/uid'
        ╵                 ~~~~~~~~~~~~~~~~~~~~~~

  You can mark the path "quasar/src/utils/uid" as external to exclude it from the bundle, which will
  remove this error.

/Users/kristijanstefanoski/Desktop/workspace/bex-project/node_modules/esbuild/lib/main.js:1621
  let error = new Error(`${text}${summary}`);
              ^

Error: Build failed with 1 error:
.quasar/bex/bridge.js:8:16: ERROR: Could not resolve "quasar/src/utils/uid"
    at failureErrorWithLog (/Users/kristijanstefanoski/Desktop/workspace/bex-projec/node_modules/esbuild/lib/main.js:1621:15)
    at /Users/kristijanstefanoski/Desktop/workspace/bex-projec/node_modules/esbuild/lib/main.js:1263:28
    at runOnEndCallbacks (/Users/kristijanstefanoski/Desktop/workspace/bex-projec2/node_modules/esbuild/lib/main.js:1176:65)
    at buildResponseToResult (/Users/kristijanstefanoski/Desktop/workspace/bex-projec/node_modules/esbuild/lib/main.js:1261:7)
    at /Users/kristijanstefanoski/Desktop/workspace/bex-projec/node_modules/esbuild/lib/main.js:1374:14
    at /Users/kristijanstefanoski/Desktop/workspace/bex-projec/node_modules/esbuild/lib/main.js:675:9
    at handleIncomingPacket (/Users/kristijanstefanoski/Desktop/workspace/bex-projec/node_modules/esbuild/lib/main.js:772:9)
    at Socket.readFromStdout (/Users/kristijanstefanoski/Desktop/workspace/bex-projec/node_modules/esbuild/lib/main.js:641:7)
    at Socket.emit (node:events:518:28)
    at addChunk (node:internal/streams/readable:559:12) {
  errors: [
    {
      detail: undefined,
      id: '',
      location: {
        column: 16,
        file: '.quasar/bex/bridge.js',
        length: 22,
        line: 8,
        lineText: "import uid from 'quasar/src/utils/uid'",
        namespace: '',
        suggestion: ''
      },
      notes: [
        {
          location: null,
          text: 'You can mark the path "quasar/src/utils/uid" as external to exclude it from the bundle, which will remove this error.'
        }
      ],
      pluginName: '',
      text: 'Could not resolve "quasar/src/utils/uid"'
    }
  ],
  warnings: []
}

Node.js v20.11.1`

Same problem in v1 after updating dependencies

d88888b.
d88P" "Y88b
888     888
888     888 888  888  8888b.  .d8888b   8888b.  888d888
888     888 888  888     "88b 88K          "88b 888P"
888 Y8b 888 888  888 .d888888 "Y8888b. .d888888 888
Y88b.Y8b88P Y88b 888 888  888      X88 888  888 888
"Y888888"   "Y88888 "Y888888  88888P' "Y888888 888
      Y8b

App •  WAIT  • Compiling of Background Script with Esbuild in progress...
X [ERROR] Could not resolve "quasar/src/utils/uid"

   .quasar/bex/bridge.js:8:16:
     8 │ import uid from 'quasar/src/utils/uid'
       ╵                 ~~~~~~~~~~~~~~~~~~~~~~

 You can mark the path "quasar/src/utils/uid" as external to exclude it from the bundle, which will
 remove this error.

C:\IGZ\Proyectos\Personal\Amazon_wishlist\AZ-WishList\node_modules\esbuild\lib\main.js:1621
 let error = new Error(`${text}${summary}`);
Operating System - Windows_NT(10.0.22631) - win32/x64
NodeJs - 20.12.2

Global packages
  NPM - 10.5.2
  yarn - 1.22.19
  @quasar/cli - 2.3.0
  @quasar/icongenie - Not installed
  cordova - Not installed

Important local packages
  quasar - 2.15.3 -- Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
  @quasar/app-vite - 1.8.1 -- Quasar Framework App CLI with Vite
  @quasar/extras - 1.16.11 -- Quasar Framework fonts, icons and animations
  eslint-plugin-quasar - Not installed
  vue - 3.4.23 -- The progressive JavaScript framework for building modern web UI.
  vue-router - 4.3.2
  pinia - Not installed
  vuex - 4.1.0 -- state management for Vue.js
  vite - 2.9.18 -- Native-ESM powered web dev build tool
  eslint - 8.57.0 -- An AST-based pattern checker for JavaScript.
  electron - Not installed
  electron-packager - Not installed
  electron-builder - Not installed
  register-service-worker - 1.7.2 -- Script for registering service worker, with hooks
  @capacitor/core - Not installed
  @capacitor/cli - Not installed
  @capacitor/android - Not installed
  @capacitor/ios - Not installed

Quasar App Extensions
  *None installed*

After downgrading quasar it worked again:
yarn add quasar@2.15.2

I downgraded others before and didn´t work but maybe are required too:

yarn add vite@2.9.17  
yarn add @quasar/app-vite@1.8.0

I can confirm that my projects compile again when downgrading quasar back to 2.15.2

New releases of q/app-vite & q/app-webpack are available which fix this issue.

Confirming that the fix is working for me; for completeness here's my quasar info output:

`Operating System - Darwin(23.4.0) - darwin/arm64
NodeJs - 18.19.1

Global packages
NPM - 10.2.4
yarn - 1.22.19
@quasar/cli - 2.4.0
@quasar/icongenie - 4.0.0
cordova - 12.0.0 (cordova-lib@12.0.1)

Important local packages
quasar - 2.15.3 -- Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
@quasar/app-vite - 1.8.2 -- Quasar Framework App CLI with Vite
@quasar/extras - 1.16.11 -- Quasar Framework fonts, icons and animations
eslint-plugin-quasar - Not installed
vue - 3.4.23 -- The progressive JavaScript framework for building modern web UI.
vue-router - 4.3.2
pinia - 2.1.7 -- Intuitive, type safe and flexible Store for Vue
vuex - Not installed
vite - 2.9.18 -- Native-ESM powered web dev build tool
eslint - Not installed
electron - 29.3.1 -- Build cross platform desktop apps with JavaScript, HTML, and CSS
electron-packager - 17.1.2 -- Customize and package your Electron app with OS-specific bundles (.app, .exe, etc.) via JS or CLI
electron-builder - Not installed
register-service-worker - 1.7.2 -- Script for registering service worker, with hooks
@capacitor/core - 5.6.0 -- Capacitor: Cross-platform apps with JavaScript and the web
@capacitor/cli - 5.6.0 -- Capacitor: Cross-platform apps with JavaScript and the web
@capacitor/android - Not installed
@capacitor/ios - 5.6.0 -- Capacitor: Cross-platform apps with JavaScript and the web

Quasar App Extensions
@quasar/quasar-app-extension-testing-unit-vitest - 1.0.0 -- A Quasar App Extension for running tests with Vitest
`

The fix in the updated version of Quasar doesn't seem to resolve it:

"@quasar/app-vite": "^1.9.2"
"quasar": "^2.16.1"
 App •  WAIT  • Compiling of Background Script with Esbuild in progress...
✘ [ERROR] Could not resolve "quasar/src/utils/uid/uid"

    .quasar/bex/bridge.js:8:16:
      8 │ import uid from 'quasar/src/utils/uid/uid'
        ╵                 ~~~~~~~~~~~~~~~~~~~~~~~~~~

  The module "./src/utils/uid/uid" was not found on the file system:

    node_modules/quasar/package.json:27:11:
      27 │     "./*": "./*"
         ╵            ~~~~~

Have deleted my node_modules folder and package-lock.json and run npm install but no luck.

@roberttolton Will work with q/app v1.9.3 (pushed a fix just now). Releasing later today.