Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sass-loader error 'options has an unknown property 'indentedSyntax'' when upgrading Vuetify from 1.5 to 2

I am upgrading Vuetify in my Vue CLI 3 project from version 1.5 to 2. I have followed these instructions, doing a full install. Since the upgrade, running 'npm run serve' gives me a ton of errors looking like this:

error  in ./node_modules/vuetify/src/components/VGrid/_grid.sass

Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
    ValidationError: Invalid options object. Sass Loader has been initialised using an options object that does not match the API schema.
     - options has an unknown property 'indentedSyntax'. These properties are valid:
       object { implementation?, sassOptions?, prependData?, sourceMap?, webpackImporter? }
        at validate (C:\Users\kristoffer.dahl\Documents\Prosjekter\fridgein\fridgein_fe\node_modules\sass-loader\node_modules\schema-utils\dist\validate.js:50:11)
        at Object.loader (C:\Users\kristoffer.dahl\Documents\Prosjekter\fridgein\fridgein_fe\node_modules\sass-loader\dist\index.js:36:28)

All errors look the same, except for the Vuetify component mentioned.

This is my package.json:

{
  "name": "fridgein_fe",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "@fortawesome/fontawesome-svg-core": "^1.2.22",
    "@fortawesome/free-brands-svg-icons": "^5.10.2",
    "@fortawesome/free-regular-svg-icons": "^5.10.2",
    "@fortawesome/free-solid-svg-icons": "^5.10.2",
    "@fortawesome/vue-fontawesome": "^0.1.7",
    "@vue/cli": "^3.11.0",
    "@vue/cli-shared-utils": "^3.11.0",
    "auth0-js": "^9.11.3",
    "axios": "^0.18.1",
    "dotenv": "^8.1.0",
    "es6-promise": "^4.2.8",
    "jquery": "^3.4.1",
    "js-cookie": "^2.2.1",
    "popper.js": "^1.14.7",
    "register-service-worker": "^1.6.2",
    "sockjs-client": "^1.3.0",
    "vue": "^2.6.10",
    "vue-float-action-button": "^0.4.4",
    "vue-google-charts": "^0.3.2",
    "vue-plugin-load-script": "^1.2.0",
    "vue-router": "^3.0.2",
    "vuetify": "^2.1.0",
    "vuex": "^3.1.1",
    "vuex-persistedstate": "^2.5.4",
    "webstomp-client": "^1.2.6"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^3.4.0",
    "@vue/cli-plugin-eslint": "^3.4.0",
    "@vue/cli-plugin-pwa": "^3.11.0",
    "@vue/cli-service": "^3.5.1",
    "babel-eslint": "^10.0.1",
    "babel-plugin-module-resolver": "^3.2.0",
    "css-loader": "^2.1.1",
    "deepmerge": "^4.0.0",
    "eslint": "^5.0.0",
    "eslint-plugin-vue": "^5.2.3",
    "eslint-plugin-vuetify": "^1.0.0-beta.3",
    "fibers": "^4.0.1",
    "sass": "^1.23.0",
    "sass-loader": "^8.0.0",
    "stylus": "^0.54.5",
    "stylus-loader": "^3.0.1",
    "vue-cli-plugin-vuetify": "^0.5.0",
    "vue-template-compiler": "^2.6.10",
    "vuetify-loader": "^1.3.0",
    "webpack": "^4.41.0"
  },

This is my vue.config.js:

module.exports = {
    css: {
      loaderOptions: {
        sass: {
          data: `@import "~@/sass/main.scss"`
        },
      },
    },
}

I have checked out and tried every solution presented in relevant issues on the developers' Github pages, but none has has any effect.

Has anyone else encountered this?

like image 887
kristoffer sylte dahl Avatar asked Oct 04 '19 08:10

kristoffer sylte dahl


3 Answers

Update for those using version 10+. prependData is no longer valid. However you can use additionalData as a drop-in replacement.

like image 104
Alex Foxleigh Avatar answered Nov 16 '22 01:11

Alex Foxleigh


I had the same issue and fixed it by downgrading sass-loader by setting

"sass-loader": "7.3.1",

in package.json.

This was suggested on the Vuetify Discord

like image 44
user1380 Avatar answered Nov 16 '22 01:11

user1380


Actually you are using sass-loader 8+ and it has an option a little bit different.
Try using prependData instead of data.
Check this github issue

module.exports = {
    css: {
      loaderOptions: {
        sass: {
          prependData: `@import "~@/sass/main.scss"`
        }
      }
    }
}

like image 33
Pisandelli Avatar answered Nov 15 '22 23:11

Pisandelli