quasarframework / quasar

Quasar Framework - Build high-performance VueJS user interfaces in record time
https://quasar.dev
MIT License
25.75k stars 3.5k forks source link

Unable to run project - outdated Autoprefixer dependency (Error: Cannot find module 'caniuse-lite/data/features/css-unicode-bidi') #14364

Open nicholaszuccarelli opened 2 years ago

nicholaszuccarelli commented 2 years ago

What happened?

Error: Cannot find module 'caniuse-lite/data/features/css-unicode-bidi'

Error as reported here: https://github.com/postcss/autoprefixer/issues/1475

Running quasar dev/build fails because this dependency cannot be found in the version of autoprefixer used on the v1 branch (9.8.6)

Autoprefixer 10.4.9 has fixed the issue.

What did you expect to happen?

quasar dev/build should successfully run :-)

Reproduction URL

https://github.com/postcss/autoprefixer/issues/1475

How to reproduce?

npm install quasar dev

Flavour

Quasar CLI (@quasar/cli | @quasar/app)

Areas

Quasar CLI Commands/Configuration (@quasar/cli | @quasar/app)

Platforms/Browsers

Other

Quasar info output

Operating System - Windows_NT(10.0.22000) - win32/x64
NodeJs - 16.13.0

Global packages
  NPM - 8.19.1
  yarn - Not installed
  @quasar/cli - 1.3.2
  @quasar/icongenie - Not installed
  cordova - You have been opted out of telemetry. To change this, run: cordova telemetry on.
9.0.0 (cordova-lib@9.0.1)

Important local packages
  quasar - 1.19.5 -- Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
  @quasar/app - 2.4.1 -- Quasar Framework local CLI
  @quasar/extras - 1.15.3 -- Quasar Framework fonts, icons and animations
  workbox-webpack-plugin - 4.3.1 -- A plugin for your Webpack build process, helping you generate a manifest of local files that workbox-sw should precache.
  register-service-worker - 1.7.2 -- Script for registering service worker, with hooks
  typescript - 4.2.2 -- TypeScript is a language for application scale JavaScript development
  @capacitor/core - Not installed
  @capacitor/cli - Not installed
  @capacitor/android - Not installed
  @capacitor/ios - Not installed

Quasar App Extensions
  *None installed*

Networking
  Host - NICHOLAS-PCi7
  vEthernet (Default Switch) - 172.30.144.1
  vEthernet (WSL) - 172.25.176.1
  Ethernet - 192.168.1.50

(node:88940) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at Z:\DevelopmentITS\pr-business\node_modules\vuex\package.json.
Update this package.json to use a subpath pattern like "./*".
(Use `node --trace-deprecation ...` to show where the warning was created)

Relevant log output

PS Z:\DevelopmentITS\pr-business> quasar dev

 Dev mode.......... spa
 Pkg quasar........ v1.19.5
 Pkg @quasar/app... v2.4.1
 Debugging......... enabled

 Configured browser support (at least 88.88% of global marketshare):
 · Chrome for Android >= 105
 · Firefox for Android >= 104
 · Android >= 105
 · Chrome >= 96
 · Edge >= 102
 · Firefox >= 95
 · iOS >= 13.2
 · Opera >= 86
 · Safari >= 14.1

 App · Reading quasar.conf.js
 App · Checking listening address availability (0.0.0.0:8080)...
 App · Transpiling JS (Babel active)
node:internal/modules/cjs/loader:933
  const err = new Error(message);
              ^

[  Error: Cannot find module 'caniuse-lite/data/features/css-unicode-bidi'
  Require stack:
  - Z:\DevelopmentITS\pr-business\node_modules\autoprefixer\data\prefixes.js
  - Z:\DevelopmentITS\pr-business\node_modules\autoprefixer\lib\autoprefixer.js
  - Z:\DevelopmentITS\pr-business\.postcssrc.js
  - Z:\DevelopmentITS\pr-business\node_modules\@quasar\app\lib\webpack\inject.style-rules.js
  - Z:\DevelopmentITS\pr-business\node_modules\@quasar\app\lib\webpack\create-chain.js
  - Z:\DevelopmentITS\pr-business\node_modules\@quasar\app\lib\webpack\index.js
  - Z:\DevelopmentITS\pr-business\node_modules\@quasar\app\lib\quasar-conf-file.js
  - Z:\DevelopmentITS\pr-business\node_modules\@quasar\app\bin\quasar-dev
  - Z:\DevelopmentITS\pr-business\node_modules\@quasar\app\bin\quasar
  - C:\Users\zuc00\AppData\Roaming\npm\node_modules\@quasar\cli\bin\quasar

  - loader:933 Function.Module._resolveFilename
    node:internal/modules/cjs/loader:933:15

  - loader:778 Function.Module._load
    node:internal/modules/cjs/loader:778:27

  - loader:1005 Module.require
    node:internal/modules/cjs/loader:1005:19

  - helpers:102 require
    node:internal/modules/cjs/helpers:102:18

  - prefixes.js:663 Object.<anonymous>
    [pr-business]/[autoprefixer]/data/prefixes.js:663:12

  - loader:1101 Module._compile
    node:internal/modules/cjs/loader:1101:14

  - loader:1153 Object.Module._extensions..js
    node:internal/modules/cjs/loader:1153:10

  - loader:981 Module.load
    node:internal/modules/cjs/loader:981:32

  - loader:822 Function.Module._load
    node:internal/modules/cjs/loader:822:12

  - loader:1005 Module.require
    node:internal/modules/cjs/loader:1005:19

] {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'Z:\\DevelopmentITS\\pr-business\\node_modules\\autoprefixer\\data\\prefixes.js',
    'Z:\\DevelopmentITS\\pr-business\\node_modules\\autoprefixer\\lib\\autoprefixer.js',
    'Z:\\DevelopmentITS\\pr-business\\.postcssrc.js',
    'Z:\\DevelopmentITS\\pr-business\\node_modules\\@quasar\\app\\lib\\webpack\\inject.style-rules.js',
    'Z:\\DevelopmentITS\\pr-business\\node_modules\\@quasar\\app\\lib\\webpack\\create-chain.js',
    'Z:\\DevelopmentITS\\pr-business\\node_modules\\@quasar\\app\\lib\\webpack\\index.js',
    'Z:\\DevelopmentITS\\pr-business\\node_modules\\@quasar\\app\\lib\\quasar-conf-file.js',
    'Z:\\DevelopmentITS\\pr-business\\node_modules\\@quasar\\app\\bin\\quasar-dev',
    'Z:\\DevelopmentITS\\pr-business\\node_modules\\@quasar\\app\\bin\\quasar',
    'C:\\Users\\zuc00\\AppData\\Roaming\\npm\\node_modules\\@quasar\\cli\\bin\\quasar'
  ]
}

Additional context

No response

nicholaszuccarelli commented 2 years ago

A partial solution: Adding to package.json: "overrides": { "caniuse-lite": "1.0.30001393" } has worked for me. However I'm not sure if this is a sustainable solution long term.