Skip to content
This repository was archived by the owner on Oct 15, 2021. It is now read-only.
This repository was archived by the owner on Oct 15, 2021. It is now read-only.

Additional enhancements for the final v3 release #235

@mischah

Description

@mischah

Things to adress for the final 3.0.0 release

Must have:

  • Refactor Webpack config
    Thinking about handling differences between dev and prod build only via NODE_ENV instead of having 3 different files (webpack.base.babel.js, webpack.dev.babel.js and webpack.prod.babel.js)
  • Improve bundling polyfills
    After improving the vendor bundling, the polyfills land in the vendor bundle. It would be nice to have a polyfills bundle which is loaded via a dynamic import and lazy loads only the polyfills which are needed for the current browser.

Nice to have

  • Lift Webpack to 4.x
  • Performance improvements. See https://seesparkbox.com/foundry/webpack_but_really and https://developers.google.com/web/fundamentals/performance/webpack/
  • Try to replace metalsmith with handlebars-loader
  • Validate HTML
    There is only one Node.js CLI wrapping the official »Nu Html Checker«. Sadly we can’t use it straight away because of our Windows compatability. There is no cross OS way to pass output of one CLI as parameter to another. This is needed because the path to the HTML files we’d like to validate differ if one uses Handlebars or not. On Mac OS / Linux we could easily to one of the following npm scripts:
    "validate": "node-w3c-validator --input \"$(echo | npx babel-node ./build/html-files.js)\" --format text"
    
    "validate": "node-w3c-validator --input \"`echo | npx babel-node ./build/html-files.js`\" --format text"
    
    Where html-files.js is just this little script which outputs the current path to the HTMl files:
    #!/usr/bin/env node
    
    import {settings, useHandlebars} from './config';
    
    console.log(useHandlebars ? `${settings.destinations.handlebars}/*.html` : '.src/*.html');
    I’m open for other ideas 🤔

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions