Skip to content

Commit b4016a6

Browse files
Merge pull request #1002 from Financial-Times/webpack-5
CPP-2230: upgrade to Webpack 5
2 parents 6bba7eb + 6bec4ab commit b4016a6

File tree

80 files changed

+12536
-21715
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+12536
-21715
lines changed

.circleci/config.yml

+74-93
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: 2.1
22

33
orbs:
4-
browser-tools: circleci/[email protected]
4+
node: circleci/[email protected]
55

66
executors:
77
node:
@@ -13,18 +13,16 @@ executors:
1313
docker:
1414
- image: cimg/node:20.18-browsers
1515
environment:
16-
NODE_OPTIONS: "--openssl-legacy-provider"
16+
NODE_OPTIONS: '--openssl-legacy-provider'
1717
node18:
1818
docker:
1919
- image: cimg/node:18.20-browsers
2020

2121
references:
22-
2322
#
2423
# Workspace
2524
#
26-
container_config_node:
27-
&container_config_node
25+
container_config_node: &container_config_node
2826
working_directory: ~/project/build
2927
parameters:
3028
executor:
@@ -34,84 +32,64 @@ references:
3432

3533
workspace_root: &workspace_root ~/project
3634

37-
attach_workspace:
38-
&attach_workspace
35+
attach_workspace: &attach_workspace
3936
attach_workspace:
4037
at: *workspace_root
4138

42-
# Cache creation
43-
#
44-
create_cache:
45-
&create_cache
46-
save_cache:
47-
key: cache-v1-{{ .Branch }}-{{ checksum "./package.json" }}
48-
paths:
49-
- ./node_modules/
50-
51-
# Cache restoration
52-
#
53-
restore_cache:
54-
&restore_cache
55-
restore_cache:
56-
keys:
57-
- cache-v1-{{ .Branch }}-{{ checksum "./package.json" }}
58-
5939
# Filters
6040
#
61-
filters_only_main:
62-
&filters_only_main
41+
filters_only_main: &filters_only_main
6342
branches:
6443
only:
6544
- main
6645

67-
filters_only_renovate_nori:
68-
&filters_only_renovate_nori
69-
branches:
70-
only: /(^renovate-.*|^nori\/.*)/
71-
72-
filters_ignore_tags_renovate_nori_build:
73-
&filters_ignore_tags_renovate_nori_build
74-
tags:
75-
ignore: /.*/
76-
branches:
77-
ignore: /(^renovate-.*|^nori\/.*|^gh-pages)/
78-
79-
filters_main_branch:
80-
&filters_main_branch
46+
filters_main_branch: &filters_main_branch
8147
branches:
8248
only:
8349
- main
8450

85-
filters_release_build:
86-
&filters_release_build
51+
filters_release_build: &filters_release_build
8752
tags:
8853
only:
8954
- /^v\d+\.\d+\.\d+$/
9055
branches:
9156
ignore: /.*/
9257

93-
filters_prerelease_build:
94-
&filters_prerelease_build
58+
filters_prerelease_build: &filters_prerelease_build
9559
tags:
9660
only:
9761
- /^v\d+\.\d+\.\d+(?:-\w+\.\d+)$/
9862
branches:
9963
ignore: /.*/
10064

10165
jobs:
102-
103-
build:
66+
checkout:
10467
<<: *container_config_node
10568
steps:
10669
- checkout
107-
- *restore_cache
108-
- run:
109-
name: Install project dependencies
110-
command: npm install
70+
- persist_to_workspace:
71+
root: *workspace_root
72+
paths:
73+
- build
74+
setup:
75+
<<: *container_config_node
76+
steps:
77+
- *attach_workspace
78+
- node/install-packages
79+
- persist_to_workspace:
80+
root: *workspace_root
81+
paths:
82+
- build
83+
build:
84+
<<: *container_config_node
85+
steps:
86+
- *attach_workspace
11187
- run:
11288
name: Run build
11389
command: npm run build
114-
- *create_cache
90+
- run:
91+
name: Run build in examples/
92+
command: npm run build:examples
11593
- persist_to_workspace:
11694
root: *workspace_root
11795
paths:
@@ -121,19 +99,18 @@ jobs:
12199
<<: *container_config_node
122100
steps:
123101
- *attach_workspace
124-
- browser-tools/install-chrome
102+
- run:
103+
name: Install Chrome
104+
command: npx puppeteer browsers install chrome
125105
- run:
126106
name: Check code style
127107
command: npm run prettier -- --list-different
128108
- run:
129109
name: Run package tests
130-
command: npm run test:ci -- --runInBand
110+
command: npm run test:ci
131111
- run:
132112
name: Run example app integration tests
133-
command: npm run test:examples
134-
- run:
135-
name: Run storybook
136-
command: npm run storybook:ci
113+
command: npm run test:examples-ci
137114

138115
publish:
139116
<<: *container_config_node
@@ -165,56 +142,26 @@ jobs:
165142
name: NPM publish
166143
command: npm publish --workspace=packages/ --access=public --tag=pre-release
167144

168-
deploy:
169-
<<: *container_config_node
170-
steps:
171-
- *attach_workspace
172-
- run:
173-
name: Deploy Storybook
174-
command: npm run deploy-storybook:ci
175-
176145
workflows:
177-
178146
version: 2
179147

180148
build-test:
181149
jobs:
182-
- build:
183-
filters:
184-
<<: *filters_ignore_tags_renovate_nori_build
185-
name: build-<< matrix.executor >>
186-
matrix:
187-
parameters:
188-
executor:
189-
- node
190-
- node20
191-
- node18
192-
- test:
150+
- checkout
151+
- setup:
152+
name: setup-<< matrix.executor >>
193153
requires:
194-
- build-<< matrix.executor >>
195-
name: test-<< matrix.executor >>
154+
- checkout
196155
matrix:
197156
parameters:
198157
executor:
199158
- node
200159
- node20
201160
- node18
202-
- deploy:
203-
filters:
204-
<<: *filters_only_main
205-
requires:
206-
- test-node
207-
208-
renovate-nori-build-test:
209-
jobs:
210-
- waiting-for-approval:
211-
type: approval
212-
filters:
213-
<<: *filters_only_renovate_nori
214161
- build:
215-
requires:
216-
- waiting-for-approval
217162
name: build-<< matrix.executor >>
163+
requires:
164+
- setup-<< matrix.executor >>
218165
matrix:
219166
parameters:
220167
executor:
@@ -234,10 +181,27 @@ workflows:
234181

235182
build-test-publish:
236183
jobs:
184+
- checkout:
185+
filters:
186+
<<: *filters_release_build
187+
- setup:
188+
filters:
189+
<<: *filters_release_build
190+
name: setup-<< matrix.executor >>
191+
requires:
192+
- checkout
193+
matrix:
194+
parameters:
195+
executor:
196+
- node
197+
- node20
198+
- node18
237199
- build:
238200
filters:
239201
<<: *filters_release_build
240202
name: build-<< matrix.executor >>
203+
requires:
204+
- setup-<< matrix.executor >>
241205
matrix:
242206
parameters:
243207
executor:
@@ -265,10 +229,27 @@ workflows:
265229

266230
build-test-prepublish:
267231
jobs:
232+
- checkout:
233+
filters:
234+
<<: *filters_prerelease_build
235+
- setup:
236+
filters:
237+
<<: *filters_prerelease_build
238+
name: setup-<< matrix.executor >>
239+
requires:
240+
- checkout
241+
matrix:
242+
parameters:
243+
executor:
244+
- node
245+
- node20
246+
- node18
268247
- build:
269248
filters:
270249
<<: *filters_prerelease_build
271250
name: build-<< matrix.executor >>
251+
requires:
252+
- setup-<< matrix.executor >>
272253
matrix:
273254
parameters:
274255
executor:

.eslintrc.js

-12
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,6 @@ module.exports = {
2323
'import/resolver': {
2424
node: {
2525
extensions: ['.js', '.jsx', '.ts', '.tsx', '.d.ts', '.mjs']
26-
},
27-
webpack: {
28-
// Because we configure Storybook in "full control" mode we have to manually extend a
29-
// configuration object. Rather than mock all that here I've chosen to copy the resolve
30-
// rules so that the two files do not need to know about one other and their structure.
31-
config: {
32-
resolve: {
33-
modules: ['node_modules'],
34-
descriptionFiles: ['package.json'],
35-
mainFiles: ['index', 'main']
36-
}
37-
}
3826
}
3927
}
4028
},

.storybook/.browserslistrc

-4
This file was deleted.

.storybook/.gitignore

-1
This file was deleted.

.storybook/components/OnReady.tsx

-41
This file was deleted.

.storybook/main.js

-12
This file was deleted.

.storybook/preview-head.html

-27
This file was deleted.

0 commit comments

Comments
 (0)