Releases: usebedrock/bedrock
1.41.0
(Pre-release for testing)
This new release implements a core-less Bedrock. This is a big change in how Bedrock works.bedrockapp
becomes an npm dependency of a project. Your project repo will look a lot simpler, and upgrading will become much easier.
To use this, you wil need an environment with the right mix of folders and files to start from. We will supply a template shortly.
1.40.0
1.39.2
1.39.1
1.39.0
- Use Prism instead of CodeMirror
- Keep existing functionality (copy/paste)
- Make Babel configurable (see blog post) and #386 )
- This config can also be used to change the theme, let's say you have a dark UI, you could load a dark theme with
plugins.prismjs.theme
.
- This config can also be used to change the theme, let's say you have a dark UI, you could load a dark theme with
- Add option to copy/paste as JSX
- This is useful when you are doing a prototype that has to be translated to a React context.
1.38.1
For the period of June 15 - July 8, we worked on several features in Bedrock 1.34 to Bedrock 1.38. These were marked as pre-release until we were sure of moving along with all of it. We've let go of the pre-release label and these features are now part of the master
branch.
Recent highlights include:
- PurgeCSS support
- PostCSS support
- Different configs for development and production
- Minification of CSS and JS for production builds
- A way to customize the page tree so that markup is not “in the way” or even remove the page tree altogether (e.g. in production builds)
In this 1.38.1 release, just a few small bug fixes.
1.38.0
- Add
noIndex
option to overall config which controls meta tag used to signify to search engines whether to index or not - Change main template to be an empty template ready for customization, instead of an index of pages. Index is still available at
page-index.html
. - Optimize templates so that the default markup in Bedrock with the right flags looks like this:
<!DOCTYPE html>
<html dir="ltr" lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bedrock
</title>
<link rel="stylesheet" href="/css/main.css">
</head>
<body>
<p>Welcome to Bedrock. This is your homepage. Go to <code>/content/templates/index.pug</code> to find this file and start editing your project.</p>
<script src="/js/bundle-client.js"></script>
</body>
</html>
The flags you need in bedrock.config.prod.js
are:
/**
* Bedrock production configuration
* ---
* This object will get merged into the bedrock config object and contains specific values for production
* Use `NODE_ENV=production npm run build` to run a production build
*/
module.exports = {
noIndex: false,
pageTree: false,
styleguide: false,
js: {
minify: true
},
css: {
minify: true,
purge: true,
compiler: 'scss'
},
};
This will give you a minimal setup in the build where we never load the big JS file to make the prototype work (the one that contains jQuery (legacy code), Codemirror for syntax highlighting etc.).
1.37.0
- Make it possible to build for production using new
npm run build-prod
command- Uses a configuration object located at
bedrock.config.prod.js
where you can specify specific values. Note that you need to specify the full original (sub)object once you override something. Example below.
- Uses a configuration object located at
module.exports = {
pageTree: false,
js: {
minify: true
},
css: {
minify: true,
purge: true,
compiler: 'scss' // Note this line, which you would not expect in a file that is about production
},
};
1.36.0
- Implement optionality for page tree: you can disable the page tree object, (
pageTree: false
), for example if you don't want it in your production build. Combine this with optionality for the styleguide (styleguide: false
) and this means that in dev mode you can have a styleguide and a page tree to easily navigate to your prototype, but in production you have a deploy that doesn't contain that code. - Implement layout type for page tree: you can now set the page tree layout to a sidebar or fixed layout. A fixed layout is useful if your layout conflicts with the usage of wrappers.
1.35.2
- Allow minification of CSS through settings file
- Allow minification of JS through settings file
- Implement nicer namespace for css config, grouping all CSS settings together
- Better sorting of config file
- Bugfix: Fix a bug where JS entry file (
index.js
) was copied to final output