1 | # Changelog
|
2 |
|
3 | ## 1.11.2
|
4 |
|
5 | - **Fix**: Revert increase `maxAsyncRequests` and `maxInitialRequests` in `splitChunks` to prevent JavaScript from running out of memory.
|
6 | - **Fix**: Fix issue where `.md` and `.js` files were not being compiled on `start`.
|
7 | - **Fix**: Prevent `.md` and `.js` files from being copied on `build` since they will be compiled.
|
8 |
|
9 | ## 1.11.1
|
10 |
|
11 | - **Fix:** Increase `maxAsyncRequests` and `maxInitialRequests` in `splitChunks` to prevent JavaScript from running out of memory.
|
12 |
|
13 | ## 1.11.0
|
14 |
|
15 | - **Fix:** Prevent temporary build files from being written to the output directory.
|
16 | - **Feature:** Batfish no longer generates a stats.json at build time. Pass the `--stats` flag with the `build` command to generate stats.json.
|
17 |
|
18 | ## 1.10.2
|
19 |
|
20 | - **Fix:** Use core-js@2 and fix core-js modules so that they are required.
|
21 |
|
22 | ## 1.10.1
|
23 |
|
24 | - **Fix:** Fix undefined Promise in IE 11 by adding core-js (es.promise and es.array.iterator) to the Webpack config `entry`.
|
25 |
|
26 | ## 1.10.0
|
27 |
|
28 | - Upgrade Webpack to v4.
|
29 |
|
30 | ## 1.9.8
|
31 |
|
32 | - **Fix:** Fix bug that caused `.json` files in the `pagesDirectory` *not* to be copied to the `outputDirectory`.
|
33 | - **Fix:** Fix bug that caused *some* `unprocessedPageFiles` to *sometimes* be processed as pages.
|
34 |
|
35 | ## 1.9.7
|
36 |
|
37 | - **Fix:** Fix Node 10 compatibility by updating `cpy` dependency.
|
38 | - **Fix:** Update dependencies.
|
39 |
|
40 | ## 1.9.6
|
41 |
|
42 | - **Deprecate:** Add a deprecation warning when using the `spa` mode.
|
43 |
|
44 | ## 1.9.5
|
45 |
|
46 | - **Fix:** Remove `^` from `assets-webpack-plugin` dependency to avoid regression.
|
47 |
|
48 | ## 1.9.4
|
49 |
|
50 | - **Fix:** Use `webpackPlugins` in static HTML build as well as client-side bundle build, as plugins like `DefinePlugin` can provide information that is depended on for building the HTML. *If this breaks a build for you, please open an issue about your use case.*
|
51 |
|
52 | ## 1.9.3
|
53 |
|
54 | - **Fix:** Add `electron` to list of libraries that Webpack should *not* try to bundle during the HTML build.
|
55 |
|
56 | ## 1.9.2
|
57 |
|
58 | - **Fix:** Remove production usage of Prettier. Generated files will not be as pretty, but it's worth removing the large dependency and complications it can introduce.
|
59 |
|
60 | ## 1.9.1
|
61 |
|
62 | - **Fix:** Fix custom 404 pages on sites with a `siteBasePath`.
|
63 |
|
64 | ## 1.9.0
|
65 |
|
66 | - **Feature:** Added a helpful message if the provided port is not available.
|
67 | - **Feature:** Files reference as URLs in CSS then copied into the output directory (via postcss-url) now include the file's original basename as well as the hash.
|
68 | - **Feature:** Expose Batfish's version of Webpack on `require('@mapbox/batfish').webpack`, so it can be used for custom plugin configuration.
|
69 | - **Fix:** Prevent batfish from entering an unpredictable state if provided port is unavailable.
|
70 |
|
71 | ## 1.8.2
|
72 |
|
73 | - **Fix** Change the CLI parameter `-p/--port` to accept number data type.
|
74 |
|
75 | ## 1.8.1
|
76 |
|
77 | - Update jsxtreme-markdown packages, which use a new processing pipeline.
|
78 |
|
79 | ## 1.8.0
|
80 |
|
81 | - **Add:** Automatically add data about headings to front matter of Markdown pages and `id` attributes to the heading elements.
|
82 | The headings data can be used to generate a table of contents in the Markdown page wrapper component, as illustrated in the table-of-contents example.
|
83 | (This feature was added to jsxtreme-markdown.)
|
84 | - Chore: Unobtrusive dependency updates.
|
85 |
|
86 | ## 1.7.5
|
87 |
|
88 | - **Fix:** Prevent new default 404 page from breaking SPA mode.
|
89 |
|
90 | ## 1.7.4
|
91 |
|
92 | - **Fix:** Add `babel-core` to `dependencies`, since it's a peer dependency of `babel-loader`.
|
93 |
|
94 | ## 1.7.3
|
95 |
|
96 | - **Fix:** Replace code that caused Webpack warning about `Chunk.modules` being deprecated.
|
97 |
|
98 | ## 1.7.2
|
99 |
|
100 | - **Add:** Improve logging by adding approximate times for build phases.
|
101 | - **Add:** Helpful default 404 page (in development mode only).
|
102 | - **Fix:** If you provide an `applicationWrapper` in `spa` mode, it will be included in the static HTML build.
|
103 | - **Fix:** Update postcss-html-filter for CSS-inlining bug fix.
|
104 |
|
105 | ## 1.6.2
|
106 |
|
107 | - **Fix:** Add several packages to `dependencies` which were mistakingly added to `devDependencies`.
|
108 |
|
109 | ## 1.6.1
|
110 |
|
111 | - Chore: Swap out development servers. This should reduce dependency weight and complexity and fix an infrequent bug where `start` crashed when it tried to print the local URL.
|
112 |
|
113 | ## 1.6.0
|
114 |
|
115 | - **Add:** Add `sitemap` option, allowing user to turn off sitemap generation.
|
116 | - **Fix:** Improve error messages when front matter parsing fails.
|
117 |
|
118 | ## 1.5.1
|
119 |
|
120 | - Remove webpack-chunk-hash dependency. Recent versions of Webpack do not require this module for deterministic filename hashing.
|
121 |
|
122 | ## 1.5.0
|
123 |
|
124 | - **Add:** Add `staticHtmlInlineDeferCss` option.
|
125 |
|
126 | ## 1.4.0
|
127 |
|
128 | - **Add:** Add `webpackStaticStubReactComponent` option.
|
129 | - **Add:** Use Webpack's `node` option in the client config to stub core Node libraries, resulting in fewer errors buried in users' dependencies.
|
130 |
|
131 | ## 1.3.0
|
132 |
|
133 | - **Add:** Add `devBrowserslist` option. **This will change the browser support of your development (not production) build.**
|
134 | - **Add:** Add `-b, --browsers` option for `batfish start`.
|
135 | - **Add:** `browserslist` and `devBrowserslist` affect babel-preset-env, not just Autoprefixer.
|
136 |
|
137 | ## 1.2.0
|
138 |
|
139 | - **Add:** Include `babel-plugin-transform-object-rest-spread` by default.
|
140 | - **Add:** Add `manageScrollRestoration` option.
|
141 | - **Add:** Add **experimental** `spa` option.
|
142 | This option might suffer breaking changes on any release until it's no longer "experimental".
|
143 |
|
144 | ## 1.1.0
|
145 |
|
146 | - **Add:** `-i, --include` option to `batfish start` command, and corresponding `includePages` configuration option, which allows you to speed up your development build by only building the specified pages.
|
147 | - **Add:** `batfish write-bablerc` command (`batfish.writeBabelrc` in Node API), which writes a `.babelrc` file that you can use to tell other process, like a test runner, how to interpret your source files.
|
148 | - **Add:** Add `babelInclude` option.
|
149 | - **Fix:** Fix bug that could cause builds with unnamed dynamic imports to fail with a cryptic error about a hash-based filename that is too long.
|
150 | - **Fix:** Actually exclude `node_modules` from Babel compilation, as intended and documented.
|
151 | **Warning:** this fix makes the functionality fit the documented public API, but if you were accidentally relying on a `node_module` being accidentally compiled, this could break your build.
|
152 | You'll want to use the new `babelInclude` option to indicate those `node_modules` that need to be compiled.
|
153 | - **Fix:** Tweak default `babelExclude` value to ensure it excludes nested `node_modules` directories.
|
154 | - **Chore:** Remove json-loader, which Webpack no longer needs to import JSON.
|
155 | - **Chore:** Allow babel-loader to use its default cache location (`node_modules/.cache/babel-loader`).
|
156 |
|
157 | ## 1.0.4
|
158 |
|
159 | - **Fix:** Fix bug causing build to fail if you used `npm link` (or `yarn link`), with a message about failing to find Babel plugins.
|
160 |
|
161 | ## 1.0.3
|
162 |
|
163 | - Upgrade dependencies. There should not be any user-faces changes, just behind-the-scenes improvements.
|
164 |
|
165 | ## 1.0.2
|
166 |
|
167 | - **Fix:** Fix bug where changes to recent versions of BrowserSync broke server initialization logging.
|
168 |
|
169 | ## 1.0.1
|
170 |
|
171 | - **Fix:** Upgrade `@mapbox/jsxtreme-markdown-loader` to get bug fix related to determining Markdown wrappers with a `getWrapper` function.
|
172 |
|
173 | ## 1.0.0
|
174 |
|
175 | - No changes. Releasing 1.0 because the library has been stable enough that 1.0 will be good for semver.
|
176 |
|
177 | ## 0.13.4
|
178 |
|
179 | - **Fix:** Use `NamedChunksPlugin` to improve long-term caching.
|
180 |
|
181 | ## 0.13.3
|
182 |
|
183 | - **Fix:** Do not copy files specified by `unprocessedPageFiles` option if they are also ignored by `ignoreWithinPagesDirectory`.
|
184 | - **Fix:** Fix bug that caused the static build's Webpack config to look for certain dependencies, like `uglify-js`, in the wrong place.
|
185 | - **Fix:** Better errors for obscure parse errors from compiled `static-render-pages.js`.
|
186 |
|
187 | ## 0.13.2
|
188 |
|
189 | - **Fix:** `outputDirectory` and `temporaryDirectory` do not have to exist as part of config validation.
|
190 |
|
191 | ## 0.13.1
|
192 |
|
193 | - **Fix:** Add Prettier to `dependencies`, not just `devDependencies`.
|
194 | - **Fix:** Provide more clear error messages by checking for the existing of files or directories while validating configuration for the following options: `applicationWrapperPath`, `pagesDirectory`, `outputDirectory`, `temporaryDirectory`, `inlineJs`.
|
195 | - **Fix:** Fix buggy validation of `inlineJs` configuration property.
|
196 |
|
197 | ## 0.13.0
|
198 |
|
199 | - **Add:** Add `ignoreWithinPagesDirectory` option.
|
200 |
|
201 | ## 0.12.1
|
202 |
|
203 | - **Fix:** Update jsxtreme-markdown dependencies to get bug fix.
|
204 |
|
205 | ## 0.12.0
|
206 |
|
207 | - **Add:** Add `publicAssetsPath` option.
|
208 | - **Fix:** Slight improvement to filename hashing for long-term caching.
|
209 | - **Fix:** Remove `strip-color` from `vendorModules`, as it's no longer being used.
|
210 | - **Chore:** Allow for React 16 as peer dependency.
|
211 | - **Chore:** Update all other dependencies.
|
212 |
|
213 | ## 0.11.4
|
214 |
|
215 | - **Fix:** Fragments in the URL take precedence over scrolling to the top of pages on dynamic route changes.
|
216 |
|
217 | ## 0.11.3
|
218 |
|
219 | - **Fix:** Fragments in the URL take precedence over saved scroll positions in the history.
|
220 |
|
221 | ## 0.11.2
|
222 |
|
223 | - **Fix:** Development server does not quit the process when there are Webpack compilation errors.
|
224 | Instead, you can just fix them and rebuild.
|
225 |
|
226 | ## 0.11.1
|
227 |
|
228 | - **Fix:** Remove imports of `batfish-internal/context` from public modules.
|
229 | These break unit tests, or any other reference to the file outside of Batfish's builds.
|
230 |
|
231 | ## 0.11.0
|
232 |
|
233 | - **Add:** Add `babelPresetEnvOptions` option.
|
234 | - **Add:** Enable page-specific CSS.
|
235 | See ["Page-specific CSS" documentation](docs/advanced-usage.md#page-specific-css).
|
236 | - **Fix:** Prevent two simultaneous Webpack compilations from messing with each other when a page file changes.
|
237 |
|
238 | ## 0.10.4
|
239 |
|
240 | - **Fix:** Restructure directories to be more friendly for Flow-using consumers.
|
241 |
|
242 | ## 0.10.3
|
243 |
|
244 | - **Fix:** Don't hijack links that aren't to Batfish routes.
|
245 | Refactoring in 0.10.0 introduced this bug.
|
246 |
|
247 | ## 0.10.2
|
248 |
|
249 | - **Fix:** Include more files in npm package ...
|
250 |
|
251 | ## 0.10.1
|
252 |
|
253 | - **Fix:** Include `dist/` in npm package. Oops.
|
254 |
|
255 | ## 0.10.0
|
256 |
|
257 | - 🚨 **Breaking change:** Require Node 6. (Drop support for Node 4.)
|
258 | - 🚨 **Breaking change:** Remove `staticDirectory` option.
|
259 | The same effect can be accomplished by putting static files in the pages directory.
|
260 | - 🚨 **Breaking change:** `with-location` now provides the original component at WrappedComponent instead of WrapperComponent.
|
261 | - 🚨 **Breaking change:** change `data-no-hijack` attribute name to `data-batfish-no-hijack`.
|
262 | Also, this attribute now blocks link hijacking on the element itself *and all its children*.
|
263 | - 🚨 **Breaking change:** (maybe, maybe not) Links with fragment URLs (e.g. `href="#foo"`) are not hijacked, just left to their default behavior.
|
264 | - **Add:** Much improved logging!
|
265 | - **Add:** Much improved configuration validation!
|
266 | - **Add:** Much improved error handling!
|
267 | - **Add:** `hijackLinks` configuration option, defaulting to `true`.
|
268 | - **Add:** Improve `prefixUrl` to work with already-prefixed URLs and absolute URLs.
|
269 | - **Add:** Add `unprocessedPageFiles` option.
|
270 | - **Add:** Include `babel-plugin-transform-class-properties` by default.
|
271 | - **Add:** `start` now rebuilds when you change a page's front matter, create a new page, or delete a page.
|
272 | - **Fix:** Update postcss-html-filter to fix bugs inlining CSS with certain pseudo selectors.
|
273 |
|
274 | ## 0.9.4
|
275 |
|
276 | - **Fix:** Do not rebase URLs in CSS that have protocols.
|
277 |
|
278 | ## 0.9.2
|
279 |
|
280 | - **Fix:** Fix the url-referenced assets in CSS are copied and rebased for the static build.
|
281 | - **Fix:** Ensure that the user's versions of react, react-dom, and react-helmet are used.
|
282 |
|
283 | ## 0.9.1
|
284 |
|
285 | - **Fix:** Assets referenced by `url()` in CSS you include with the `stylesheets` option are copied into the `outputDirectory`.
|
286 |
|
287 | ## 0.9.0
|
288 |
|
289 | - 🚨 **Breaking change:** Revised `dataSelectors` system.
|
290 | Values returned by `dataSelectors` can now be used by `import`ing modules from `@mapbox/batfish/data/[data-selector-name]`, instead of using the special `injectedData` front matter property.
|
291 | For example, the return value from the `dataSelectors.watchOutForBees` is available with `import beeData from '@mapbox/batfish/data/watch-out-for-bees';`.
|
292 |
|
293 | ## 0.8.0
|
294 |
|
295 | - **Addition:** `includePromisePolyfill` configuration option.
|
296 | - **Fix:** Batfish will inject its specified version of `es6-promise` even if something about your dependency resolution ends up putting an older version of that polyfill at `node_modules/es6-promise`.
|
297 |
|
298 | ## 0.7.0
|
299 |
|
300 | - 🚨 **Breaking change:** Renamed `externalStylesheets` option to `stylesheets`.
|
301 | - 🚨 **Breaking change:** CSS is no longer `import`ed or `require`d via Webpack.
|
302 | All stylesheets should be listed in the `stylesheets` configuration array.
|
303 | - 🚨 **Breaking change:** Renamed `wrapperPath` option to `applicationWrapperPath`.
|
304 | - 🚨 **Breaking change:** Removed `notFoundPath` option.
|
305 | Instead, 404 pages always live as `404.(js|md)` in the `pagesDirectory`.
|
306 | - 🚨 **Breaking change:** 404 pages are no longer `index.html` files inside directories, e.g. `404/index.html`.
|
307 | They are just HTML pages, e.g. `404.html`.
|
308 | - 🚨 **Breaking change:** Changed default `outputDirectory` from `_site` to `_batfish_site`.
|
309 | - 🚨 **Breaking change:** Changed default `temporaryDirectory` from `_tmp` to `_batfish_tmp`.
|
310 | - 🚨 **Breaking change:** Upgrade jsxtreme-markdown, which changed `modules` front matter property in Markdown pages to `prependJs`.
|
311 |
|
312 | ## 0.6.0
|
313 |
|
314 | - **Addition:** `webpackStaticIgnore` configuration option.
|
315 | - **Fix:** Links with fragment identifiers.
|
316 | Only scroll to the top of the page after the URL changes if the location's pathname changes and if there is no fragment identifier in the URL.
|
317 | - **Fix:** Use ES2015 named imports for default `modules` values in `jsxtreme-markdown` documents.
|
318 |
|
319 | ## 0.5.0
|
320 |
|
321 | - Changed `batfish/md` path, for Babel-compiled Markdown in JS pages, to `@mapbox/batfish/modules/md`.
|
322 | - Switched ES2015 module compilation from Webpack's system to Babel's ES2015 preset.
|
323 | - Use [worker-farm](https://github.com/rvagg/node-worker-farm) for inlining CSS in static HTML files.
|
324 | - Upgrade Webpack to v3.
|
325 | - Use external [@mapbox/link-to-location](https://github.com/mapbox/link-to-location) package, delete local version.
|
326 | - Put BrowserSync in `offline` mode.
|
327 | - Upgrade jsxtreme-markdown to get some bug fixes.
|
328 |
|
329 | ## 0.4.0
|
330 |
|
331 | - It begins.
|