Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configureWebpack breaks when it is a function #1751

Open
1 task done
JessicaSachs opened this issue Aug 6, 2019 · 0 comments
Open
1 task done

configureWebpack breaks when it is a function #1751

JessicaSachs opened this issue Aug 6, 2019 · 0 comments
Assignees
Labels
type: bug Something isn't working

Comments

@JessicaSachs
Copy link
Collaborator

JessicaSachs commented Aug 6, 2019

  • I confirm that this is an issue rather than a question.

Bug report

As per the docs (0.x and 1.x), configureWebpack is supposed to take in a function. Currently, when I return an identity function, Vuepress throws errors in Chrome and cannot render.
I'm trying to merge my webpack configuration for vuepress in with my vue-cli + webpack configuration. Currently, when I point vuepress at my source, it fails to find my aliases.
I will resort to trying out Vuepress' webpackChain option to accomplish the same thing.

Steps to reproduce

Repository Link: https://github.com/JessicaSachs/vuepress-broken-configurewebpack

  1. Create a Vuepress project with a README.md inside of docs/
  2. Add a config.js file with the below contents
module.exports = {
  description: 'My description',
  configureWebpack: config => config, // I print out "config" in the additional info section
};
  1. Run the project
  2. Open Chrome and the dev tools

What is expected?

Site renders the README file.

What is actually happening?

  1. Errors in the chrome console relating to stylus loader
  2. Nothing renders
Uncaught Error: Module build failed (from ./node_modules/stylus-loader/index.js):
ParseError: /Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/plugin-nprogress/nprogress.styl:4:194
   1| // style-loader: Adds some css to the DOM by adding a <style> tag
   2| 
   3| // load the styles
   4| var content = require("!!../../css-loader/dist/cjs.js??ref--29-oneOf-1-1!../../postcss-loader/src/index.js??ref--29-oneOf-1-2!../../stylus-loader/index.js??ref--29-oneOf-1-3!./nprogress.styl");
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^
   5| if(typeof content === 'string') content = [[module.id, content, '']];
   6| if(content.locals) module.exports = content.locals;
   7| // add the styles to the DOM

expected "indent", got ";"

    at Parser.error (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus/lib/parser.js:259)
    at Parser.expect (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus/lib/parser.js:287)
    at Parser.block (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus/lib/parser.js:845)
    at Parser.selector (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus/lib/parser.js:1555)
    at Parser.ident (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus/lib/parser.js:1446)
    at Parser.stmt (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus/lib/parser.js:778)
    at Parser.statement (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus/lib/parser.js:685)
    at Parser.parse (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus/lib/parser.js:236)
    at Renderer.render (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus/lib/renderer.js:80)
    at /Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/stylus-loader/index.js:167
    at tryCatchReject (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/when/lib/makePromise.js:840)
    at runContinuation1 (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/when/lib/makePromise.js:799)
    at Fulfilled.when (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/when/lib/makePromise.js:590)
    at Pending.run (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/when/lib/makePromise.js:481)
    at Scheduler._drain (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/when/lib/Scheduler.js:62)
    at Scheduler.drain (/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/when/lib/Scheduler.js:27)
    at eval (cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/stylus-loader/index.js?!./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/stylus-loader/index.js?!./node_modules/@vuepress/plugin-nprogress/nprogress.styl:1)
    at Object../node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/stylus-loader/index.js?!./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/stylus-loader/index.js?!./node_modules/@vuepress/plugin-nprogress/nprogress.styl (app.js:4559)
    at __webpack_require__ (app.js:1476)
    at fn (app.js:833)
    at eval (nprogress.styl?932b:4)
    at Object../node_modules/@vuepress/plugin-nprogress/nprogress.styl (app.js:2242)
    at __webpack_require__ (app.js:1476)
    at fn (app.js:833)
    at eval (enhanceAppFile.js?64a0:1)
    at Module../node_modules/@vuepress/plugin-nprogress/enhanceAppFile.js (app.js:2231)

Other relevant information

  • Adding the appropriate "stylus" files does not fix the issue
  • Output of npx vuepress info in my VuePress project:

Environment Info:

  System:
    OS: macOS 10.14
    CPU: (8) x64 Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
  Binaries:
    Node: 10.14.2 - /usr/local/bin/node
    Yarn: 1.13.0 - /usr/local/bin/yarn
    npm: 6.10.0 - /usr/local/bin/npm
  Browsers:
    Chrome: Not Found // I'm currently writing this issue on Chrome 75. This must be broken.
    Firefox: 68.0.1
    Safari: 12.0
  npmPackages:
    @vuepress/core:  1.0.3 
    @vuepress/theme-default:  1.0.3 
    vuepress: ^1.0.3 => 1.0.3 
  npmGlobalPackages:
    vuepress: Not Found
  • console.log(webpackConfig)
{ mode: 'development',
  devtool: 'cheap-module-eval-source-map',
  node:
   { setImmediate: false,
     global: false,
     process: false,
     dgram: 'empty',
     fs: 'empty',
     net: 'empty',
     tls: 'empty',
     child_process: 'empty' },
  output:
   { path:
      '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/docs/.vuepress/dist',
     filename: 'assets/js/[name].js',
     publicPath: '/' },
  resolve:
   { symlinks: true,
     alias:
      { '@source':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/docs',
        '@client':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/lib/client',
        '@app':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/lib/client',
        '@temp':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/.temp',
        '@dynamic':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/.temp/dynamic',
        '@internal':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/.temp/internal',
        '@transform':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/.temp/transform',
        '@AlgoliaSearchBox':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/noopModule.js',
        '@SearchBox':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/plugin-search/SearchBox.vue',
        '@current-theme':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default',
        '@theme/components/AlgoliaSearchBox.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/AlgoliaSearchBox.vue',
        '@theme/components/DropdownLink.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/DropdownLink.vue',
        '@theme/components/DropdownTransition.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/DropdownTransition.vue',
        '@theme/components/Home.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/Home.vue',
        '@theme/components/NavLink.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/NavLink.vue',
        '@theme/components/NavLinks.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/NavLinks.vue',
        '@theme/components/Navbar.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/Navbar.vue',
        '@theme/components/Page.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/Page.vue',
        '@theme/components/Sidebar.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/Sidebar.vue',
        '@theme/components/SidebarButton.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/SidebarButton.vue',
        '@theme/components/SidebarGroup.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/SidebarGroup.vue',
        '@theme/components/SidebarLink.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/SidebarLink.vue',
        '@theme/components/SidebarLinks.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/components/SidebarLinks.vue',
        '@theme/layouts/404.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/layouts/404.vue',
        '@theme/layouts/Layout.vue':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default/layouts/Layout.vue',
        '@theme':
         '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/theme-default' },
     extensions: [ '.js', '.jsx', '.vue', '.json', '.styl' ],
     modules:
      [ '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/lib/node/webpack/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/lib/node/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/lib/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules',
        '/Users/jessicasachs/projects/node_modules',
        '/Users/jessicasachs/node_modules',
        '/Users/node_modules',
        '/node_modules' ] },
  resolveLoader:
   { symlinks: true,
     modules:
      [ '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/lib/node/webpack/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/lib/node/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/lib/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/node_modules',
        '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules',
        '/Users/jessicasachs/projects/node_modules',
        '/Users/jessicasachs/node_modules',
        '/Users/node_modules',
        '/node_modules' ] },
  module:
   { noParse: /^(vue|vue-router|vuex|vuex-router-sync)$/,
     rules:
      [ [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object] ] },
  plugins:
   [ VueLoaderPlugin {},
     DefinePlugin { definitions: [Object] },
     HotModuleReplacementPlugin {
       options: {},
       multiStep: undefined,
       fullBuildTimeout: 200,
       requestTimeout: 10000 },
     WebpackBarPlugin {
       profile: false,
       handler: [Function],
       modulesCount: 500,
       showEntries: false,
       showModules: true,
       showActiveModules: true,
       options: [Object],
       reporters: [Array] },
     HtmlWebpackPlugin { options: [Object] },
     HeadPlugin { tags: [] },
     DevLogPlugin { options: [Object] } ],
  entry:
   { app:
      [ '/Users/jessicasachs/projects/vuepress-configure-webpack-broken/node_modules/@vuepress/core/lib/client/clientEntry.js' ] } }
@sarahdayan sarahdayan self-assigned this Aug 8, 2019
@kefranabg kefranabg added the type: bug Something isn't working label Aug 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants