1 | # Changelog
|
2 | All notable changes to this project will be documented in this file.
|
3 |
|
4 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
5 | and from `v0.7.0`, this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
6 |
|
7 | ## [Unreleased]
|
8 |
|
9 | ## Added
|
10 | * Added `asset-server-only` flag to `sewing-kit start`.
|
11 |
|
12 | ## [0.45.4] - 2018-05-24
|
13 | ## Changed
|
14 | * `sewing-kit test` now uses 5 worker threads in `shopify-build` [[#663](https://github.com/Shopify/sewing-kit/pull/663)]
|
15 |
|
16 | ## [0.45.3] - 2018-05-17
|
17 | ## Added
|
18 | * If `package.json#sideEffects` is configured to eliminate dead code, production client builds will fail when modules are unexpectedly removed (exclusions can be added via `FailOnUnexpectedModuleShakingPlugin#exclude`)
|
19 |
|
20 | ## [0.45.2] - 2018-05-14
|
21 | ### Added
|
22 | * Retry production GraphQL schema download if it fails the first time [[#657](https://github.com/Shopify/sewing-kit/pull/657)]
|
23 |
|
24 | ## [0.45.1] - 2018-05-10
|
25 | ### Changed
|
26 | - TypeScript type/interface imports are now suppressed in development mode [[#655](https://github.com/Shopify/sewing-kit/pull/655)]
|
27 |
|
28 | ## [0.45.0] - 2018-05-10
|
29 | ### Changed
|
30 | - Breaking change - Upgraded to `webpack@4.8.1`, and latest `webpack-dev-server`, `webpack-hot-middleware`, etc [[#632](https://github.com/Shopify/sewing-kit/pull/632)]
|
31 | - [`split-chunks-plugin`](https://webpack.js.org/plugins/split-chunks-plugin/) provides much better code splitting
|
32 | - [`mini-css-extra-plugin`](https://github.com/webpack-contrib/mini-css-extract-plugin) allows CSS to be split by chunk (`extract-text-webpack-plugin` was removed)
|
33 | - Breaking change - Many dependency updates (including `node-sass`, `stylelint`, `react-hot-loader`) [[#650](https://github.com/Shopify/sewing-kit/pull/650)]
|
34 | - `graphql-loader` results are now cached [[#652](https://github.com/Shopify/sewing-kit/pull/652)]
|
35 | - `ParallelUglifyPlugin` is always used for production client builds [[#648](https://github.com/Shopify/sewing-kit/pull/648)]
|
36 | - Note: the above `webpack@4` upgrade obsoletes this change
|
37 |
|
38 | ### Removed
|
39 | - Removed `parallelUglify` experiment toggle [[#648](https://github.com/Shopify/sewing-kit/pull/648)]
|
40 | - `Happypack` now leaves a thread free for general processing [[#649](https://github.com/Shopify/sewing-kit/commit/51c3998a9afe742cfd156ad9a4e785dcb0649937)]
|
41 |
|
42 | ### Migration suggestions
|
43 | - 🎩 your app in development and production modes
|
44 | - Verify that gzipped size of your production assets has not increased
|
45 | - Verify that your development startup / incremental compile speed has not regressed
|
46 |
|
47 | ## [0.44.0] - 2018-05-08
|
48 | ### Removed
|
49 | - Removed `fastProductionBuild` experiment [[#643](https://github.com/Shopify/sewing-kit/pull/643)]
|
50 |
|
51 | ## [0.43.0] - 2018-05-08
|
52 | ### Changed
|
53 | - Breaking change - updated [`eslint-plugin-shopify`](https://github.com/Shopify/eslint-plugin-shopify) to version `^22.0.0`
|
54 |
|
55 | ### Migration suggestions
|
56 | - Upgrade to `typescript` version `2.7.2` or later
|
57 |
|
58 | ## [0.42.0] - 2018-05-06
|
59 | ### Added
|
60 | - `sewing-kit build` now accepts `--no-graphql` [[#638](https://github.com/Shopify/sewing-kit/pull/638)]
|
61 |
|
62 | ### Changed
|
63 | - Module concatenation is always enabled for production client builds [[#634](https://github.com/Shopify/sewing-kit/pull/634)]
|
64 |
|
65 | ### Fixed
|
66 | - Only display total build duration in client + server builds [[#639](https://github.com/Shopify/sewing-kit/pull/639)]
|
67 |
|
68 | ## [0.41.1] - 2018-05-02
|
69 | ### Fixed
|
70 | - `AssetMetadataPlugin` now creates the destination directory before writing the manifest, if necessary [[#625](https://github.com/Shopify/sewing-kit/pull/625)]
|
71 |
|
72 | ## [0.41.0] - 2018-05-01
|
73 | ### Changed
|
74 | - Breaking change - `sewing-kit-manifest.json#assets` now contains `public`-relative paths [[#624](https://github.com/Shopify/sewing-kit/pull/624)]
|
75 | - Breaking change - `AssetMetadataPlugin` no longer accepts a `path` option; manifests are always written to the build directory [[#624](https://github.com/Shopify/sewing-kit/pull/624)]
|
76 |
|
77 | ### Fixed
|
78 | - Make `sewing-kit-inspect` executable [[#620](https://github.com/Shopify/sewing-kit/pull/620)]
|
79 |
|
80 | ## [0.40.0] - 2018-04-29
|
81 | ### Added
|
82 | - Cache `.scss` compilation [[#613](https://github.com/Shopify/sewing-kit/pull/613)]
|
83 |
|
84 | ### Changed
|
85 | - Do not type check TypeScript in development mode [[#612](https://github.com/Shopify/sewing-kit/pull/612)]
|
86 | - `sewing-kit dev` now transpiles using `ts-loader`, and caches transpilation results [[#614](https://github.com/Shopify/sewing-kit/pull/614)]
|
87 |
|
88 | ### Migration suggestions
|
89 | - Use `sewing-kit type-check` to check for type violations previously reported by `sewing-kit dev`
|
90 |
|
91 | ## [0.30.1] - 2018-04-16
|
92 | ### Added
|
93 | - Log schema download times in CI [[#605](https://github.com/Shopify/sewing-kit/pull/605)]
|
94 |
|
95 | ## [0.30.0] - 2018-04-15
|
96 | ### Added
|
97 | - Better timing information for `sewing-kit dev` and `sewing-kit build` [[#600](https://github.com/Shopify/sewing-kit/pull/600)]
|
98 |
|
99 | ### Changed
|
100 | - Breaking change - `fastStartup` is usable in test/production environments [[#596](https://github.com/Shopify/sewing-kit/pull/596)]
|
101 | - Breaking change - `sewing-kit build --report` no longer generates a `stats.json` file [[#604](https://github.com/Shopify/sewing-kit/pull/604)]
|
102 | - Do not limit jest's `maxWorker` count in BuildKite CI containers [[#602](https://github.com/Shopify/sewing-kit/pull/602/files)]
|
103 |
|
104 | ### Fixed
|
105 | * `sewing-kit lint` no longer fails if Prettier is not configured [[#481](https://github.com/Shopify/sewing-kit/issues/481)]
|
106 | * React now generates readable stacktraces for errors thrown by dynamically imported chunks [[#598](https://github.com/Shopify/sewing-kit/pull/598)]
|
107 |
|
108 | ### Removed
|
109 | * Breaking change - removed `sewing-kit check`'s `--build` option [[#599](https://github.com/Shopify/sewing-kit/pull/599
|
110 | )]
|
111 |
|
112 | ### Migration suggestions
|
113 | - If `sewing-kit.config.js` enables `fastStartup`, use `env` conditions to limit its inclusion
|
114 | - Rule of thumb: disable in `development` if HMR is essential to the development experience
|
115 | - If a project depends on a generated `build/client/bundle-analysis/stats.json` file, use `plugins.webpack` to set `BundleAnalyzerPlugin.generateStatsFile` to `true`
|
116 |
|
117 | ## [0.29.17] - 2018-04-10
|
118 | ### Fixed
|
119 | * `sewing-kit lint` now outputs parser exceptions, if necessary [[#588](https://github.com/Shopify/sewing-kit/pull/588)]
|
120 | * `codeframe` formatter is now used for lint output [[#566](https://github.com/Shopify/sewing-kit/pull/566)]
|
121 |
|
122 | ## [0.29.16] - 2018-04-08
|
123 | ### Changed
|
124 | * `sewing-kit dev --log-react-updates` to debug excess React rerenders [[#547](https://github.com/Shopify/sewing-kit/pull/547)]
|
125 | * `sewing-kit lint` no longer outputs stacktraces when stylelint fails [[#584](https://github.com/Shopify/sewing-kit/pull/584)]
|
126 |
|
127 | ## [0.29.15] - 2018-03-25
|
128 | ### Added
|
129 | - `playground --force` overwrites all existing playground files [[#577](https://github.com/Shopify/sewing-kit/pull/577)]
|
130 |
|
131 | ### Changed
|
132 | - `playground` only writes files that don't exist yet [[#577](https://github.com/Shopify/sewing-kit/pull/577)]
|
133 | - `build --reports` should not throw memory exceptions in large projects [[#575](https://github.com/Shopify/sewing-kit/pull/575)]
|
134 |
|
135 | ## [0.29.14] - 2018-03-12
|
136 | ### Added
|
137 | - Allow debug without pausing on startup (via `sewing-kit-inspect`) [[#563](https://github.com/Shopify/sewing-kit/pull/563)]
|
138 |
|
139 | ### Changed
|
140 | - Upgrade to `eslint-plugin-shopify@19.0.1` (fixes `shopify/jsx-no-hardcoded-content` rule) [[#562](https://github.com/Shopify/sewing-kit/pull/562)]
|
141 |
|
142 | ### Migration suggestions
|
143 | - Enable `shopify/jsx-no-hardcoded-content` in your eslint config
|
144 |
|
145 | ## [0.29.13] - 2018-03-06
|
146 | ### Changed
|
147 | * `sewing-kit test --app-only` now includes tests in the `client` directory [[#552](https://github.com/Shopify/sewing-kit/pull/552)]
|
148 |
|
149 | ## [0.29.12] - 2018-02-21
|
150 | ### Added
|
151 | - Aliases for `sewing-kit` (`sk`) and `sewing-kit-debug` (`skd`) [[#539](https://github.com/Shopify/sewing-kit/pull/539)]
|
152 |
|
153 | ## [0.29.11] - 2018-02-20
|
154 | ### Changed
|
155 | * Update reference to webpack-parallel-uglify-plugin, preventing `npm install` from breaking [[#536](https://github.com/Shopify/sewing-kit/pull/536)]
|
156 | * Upgrade devDependencies [[#533](https://github.com/Shopify/sewing-kit/pull/533)]
|
157 |
|
158 | ## [0.29.10] - 2018-02-19
|
159 | ### Added
|
160 | * `lint --show-expected` option that displays the expected output for files failing Prettier checks [[#535](https://github.com/Shopify/sewing-kit/pull/535)]
|
161 |
|
162 | ## [0.29.9] - 2018-02-16
|
163 | ### Changed
|
164 | * Upgrade to eslint-plugin-shopify@19.0.0 [[#532](https://github.com/Shopify/sewing-kit/pull/532)]
|
165 |
|
166 | ## [0.29.7] / [0.29.8] - 2018-02-16
|
167 | ### Changed
|
168 | * Support for code coverage when running `sewing-kit test` [[#531](https://github.com/Shopify/sewing-kit/pull/531)]
|
169 |
|
170 | ## [0.29.6] - 2018-02-15
|
171 | ### Changed
|
172 | * Support for `csv` and `ico` files is now enabled by default with Jest transform and Webpack `file-loader` [[#508](https://github.com/Shopify/sewing-kit/pull/508)]
|
173 |
|
174 | ## [0.29.5] - 2018-02-14
|
175 | ### Changed
|
176 | * Problematic packages are now stripped from the `plugins.vendor` list [[#528](https://github.com/Shopify/sewing-kit/pull/528)]
|
177 |
|
178 | ## [0.29.4] - 2018-02-13
|
179 | ### Fixed
|
180 | * Vendor DLL is now served from the correct directory [[#527](https://github.com/Shopify/sewing-kit/pull/527)]
|
181 |
|
182 | ## [0.29.3] - 2018-02-12
|
183 | ### Changed
|
184 | * Vendor DLL is now cached and reused between server starts [[#526](https://github.com/Shopify/sewing-kit/pull/526)]
|
185 |
|
186 | ## [0.29.2] - 2018-02-11
|
187 | ### Changed
|
188 | * `sewing-kit test` now uses 3 Jest workers (previously 2) [[#524](https://github.com/Shopify/sewing-kit/pull/524)]
|
189 |
|
190 | ## [0.29.1] - 2018-02-08
|
191 | ### Fixed
|
192 | * `sewing-kit start` now displays logs [[#520](https://github.com/Shopify/sewing-kit/pull/520)]
|
193 |
|
194 | ## [0.29.0] - 2018-02-07
|
195 | ### Changed
|
196 | * `--source-maps` CLI option now acceps `accurate`, `fast`, `off` values [[#513](https://github.com/Shopify/sewing-kit/pull/513), [#515](https://github.com/Shopify/sewing-kit/pull/515)]
|
197 |
|
198 | ### Fixed
|
199 | * Stop `shopify/web` performing concurrent HMR refreshes [[#514](https://github.com/Shopify/sewing-kit/pull/514)]
|
200 |
|
201 | ### Migration suggestions
|
202 | * Search for `source-maps` references and:
|
203 | * Replace `--source-maps` with `--source-maps accurate`
|
204 | * Replace `--no-source-maps` wtih `--source-maps fast`
|
205 |
|
206 | ## [0.28.1] - 2018-01-28
|
207 | ### Added
|
208 | * "Hang tight" view now displays a tip about how to access sewing-kit logs [[#505](https://github.com/Shopify/sewing-kit/pull/505)]
|
209 |
|
210 | ### Fixed
|
211 | * Fixed invalid `strip-ansi` call from version `0.28.0` [[#504](https://github.com/Shopify/sewing-kit/pull/504)]
|
212 |
|
213 | ## [0.28.0] - 2018-01-28
|
214 | ### Added
|
215 | * "Hang tight" view now displays progress messages [[#501](https://github.com/Shopify/sewing-kit/pull/501)]
|
216 | * "Hang tight" view now displays error dumps [[#501](https://github.com/Shopify/sewing-kit/pull/501)]
|
217 | * "Hang tight" view has less gender bias [[#502](https://github.com/Shopify/sewing-kit/pull/502)]
|
218 | * "Hang tight" view now refreshes the page on build completion [[#503](https://github.com/Shopify/sewing-kit/pull/503)]
|
219 |
|
220 | ## [0.27.1] - 2018-01-24
|
221 | ### Fixed
|
222 | * Allow cross-origin requests for vendor-dll [[#496](https://github.com/Shopify/sewing-kit/pull/496)]
|
223 |
|
224 | ## [0.27.0] - 2018-01-21
|
225 | ### Added
|
226 | * Breaking change - `asset.json`/`sewing-kit-manifest.json` now include asset integrity hashes (sha256, base64 encoded)
|
227 | Before
|
228 | ```json
|
229 | {
|
230 | "entrypoints": {
|
231 | "foo": {
|
232 | "js": ["foo.js"],
|
233 | }
|
234 | }
|
235 | }
|
236 | ```
|
237 |
|
238 | After
|
239 | ```json
|
240 | {
|
241 | "entrypoints": {
|
242 | "foo": {
|
243 | "js": [{
|
244 | "path": "foo.js",
|
245 | "integrity": "4cd86c4a2c06dceff7d5ef1c381b1de1a8da9e8d36d51647dae249470a781f99.js"
|
246 | }],
|
247 | }
|
248 | }
|
249 | }
|
250 | ```
|
251 |
|
252 | ### Fixed
|
253 | * Node only - `sewing-kit start` now starts up an assets server [[#492](https://github.com/Shopify/sewing-kit/pull/492)]
|
254 |
|
255 | ### Migration Suggestions
|
256 | * Rails projects - upgrade to [`sewing_kit@0.27.0`](https://github.com/Shopify/sewing_kit/blob/master/CHANGELOG.md#0270---22-01-2018)
|
257 | * Node projects - adjust `asset.json` entrypoint consumers to account for plain path strings becoming objects with `path`/`integrity` properties
|
258 |
|
259 | ## [0.26.0] - 2018-01-14
|
260 | ### Changed
|
261 | * Breaking change: Rollup's default emitted filepath is now `dist/index.js` to match the name of the default input file.
|
262 | * Upgraded to `eslint-plugin-shopify@19.0.0-beta.4`
|
263 | * Upgraded to `prettier@1.9.2`
|
264 |
|
265 | ### Fixed
|
266 | * Consumers no longer need to provide rollup plugins since they are now included as regular dependencies (instead of dev dependencies)
|
267 |
|
268 | ### Migration Suggestions
|
269 | * Update `eslintConfig` to include: `plugins: ["shopify/jest"]`
|
270 | * Update `.prettierrc` to include: `arrowParens: "always"`
|
271 | * For Polaris projects, update `eslintConfig` to include: `plugins: ["shopify/polaris"]`
|
272 | * Consider adding new Shopify eslint rules:
|
273 | * [`shopify/jsx-no-complex-expressions`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/jsx-no-complex-expressions.md)
|
274 | * [`shopify/jsx-no-hardcoded-content`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/jsx-no-hardcoded-content.md)
|
275 | * [`shopify/react-initialize-state`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/react-initialize-state.md)
|
276 | * [`shopify/react-type-state`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/docs/rules/react-type-state.md)
|
277 |
|
278 | ## [0.25.0] - 2018-01-12
|
279 | ### Fixed
|
280 | * `dev --no-hot` mode now builds vendor DLLs [[#487](https://github.com/Shopify/sewing-kit/pull/487)]
|
281 |
|
282 | ### Changed
|
283 | * Add svgs to prettierignore list on init command [[#484](https://github.com/Shopify/sewing-kit/pull/484)]
|
284 | * Use eslint cache to improve ESLint speed for code and GraphQL files [[#485](https://github.com/Shopify/sewing-kit/pull/485)]
|
285 |
|
286 | ## [0.24.0] - 2018-01-11
|
287 | ### Added
|
288 | * Libraries can be bundled with rollup by including `plugins.rollup` in their config
|
289 | ### Changed
|
290 | * Omit confusing stacktraces for lint errors [[https://github.com/Shopify/sewing-kit/pull/482](#482)]
|
291 |
|
292 | ## [0.23.0] - 2018-01-09
|
293 | ### Fixed
|
294 | * Vendor DLL changes will be picked up without a hard browser refresh [[https://github.com/Shopify/sewing-kit/pull/477](#477)]
|
295 |
|
296 | ### Removed
|
297 | * Breaking change: removed `sewing-kit test`'s `--build` option [[https://github.com/Shopify/sewing-kit/pull/478](#478)]
|
298 |
|
299 | ### Migration Suggestions
|
300 | * If your project depended on `sewing-kit test --build`, please ping #web-foundations for tips on writing isolated server tests
|
301 |
|
302 | ## [0.22.3] - 2018-01-05
|
303 | ### Changed
|
304 | * Fix eslint error for ruby projects on CircleCI, adding `vendor/bundle` to ignores [[#475](https://github.com/Shopify/sewing-kit/pull/475)]
|
305 |
|
306 | ## [0.22.2] - 2018-01-05
|
307 | ### Changed
|
308 | * Fix lint error for ruby projects on CircleCI, adding `vendor/bundle` to stylelint ignores [[#474](https://github.com/Shopify/sewing-kit/pull/474)]
|
309 |
|
310 | ## [0.22.1] - 2018-01-04
|
311 | ### Added
|
312 | * Support `test` mode builds [[#445](https://github.com/Shopify/sewing-kit/pull/445)]
|
313 |
|
314 | ## [0.22.0] - 2017-12-18
|
315 | ### Added
|
316 | * Allow graphql schema to be read from a local file [[#427](https://github.com/Shopify/sewing-kit/pull/427)]
|
317 |
|
318 | ### Changed
|
319 | * Bump `eslint-plugin-shopify` to [`18.3.0`](https://github.com/Shopify/eslint-plugin-shopify/blob/master/CHANGELOG.md#1830---2017-12-18) (shopify/no-debugger) [[464](https://github.com/Shopify/sewing-kit/pull/464/files)]
|
320 |
|
321 | ## [0.21.0] - 2017-12-11
|
322 | * Allow compilation of a server bundle under the `railsWithNodeServer` experiment. By default Rails projects do not compile a server bundle. [[#444](https://github.com/Shopify/sewing-kit/pull/444)]
|
323 |
|
324 | ## [0.20.0] - 2017-12-06
|
325 |
|
326 | ### Added
|
327 | * Formatting support for `.ts` and `.tsx` files. Please see the Typescript formatting setup [docs](https://github.com/Shopify/sewing-kit/blob/master/docs/commands/format.md#setup) for more details. [[#440](https://github.com/Shopify/sewing-kit/pull/440)]
|
328 | * An `init` command to create config files for common tools. Includes `--prettierignore` flag to create a preconfigured .prettierignore file. [[#417](https://github.com/Shopify/sewing-kit/pull/417)]
|
329 | ```
|
330 | yarn run sewing-kit init --prettierignore
|
331 | ```
|
332 |
|
333 | ### Removed
|
334 | * Linting via `tslint` has been removed in favor of linting typescript via Shopify's [typescript](https://github.com/Shopify/eslint-plugin-shopify/blob/master/lib/config/typescript.js) or [typescript-react](https://github.com/Shopify/eslint-plugin-shopify/blob/master/lib/config/typescript-react.js) eslint configs. `tslint.json` can be removed from consuming projects. [[#440](https://github.com/Shopify/sewing-kit/pull/440)]
|
335 | ```
|
336 | {
|
337 | "extends": [
|
338 | "plugin:shopify/typescript-react"
|
339 | ]
|
340 | }
|
341 | ```
|
342 |
|
343 | ## [0.19.1] - 2017-11-23
|
344 | ### Added
|
345 | * Added support to selectively include Polaris globals. See [[#423](https://github.com/Shopify/sewing-kit/pull/423)]
|
346 |
|
347 | ## [0.19.0] - 2017-11-22
|
348 | * Added `format` support for `scss`/`css` files. See [here](https://github.com/Shopify/sewing-kit/blob/master/docs/commands/format.md#setup) for more details. [[#364](https://github.com/Shopify/sewing-kit/pull/364)]
|
349 |
|
350 | ### Changed
|
351 | * Improve warmup devServer dev experience. [[#420](https://github.com/Shopify/sewing-kit/pull/420)]
|
352 | * Upgraded node-sass from v4.6.0 to v4.7.2 [[#416](https://github.com/Shopify/sewing-kit/pull/416)]
|
353 | * Dependency updates [[#412](https://github.com/Shopify/sewing-kit/pull/412)]
|
354 |
|
355 | ## [0.18.0] - 2017-11-16
|
356 | ### Added
|
357 | * A server is now immediately bound when running `sewing-kit dev`, and will hand off to your actual development server when it is fully compiled. You can customize the port and IP of the temporary server with the new `devServer` plugin. [[#390](https://github.com/Shopify/sewing-kit/pull/390)]
|
358 |
|
359 | ### Changed
|
360 | * `react-hot-loader` is enabled only for React projects [[#392](https://github.com/Shopify/sewing-kit/pull/392)]
|
361 | * `.jsx` files no longer throw exceptions on JSX elements [[#408](https://github.com/Shopify/sewing-kit/pull/408)]
|
362 | * Dependency updates [[#391](https://github.com/Shopify/sewing-kit/pull/391)]
|
363 | * New eslint rules (see [updates between 17.2 - 18.0](https://github.com/Shopify/eslint-plugin-shopify/blob/master/CHANGELOG.md#1800---2017-10-31))
|
364 | * A working `react-hot-loader` is now provided
|
365 |
|
366 | ### Migration Suggestions
|
367 | * If your project uses a custom `react-hot-loader` version, it should be removed
|
368 | * `yarn remove react-hot-loader`
|
369 |
|
370 | ## [0.17.1] - 2017-11-09
|
371 | ### Changed
|
372 | * `plugin.jest` now accepts a callback https://github.com/Shopify/sewing-kit/pull/329
|
373 |
|
374 | ### Migration Suggestions
|
375 | * grep for `plugin.jest` calls, and replace the old hash parameter with a callback that overrides the default config's values
|
376 | * Property names are aligned with Jest's config names
|
377 | * e.g., `setupRun` => `setupFiles`, `setupTest` => `setupTestFrameworkScriptFile`
|
378 | * `npm rebuild` fixes `bindings`/`node-sass` errors
|
379 |
|
380 | ## [0.17.0] - 2017-11-08
|
381 | ### Added
|
382 | * Added `railsWithNodeServer` experiment to enable bundling of a server target inside of a Rails project.[[#378](https://github.com/Shopify/sewing-kit/pull/378)]
|
383 | * Added `format` support for `graphql` and `json` files. [[#377](https://github.com/Shopify/sewing-kit/pull/377)]
|
384 |
|
385 | ### Changed
|
386 | * Improved nuke command [[#389](https://github.com/Shopify/sewing-kit/pull/389)]:
|
387 | * Make it run in dev mode such that it does not fail in a project that has production dependencies
|
388 | * Cleans out the correct assets folder in the appropriate places
|
389 | * Upgrade node-sass to 4.6.0 [[#381](https://github.com/Shopify/sewing-kit/pull/381)]
|
390 | * Lint will now fail if `.json` or `.graphql`/`.gql` is not formatted [[#377](https://github.com/Shopify/sewing-kit/pull/377)]
|
391 | * Polaris is now correctly treated as an external for server bundles, so it always references the correct class names for the environment and will resolve all its dependencies natively [[#223](https://github.com/Shopify/sewing-kit/pull/223)]
|
392 | * Improved startup speed by delaying the loading of many modules [[#338](https://github.com/Shopify/sewing-kit/pull/388)]
|
393 | * Breaking change: manifests now contain `assets` and `entrypoints` keys [[#387](https://github.com/Shopify/sewing-kit/pull/387)]
|
394 | * `assets` contains the chunk=>js/css mappings that were previously at root level
|
395 |
|
396 | ### Migration Suggestions
|
397 | * Any code reading from `assets.json`/`sewing-kit-manifest.json` should now dig into the `assets` map
|
398 | * `sewing_kit` apps should remove explicit `sewing_kit_script_tag`/`sewing_kit_link_tag` calls to output `runtime`, `vendor`, etc
|
399 |
|
400 | ## [0.16.1] - 2017-10-27
|
401 | ### Added
|
402 | * Added `format` command to format JS files. [[#357](https://github.com/Shopify/sewing-kit/pull/357)]
|
403 |
|
404 | ### Fixed
|
405 | - Uglify cache is not erroneously invalidated during builds [[#368](https://github.com/Shopify/sewing-kit/pull/368)]
|
406 |
|
407 | ## [0.16.0] - 2017-10-25
|
408 | ### Fixed
|
409 | - Breaking change: builds now raise exceptions on compiler warnings [[#363](https://github.com/Shopify/sewing-kit/pull/363/files)]
|
410 |
|
411 | ## [0.15.0] - 2017-10-25
|
412 | ### Fixed
|
413 | - Pinned to `webpack@3.5.3` to work around hard-source errors in later versions [[#360](https://github.com/Shopify/sewing-kit/pull/360)]
|
414 |
|
415 | ## [0.14.4] - 2017-10-22
|
416 | - Move Jest's cache to sewing-kit's cache directory [[#350](https://github.com/Shopify/sewing-kit/pull/350)]
|
417 |
|
418 | ## [0.14.3] - 2017-10-21
|
419 | ### Updated
|
420 | - CI now uses 2 jest worker threads [[#349](https://github.com/Shopify/sewing-kit/pull/349)]
|
421 |
|
422 | ## [0.14.2] - 2017-10-16
|
423 | ### Updated
|
424 | - Use a `stylelint` version that's compatible with `stylelint-config-shopify`'s requirements [[#342](https://github.com/Shopify/sewing-kit/pull/342)]
|
425 |
|
426 | ## [0.14.1] - 2017-10-16
|
427 | ### Added
|
428 | - Parallel/cacheable minification via [parallel-webpack-uglify-plugin](https://github.com/gdborton/webpack-parallel-uglify-plugin) [[#341](https://github.com/Shopify/sewing-kit/pull/341)]
|
429 |
|
430 | ### Migration Suggestions
|
431 | - Turn on the `parallelUglify` experiment
|
432 |
|
433 | ## [0.14.0] - 2017-10-15
|
434 | ### Fixed
|
435 | - `lint` now builds GraphQL type definitions before running script linters [[#340](https://github.com/Shopify/sewing-kit/pull/340)]
|
436 | - `lint` now ignores `.scss` files in `node_modules` [[#338](https://github.com/Shopify/sewing-kit/pull/338)]
|
437 | - GraphQL tests no longer add 6 minutes to CircleCI runs [[#339](https://github.com/Shopify/sewing-kit/pull/339)]
|
438 |
|
439 | ### Updated
|
440 | - Breaking change: `stylelint`/`stylelint-config-shopify` version bumps
|
441 |
|
442 | ### Removed
|
443 | - `conciseModuleNames` experiment [[#331](https://github.com/Shopify/sewing-kit/pull/331)]
|
444 |
|
445 | ### Migration Suggestions
|
446 | - Remove `stylelint` and `stylelint-config-shopify` from `package.json` (`dependencies`/`devDependencies`)
|
447 |
|
448 | ## [0.13.0] - 2017-10-12
|
449 | ### Added
|
450 | - `conciseModuleNames` experiment to reduce bulk from long-term caching [[#326](https://github.com/Shopify/sewing-kit/pull/326)]
|
451 | - `moduleConcatenation` experiment to make bundles smaller using [ModuleConcatenationPlugin](https://webpack.js.org/plugins/module-concatenation-plugin/) [(https://github.com/Shopify/sewing-kit/pull/328)]
|
452 | - Breaking change: `productionChunks` experiment to enable/disable long-term caching plugins [[#330](https://github.com/Shopify/sewing-kit/pull/330)]
|
453 |
|
454 | ### Changed
|
455 | - Breaking change: Long-term caching naming is enabled for all projects (a side-effect of [#330](https://github.com/Shopify/sewing-kit/pull/330))
|
456 |
|
457 | ## [0.12.8] - 2017-10-11
|
458 | ### Added
|
459 | - Suppress auto-import of Polaris CSS globals with `plugins.sass({autoImportPolaris: false})` [[#307](https://github.com/Shopify/sewing-kit/pull/307)]
|
460 | - Toggle [`lodash-webpack-plugin`](https://github.com/lodash/lodash-webpack-plugin]) on/off via `plugins.experiments` [[#309](https://github.com/Shopify/sewing-kit/pull/309)]
|
461 | - Defaults to `false`
|
462 | - `sewing-kit test` now updates Jest snapshots if `--update-snapshot` is an argument [[#318](https://github.com/Shopify/sewing-kit/pull/318)]
|
463 |
|
464 | ### Changed
|
465 | - Enable `.ts`/`.tsx` compilation if `typescript` is a development dependency [[#308](https://github.com/Shopify/sewing-kit/pull/308)]
|
466 |
|
467 | ## [0.12.7] - 2017-10-05
|
468 | ### Added
|
469 | - Automatic `postcss` config for projects that don't have a `postcss.config.js` file [[#296](https://github.com/Shopify/sewing-kit/pull/296)]
|
470 |
|
471 | ### Changed
|
472 | - More README details [[#256](https://github.com/Shopify/sewing-kit/pull/256)]
|
473 |
|
474 | ### Fixed
|
475 | - Fix server debugging for node@8 [[#301](https://github.com/Shopify/sewing-kit/pull/301)]
|
476 |
|
477 | ## [0.12.6] - 2017-10-02
|
478 | ### Changed
|
479 | - Use `babel-preset-env` even in projects that use `sprockets-commoner` [[#284](https://github.com/Shopify/sewing-kit/pull/284)]
|
480 |
|
481 | ### Fixed
|
482 | - Fixed an issue where adding a custom webpack resolver for `csv` files broke jest. [[#294](https://github.com/Shopify/sewing-kit/pull/294)]
|
483 |
|
484 | ## [0.12.5] - 2017-09-19
|
485 | ### Added
|
486 | - You can now pass a `url` option to the Jest config plugin in order to set the root URL for your tests (reflected in `window.location`) [[#278](https://github.com/Shopify/sewing-kit/pull/278)]
|
487 | * In development mode, requesting a `vendor`/`js` path will return a link to a local vendor DLL [[#281](https://github.com/Shopify/sewing-kit/pull/281)]
|
488 |
|
489 | ### Fixed
|
490 | - Fixed an issue where imports not beginning in `tests` were mapped to the tests directory [[#278](https://github.com/Shopify/sewing-kit/pull/278)]
|
491 |
|
492 | ### Changed
|
493 | - You no longer need to include a `.babelrc` at the root of your project for tests to work correctly [[#278](https://github.com/Shopify/sewing-kit/pull/278)]
|
494 | - Jest and its typings have been added as a dependency, so projects do not need to manually install them [[#278](https://github.com/Shopify/sewing-kit/pull/278)]
|
495 |
|
496 | ## [0.12.4] - 2017-09-18
|
497 | ### Added
|
498 | - `sewing-kit playground` spins up a hot-reloading playground [[#255](https://github.com/Shopify/sewing-kit/pull/255)]
|
499 |
|
500 | ### Fixed
|
501 | - `.scss` linter now skips all `node_modules` folders
|
502 | - Vendor DLL libraries are no longer duplicated in other development bundles [[#279](https://github.com/Shopify/sewing-kit/pull/279)]
|
503 |
|
504 |
|
505 | ## [0.12.3] - 2017-09-13
|
506 | ### Added
|
507 | - `sewing-kit lint` now ignores JavaScript files generated by Rails (`tmp`, `public`) [[#267](https://github.com/Shopify/sewing-kit/pull/267)]
|
508 | - The new `railgun.yml` file is used for the dev server hostname [[#275](https://github.com/Shopify/sewing-kit/pull/275)]
|
509 |
|
510 | ## [0.12.2] - 2017-09-07
|
511 | ### Fixed
|
512 | - Embedded app production builds no longer attempt to access non-existent esnext files [[#266](https://github.com/Shopify/sewing-kit/pull/266)]
|
513 |
|
514 | ### Added
|
515 | - Optimize lodash builds using babel-plugin-lodash & lodash-webpack-plugin [[#257](https://github.com/Shopify/sewing-kit/pull/257)]
|
516 |
|
517 | ## [0.12.1] - 2017-09-06
|
518 | ### Added
|
519 | - Vendor bundle hash is no longer changed by dynamic imports [[#228](https://github.com/Shopify/sewing-kit/pull/228)]
|
520 |
|
521 | ### Changed
|
522 | - Real world development/production defaults for `publicPath` in Rails projects [[#258](https://github.com/Shopify/sewing-kit/pull/258)]
|
523 | - `packages` tests are now included in `--app-only` runs [[#251](https://github.com/Shopify/sewing-kit/pull/251)]
|
524 |
|
525 | ## [0.12.0] - 2017-08-30
|
526 | ### Added
|
527 | - CSS minification for production assets [[#236](https://github.com/Shopify/sewing-kit/pull/236)]
|
528 | - Add offline GraphQL schema [[#239](https://github.com/Shopify/sewing-kit/pull/239)]
|
529 | - Vendor caching support in production using `CommonsChunkPlugin` [[#248](https://github.com/Shopify/sewing-kit/pull/248)]
|
530 | - Creates a `vendor` and `runtime` chunk
|
531 | - Supports consistent vendor caching when app modules are added
|
532 | - Supports consistent vendor caching when new entries are added
|
533 |
|
534 | ## [0.11.1] - 2017-08-23
|
535 | ### Added
|
536 | - `sewing-kit test` now accepts a path pattern parameter that filters out non-matching tests from execution [[#222](https://github.com/Shopify/sewing-kit/pull/222)]
|
537 | - e.g., `sewing-kit test Card` will run only tests with `Card` in their file path
|
538 | - TypeScript errors now use pretty formatting [[#224](https://github.com/Shopify/sewing-kit/pull/224)]
|
539 |
|
540 | ## [0.11.0] - 2017-08-18
|
541 | ### Changed
|
542 | - `fastProductionBuild` now enables `hard-source-plugin` in production builds [[#214](https://github.com/Shopify/sewing-kit/pull/214)]
|
543 | - `.svg` files are now processed by [Shopify's icon-loader](https://github.com/Shopify/images/blob/3e92d7960c2bf6b9bdea1e96652b99885d0eca9f/icon-loader.js) [[#202](https://github.com/Shopify/sewing-kit/pull/202)]
|
544 | - This replaces `white` fills with `currentColor`, and exports the svg's body as an importable JS module
|
545 | - A wrapper component is required to display the stringified SVG (a la [Polaris' `Icon` UI component](https://github.com/Shopify/polaris/blob/fb244772173a91c307492e89f515d40363fb7a61/src/components/Icon/Icon.tsx#L115))
|
546 | - App tests with GraphQL types no longer depend on a full build [[#216](https://github.com/Shopify/sewing-kit/pull/216)]
|
547 |
|
548 | ## [0.10.1] - 2017-08-12
|
549 | ### Changed
|
550 | - `env.isCI` returns true when `ENV['CI'] == '1'` [[#203](https://github.com/Shopify/sewing-kit/pull/203)]
|
551 |
|
552 | ## [0.10.0] - 2017-08-11
|
553 | ### Changed
|
554 | - Updated webpack@3 (just a version bump; no new plugin integration, yet) [[#187](https://github.com/Shopify/sewing-kit/pull/187)]
|
555 | - Rails projects should build faster. Cacheable build resources are now stores in a directory that buildkite shares between all container builds. [[#198](https://github.com/Shopify/sewing-kit/pull/198)]
|
556 |
|
557 | ### Fixed
|
558 | - When using `fastProductionBuild`, CSS asset hashes match their content hash again (disabled `cheap-source-maps`) [[#199](https://github.com/Shopify/sewing-kit/pull/199)]
|
559 |
|
560 | ## [0.9.0] - 2017-08-10
|
561 | ### Changed
|
562 | - Uses `@shopify/polaris@1.3.1` [[#164](https://github.com/Shopify/sewing-kit/pull/164)]
|
563 | - `typescript` is no longer a mandatory dependency for consumers [[#164](https://github.com/Shopify/sewing-kit/pull/164)]
|
564 |
|
565 | ## [0.8.0] - 2017-08-09
|
566 | ### Changed
|
567 | - Uses `@shopify/polaris@1.2.1`
|
568 | - Uses `typescript@2.3.3` (this version allows destructuring of potentially undefined arguments in `.d.ts` files)
|
569 | - `sewing-kit.config.js` can now define custom paths (via `plugins.paths`)
|
570 |
|
571 | ## [0.7.0] - 2017-08-03
|
572 | ### Added
|
573 | - `graphql-typescript-definitions` now runs in watch mode [[#171](https://github.com/Shopify/sewing-kit/pull/171)]
|
574 | - End to end test for Polaris development builds [[#178](https://github.com/Shopify/sewing-kit/pull/178)]
|
575 | - `fastProductionBuild` experiment [[#178](https://github.com/Shopify/sewing-kit/pull/178), [#184](https://github.com/Shopify/sewing-kit/pull/184)]
|
576 | - Allows production builds to use a precompiled version of Polaris with fully namespaced CSS classes
|
577 | - Turns off typeschecking
|
578 | - Uses `check-source-maps` for faster compilation
|
579 | - End to end test for more consistent chunk names [[#175](https://github.com/Shopify/sewing-kit/pull/175)]
|
580 |
|
581 |
|
582 | ### Fixed
|
583 | - GraphQL lint now lints mutations [[#183](https://github.com/Shopify/sewing-kit/pull/183)]
|
584 | - GraphQL no longer outputs meaningless pages of stack traces on error [[#183](https://github.com/Shopify/sewing-kit/pull/183)]
|
585 |
|
586 | ### Removed
|
587 | - Redundant static asset middleware route in development mode [[#170](https://github.com/Shopify/sewing-kit/pull/170)]
|
588 |
|
589 | [Unreleased]: https://github.com/Shopify/sewing-kit/compare/v0.45.4...HEAD
|
590 | [0.45.4]: https://github.com/Shopify/sewing-kit/compare/v0.45.3...v0.45.4
|
591 | [0.45.3]: https://github.com/Shopify/sewing-kit/compare/v0.45.2...v0.45.3
|
592 | [0.45.2]: https://github.com/Shopify/sewing-kit/compare/v0.45.1...v0.45.2
|
593 | [0.45.1]: https://github.com/Shopify/sewing-kit/compare/v0.45.0...v0.45.1
|
594 | [0.45.0]: https://github.com/Shopify/sewing-kit/compare/v0.44.0...v0.45.0
|
595 | [0.44.0]: https://github.com/Shopify/sewing-kit/compare/v0.43.0...v0.44.0
|
596 | [0.43.0]: https://github.com/Shopify/sewing-kit/compare/v0.42.0...v0.43.0
|
597 | [0.42.0]: https://github.com/Shopify/sewing-kit/compare/v0.41.1...v0.42.0
|
598 | [0.41.1]: https://github.com/Shopify/sewing-kit/compare/v0.41.0...v0.41.1
|
599 | [0.41.0]: https://github.com/Shopify/sewing-kit/compare/v0.40.0...v0.41.0
|
600 | [0.40.0]: https://github.com/Shopify/sewing-kit/compare/v0.30.1...v0.40.0
|
601 | [0.30.1]: https://github.com/Shopify/sewing-kit/compare/v0.30.0...v0.30.1
|
602 | [0.30.0]: https://github.com/Shopify/sewing-kit/compare/v0.29.17...v0.30.0
|
603 | [0.29.17]: https://github.com/Shopify/sewing-kit/compare/v0.29.16...v0.29.17
|
604 | [0.29.16]: https://github.com/Shopify/sewing-kit/compare/v0.29.15...v0.29.16
|
605 | [0.29.15]: https://github.com/Shopify/sewing-kit/compare/v0.29.14...v0.29.15
|
606 | [0.29.14]: https://github.com/Shopify/sewing-kit/compare/v0.29.13...v0.29.14
|
607 | [0.29.13]: https://github.com/Shopify/sewing-kit/compare/v0.29.12...v0.29.13
|
608 | [0.29.12]: https://github.com/Shopify/sewing-kit/compare/v0.29.11...v0.29.12
|
609 | [0.29.11]: https://github.com/Shopify/sewing-kit/compare/v0.29.10...v0.29.11
|
610 | [0.29.10]: https://github.com/Shopify/sewing-kit/compare/v0.29.9...v0.29.10
|
611 | [0.29.9]: https://github.com/Shopify/sewing-kit/compare/v0.29.8...v0.29.9
|
612 | [0.29.8]: https://github.com/Shopify/sewing-kit/compare/v0.29.7...v0.29.8
|
613 | [0.29.7]: https://github.com/Shopify/sewing-kit/compare/v0.29.6...v0.29.7
|
614 | [0.29.6]: https://github.com/Shopify/sewing-kit/compare/v0.29.5...v0.29.6
|
615 | [0.29.5]: https://github.com/Shopify/sewing-kit/compare/v0.29.3...v0.29.5
|
616 | [0.29.4]: https://github.com/Shopify/sewing-kit/compare/v0.29.3...v0.29.4
|
617 | [0.29.3]: https://github.com/Shopify/sewing-kit/compare/v0.29.2...v0.29.3
|
618 | [0.29.2]: https://github.com/Shopify/sewing-kit/compare/v0.29.1...v0.29.2
|
619 | [0.29.1]: https://github.com/Shopify/sewing-kit/compare/v0.29.0...v0.29.1
|
620 | [0.29.0]: https://github.com/Shopify/sewing-kit/compare/v0.28.1...v0.29.0
|
621 | [0.28.1]: https://github.com/Shopify/sewing-kit/compare/v0.28.0...v0.28.1
|
622 | [0.28.0]: https://github.com/Shopify/sewing-kit/compare/v0.27.1...v0.28.0
|
623 | [0.27.1]: https://github.com/Shopify/sewing-kit/compare/v0.27.0...v0.27.1
|
624 | [0.27.0]: https://github.com/Shopify/sewing-kit/compare/v0.26.0...v0.27.0
|
625 | [0.26.0]: https://github.com/Shopify/sewing-kit/compare/v0.25.0...v0.26.0
|
626 | [0.25.0]: https://github.com/Shopify/sewing-kit/compare/v0.24.0...v0.25.0
|
627 | [0.24.0]: https://github.com/Shopify/sewing-kit/compare/v0.23.0...v0.24.0
|
628 | [0.23.0]: https://github.com/Shopify/sewing-kit/compare/v0.22.3...v0.23.0
|
629 | [0.22.3]: https://github.com/Shopify/sewing-kit/compare/v0.22.2...v0.22.3
|
630 | [0.22.2]: https://github.com/Shopify/sewing-kit/compare/v0.22.1...v0.22.2
|
631 | [0.22.1]: https://github.com/Shopify/sewing-kit/compare/v0.22.0...v0.22.1
|
632 | [0.22.0]: https://github.com/Shopify/sewing-kit/compare/v0.21.0...v0.22.0
|
633 | [0.21.0]: https://github.com/Shopify/sewing-kit/compare/v0.20.0...v0.21.0
|
634 | [0.20.0]: https://github.com/Shopify/sewing-kit/compare/v0.19.1...v0.20.0
|
635 | [0.19.1]: https://github.com/Shopify/sewing-kit/compare/v0.19.0...v0.19.1
|
636 | [0.19.0]: https://github.com/Shopify/sewing-kit/compare/v0.18.0...v0.19.0
|
637 | [0.18.0]: https://github.com/Shopify/sewing-kit/compare/v0.17.1...v0.18.0
|
638 | [0.17.1]: https://github.com/Shopify/sewing-kit/compare/v0.17.0...v0.17.1
|
639 | [0.17.0]: https://github.com/Shopify/sewing-kit/compare/v0.16.1...v0.17.0
|
640 | [0.16.1]: https://github.com/Shopify/sewing-kit/compare/v0.16.0...v0.16.1
|
641 | [0.16.0]: https://github.com/Shopify/sewing-kit/compare/v0.15.0...v0.16.0
|
642 | [0.15.0]: https://github.com/Shopify/sewing-kit/compare/v0.14.4...v0.15.0
|
643 | [0.14.4]: https://github.com/Shopify/sewing-kit/compare/v0.14.3...v0.14.4
|
644 | [0.14.3]: https://github.com/Shopify/sewing-kit/compare/v0.14.2...v0.14.3
|
645 | [0.14.2]: https://github.com/Shopify/sewing-kit/compare/v0.14.1...v0.14.2
|
646 | [0.14.1]: https://github.com/Shopify/sewing-kit/compare/v0.14.0...v0.14.1
|
647 | [0.14.0]: https://github.com/Shopify/sewing-kit/compare/v0.13.0...v0.14.0
|
648 | [0.13.0]: https://github.com/Shopify/sewing-kit/compare/v0.12.8...v0.13.0
|
649 | [0.12.8]: https://github.com/Shopify/sewing-kit/compare/v0.12.7...v0.12.8
|
650 | [0.12.7]: https://github.com/Shopify/sewing-kit/compare/v0.12.6...v0.12.7
|
651 | [0.12.6]: https://github.com/Shopify/sewing-kit/compare/v0.12.5...v0.12.6
|
652 | [0.12.5]: https://github.com/Shopify/sewing-kit/compare/v0.12.4...v0.12.5
|
653 | [0.12.4]: https://github.com/Shopify/sewing-kit/compare/v0.12.3...v0.12.4
|