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

Releases: micromata/generator-baumeister

4.0.2 – Deprecation release 😢

15 Oct 16:08
Compare
Choose a tag to compare

Chore

  • chore: Add unmaintained note to Readme f1f72a6

See all changes since the last release.

4.0.1

19 Mar 17:27
Compare
Choose a tag to compare

Bug Fixes

Reverts

  • fix(baumeister): Initially lint files with npm start (3b16011)

See all changes since the last release.

4.0.0

20 Feb 15:25
Compare
Choose a tag to compare

Bug Fixes

  • baumeister: Add missing dev dependency (c0b89a9)
  • baumeister: Fix linting errors introduced by updating ESLint, plugins and configs (f38ea91)
  • baumeister: Initially lint files with npm start (19e2e83)
  • baumeister: Loading images via webpack (ff0b206)
  • baumeister: Resolve error running tests on Node 6 (68744fe)
  • baumeister: Update webpack and webpack-cli to fix build errors (c820435), closes #69
  • generator: Add templates directory to lint-staged export path (82f7f84)

Features

  • baumeister: Auto format code using prettier as pre-commit hook (6ea3dbf)
  • baumeister: Enable to define baumeister config in package.json (fcfdc6c)
  • baumeister: Move tooling configs to package.json (68f31d8), closes #270
  • baumeister: Update ESLint, plugins and shared configs to their latest versions (3c6be02)
  • baumeister: Update husky to v1.x.x (4f35c94)
  • baumeister: Update Jest to v24.x.x and Babel to v7.x.x (7ac9da2)
  • baumeister: Update production dependencies (4a54e3c)

BREAKING CHANGES

  • baumeister: Auto formatting introduces a new dev dependency which requires Node.JS >= 8.6

    We are using prettier to format JavaScript, JSON and SCSS files automatically before you commit your files to Git via a pre-commit hook.

    The prettier settings are defined in .prettierrc in the project root. In case prettier is to opinated for you or you don’t want Prettier to change your files without the chance to review the changes you just have to delete the pre-commit hook with in the package.json:

    "husky": {
      "hooks": {
        "post-merge": "npm install",
        "pre-commit": "lint-staged"
      }
    }

    But we totally recommend you to give this workflow a chance, because it’s just one more thing you don’t have to care about.

  • baumeister: Since the update to Husky v1.x.x you need to update the husky config which can be automated by running ./node_modules/.bin/husky-upgrade. See https://github.com/typicode/husky#upgrading-from-014 for details.

  • baumeister: The updates of ESLint, plugins and shared configs to their latest versions might break your build since new versions have introduced new rules which might introduce linting errors in your code base.

    Tip: Run npm run eslint:fix to see which errors are autofixable. And remember to turn off rules in eslintConfig in case you find them too opinionated.


See all changes since the last release.

3.1.0

04 May 06:48
Compare
Choose a tag to compare

Bug Fixes

  • bring back object-rest-spread babel plugin for client code (6792fb8)
  • Linting error caused by updating eslint-config-xo (ac9b3a8)

Features

  • Add interactive menu to list and run the most important scripts (6e97c48)

See all changes since the last release.

3.0.0

04 Apr 09:18
Compare
Choose a tag to compare

🎉 Yeah, version 3 is finally here 🎉

Let’s recap the most important changes since the last 2.x.x release:

  • prompting: First class support for React SPAs (2f00fb4)
    • React will be used and set up like described here when choosing to build a single page application.
    • So Baumeister is able to set up:
      • a static site generator (using Handlebars and Frontmatters), if you choose to build a static website.
      • a React app with all the bells and whistles, if you choose to build a single page app.
  • build: Replace Gulp with webpack (and npm scripts) (c6116ad)
  • bootstrap: Upgrade to Bootstrap 4 (c7b4264)
  • polyfills: Dynamically import and lazy load polyfills (ef5f6b5), closes micromata/baumeister#235
    • This keeps the vendor bundle in modern browser smaller because
      polyfills are only loaded when the used browser actually needs them.

Notable Changes since the last beta

Code Refactoring

  • scripts: serve build via npm run build:serve (496a15b)

Features

  • add PRODUCTION constant to ESLint config (fbc804b)
  • first class support for React SPAs (2f00fb4)
  • improve the cacheability of the vendor bundle (d9b60e4)
  • reduce noise in terminal (especially in watch mode) (46aea0b)
  • setup Babel plugin transform-imports (b779eef)
  • setup tree shaking (b490094)

BREAKING CHANGES


See all changes since the last prerelease.

Migration Guide

Below you’ll find the list of all breaking changes since the last 2.x.x release and what you have to adapt.

  • build: Gulp and all the tasks are gone. But most of the npm scripts still do what they did before. Here are the main scripts needed for developing and building your project.

    Command Description
    npm start Builds for development, starts a webserver, watches files for changes, rebuilds incremental and reloads your browser.
    npm test Lints your JavaScript files and runs unit test via the Jest CLI.
    npm run test:watch Runs unit test with Jests watch option.
    npm run build Builds for production to dist directory.
    npm run build:serve Starts a static fileserver serving the dist directory.
    npm run build:analyze Starts »Webpack Bundle Analyzer« to visualize size of Webpack output files

    See scripts section in package.json for all available scripts.

  • build: The bundled polyfills moved to the vendor bundle, the webpack runtime has moved into a separate file. Plus the references to the bundles have changed. You have to update the references in your HTML / Handlebars file(s):

    <!-- Bundled vendor CSS files -->
    @@vendor.css
    
    <!-- Our compiled and merged Sass files -->
    @@app.css
    
    […]
    
    <!-- webpack runtime JS -->
    @@runtime.js
    
    <!-- Bundled vendor CSS files -->
    @@vendor.css
    
    <!-- Our compiled and merged Sass files -->
    @@app.css
  • polyfills: Polyfills are now dynamically imported and lazy loaded to decrease the size of the vendor bundle for modern browsers. See README for details.

  • eslint: We ’ve added eslint-plugin-unicorn and eslint-plugin-import which might introduce new linting errors. You might want to turn off rules in /.eslintrc.json in case you find them too opinionated.

  • baumeister.json: The properties bundleCSS and includeStaticFiles in baumeister.json have moved to vendor.bundleCSS and vendor.includeStaticFiles. You have to adapt these changes in case you have added dependencies via these properties.

  • bootstrap: We’ve updated to Bootstrap 4. See Bootstrap v4 migration guide to read about the most notable as well as breaking changes.


See all changes since the last release.

3.0.0-beta.1

22 Mar 12:05
Compare
Choose a tag to compare
3.0.0-beta.1 Pre-release
Pre-release

This is the last beta before the final 3.0.0 release 🎉

We are now going to address a few enhancements which might get into the final 3.0.0 release. See micromata/Baumeister#235 for details.

Notable changes

Bug Fixes

Features


See all changes since the last release.

3.0.0-beta.0

18 Mar 19:32
Compare
Choose a tag to compare
3.0.0-beta.0 Pre-release
Pre-release

This is the first beta of the 3.0.0 release 🎉

Install with:

npm install -g generator-baumeister@prerelease

We have a few enhancements which might get into the final 3.0.0 release. See micromata/Baumeister#235 for details.

Notable changes

Code Refactoring

  • baumeister.json: Rename properties related to vendor files (a594563)

Features

  • remove Yarn lockfiles 👋🏻 (b6f1fbf)
  • eslint: Simplify setup and include two additional plugins (f039c24)
  • Replace Gulp with Webpack (and npm scripts) (c6116ad)
  • Upgrade to Bootstrap 4 (c7b4264)

BREAKING CHANGES

  • Gulp and all the tasks are gone. But most of the npm scripts still do what they did before. Here are the main scripts needed for developing and building your project.

    Command Description
    npm start Builds for development, starts a webserver, watches files for changes, rebuilds incremental and reloads your browser.
    npm test Lints your JavaScript files and runs unit test via the Jest CLI.
    npm run test:watch Runs unit test with Jests watch option.
    npm run build Builds for production to dist directory.
    npm run build:check Starts a static fileserver serving the dist directory.
    npm run build:analyze Starts »Webpack Bundle Analyzer« to visualize size of Webpack output files

    See package.json scripts section for all available scripts.

  • The polyfills bundle is gone and the references to the bundles in default.hbs respectively the HTML files has changed to:

    <!-- Bundled vendor CSS files -->
    @@vendor.css
    
    <!-- Our compiled and merged Sass files -->
    @@app.css
    
    <!-- Vendor JS -->
    @@vendor.js
    
    <!-- Own JS -->
    @@app.js
  • We switched from using UnCSS to PurifyCSS for remo0ving unused CSS.
    Due to the concept of Webpack we only generate one CSS bundle. PurifyCSS is turned off by default.

    To activate PurifyCSS set the usePurifyCSS option in within baumeister.json to true.
    In addition you can define a PurifyCSS whitelist defining an array of selectors that should not be removed.

  • eslint: We’v added eslint-plugin-unicorn and eslint-plugin-import which might introduce new linting errors. You might want to turn off rules in /.eslintrc.json in case you find them too opinionated.

  • baumeister.json: The properties bundleCSS and includeStaticFiles in baumeister.json are moved to vendor.bundleCSS and vendor.includeStaticFiles. You have to adapt these changes in case you have added dependencies via these properties.

  • See Bootstrap v4 migration guide to read about the most notable as well as breaking changes.


See all changes since the last release.

2.0.1

12 Feb 18:53
Compare
Choose a tag to compare

Bug Fixes

  • adapt breaking changes of updated dev dependencies (874b294)
  • copy additional directories in src/assets to build directories (0af86b4)
  • update dependencies of generated project (d8a9780)
  • Update dependencies of the generator (d1e1d41)
  • update dev dependencies of the generated project (62067f7)

See all changes since the last release.

2.0.0

09 Jan 13:24
Compare
Choose a tag to compare

Bug Fixes

  • Update dependencies of the generator (83a3baf)
  • prompting: Fix broken prompt for theme name 🙈 (482ecae)
  • readme: Print the chosen license in the README (cbf61ac)

Features

  • prompting: Remove prompt to rename output directory (4809822)

Chores

  • Adapt changes from Baumeister 2.0.0. (ee4f731)

    Bug Fixes

    • update dependencies (2722663)
    • update dependencies (#199) (9d41b6d)
    • config: prevent error if includeStaticFiles is empty (3ce7eb5), closes #215
    • linting: fix linting errors introduced with eslint-config-xo (389e07b)
    • update dev dependencies (d96c53e)
    • update dev dependencies (b072aa8)
    • linting: fix stylelint errors (62a4087)
    • settings: revert generateBanners setting to false (68eebf5)

    Code Refactoring

    Features

    • linting: Add eslint rules to ensure consistent filenames (#201) (82e24a8), closes #197
    • settings: Move settings to baumeister.json (c4029a4), closes #212 #213
    • transpiling: Transform async/await using regenerator (91cd23c), closes #207

BREAKING CHANGES

Yeoman Generator

  • prompting: You aren’t able to customize the name of the dist directory while scaffolding your app. You can still customize it after scaffolding by changing the directory in /gulp/config.js.

Generated projects via Baumeister 2.0.0

  • linting: The new major version of stylelint-config-standard introduces
    some new rules which might break your build. Therefore you might
    need to adapt your code or disable unwanted rules in .stylelintrc.json.
  • bundling: The bundles are renamed (and partly removed) to: app/polyfills.bundle.js, app/vendor.bundle.js and app/app.bundle.js and must be included via script tags in that order. See default.hbs.
  • settings: Settings moved from package.json to the new baumeister.json config file in the project root. In addition the two boolean settings useHandlebars and generateBanners from gulp/config.js are also exposed to the baumeister.json.
  • linting: eslint-plugin-filenames will cause linting errors in case you already have JavaScript files with filenames written in camelCase. You have to rename those files or change/disable the rule filenames/match-exported in .eslintrc.json depending on your preference.

See all changes since the last release.

Release 1.1.1

05 Jan 20:09
Compare
Choose a tag to compare

Bug Fixes

  • Update dependencies of the generator (4b538a2)

See all changes since the last release.