UNPKG

14.1 kBMarkdownView Raw
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.