Skip to content

Commit 07e067c

Browse files
authoredDec 21, 2021
Merge pull request #1867 from system-ui/peer-deps
Move Emotion and MDX packages to peerDeps
2 parents 7d0e51f + 5a14694 commit 07e067c

File tree

31 files changed

+220
-76
lines changed

31 files changed

+220
-76
lines changed
 

‎.eslintrc.js

+15
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,23 @@ module.exports = {
2020
],
2121
'@typescript-eslint/no-redeclare': 'off',
2222

23+
// Ensure peerDependencies and dependencies are properly configured
24+
'import/no-extraneous-dependencies': 'error',
25+
2326
// TypeScript checks this
2427
'no-undef': 'off',
2528
'no-lone-blocks': 'off',
2629
},
30+
overrides: [
31+
{
32+
files: [
33+
'packages/**/test/**/*.{ts,tsx,js,jsx}',
34+
'packages/e2e/**/*.{ts,tsx}',
35+
],
36+
rules: {
37+
'import/no-extraneous-dependencies': 'off',
38+
'react/jsx-pascal-case': 'off',
39+
},
40+
},
41+
],
2742
}

‎.github/workflows/ci.yml

+3
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ jobs:
2525
install-command:
2626
yarn --ignore-optional --pure-lockfile --non-interactive
2727

28+
- name: Run linter
29+
run: yarn lint --quiet
30+
2831
- name: Run tests and collect coverage
2932
run: yarn test --coverage
3033

‎examples/codesandbox-starter/package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
{
22
"name": "theme-ui-starter",
3-
"private": "true",
4-
"version": "0.4.0-rc.0",
3+
"private": true,
4+
"version": "0.1.0",
55
"description": "A sandbox configured with Theme UI, including the `base` theme.",
66
"main": "index.html",
77
"scripts": {
88
"start": "parcel index.html --open",
99
"build": "parcel build index.html"
1010
},
1111
"dependencies": {
12-
"@emotion/react": "^11.1.1",
12+
"@emotion/react": "^11",
1313
"@mdx-js/react": "^1.6.22",
14-
"@theme-ui/presets": "^0.4.0-rc.0",
14+
"@theme-ui/presets": "latest",
1515
"react": "^16.14.0",
1616
"react-dom": "^16.14.0",
17-
"theme-ui": "^0.4.0-rc.0"
17+
"theme-ui": "latest"
1818
},
1919
"devDependencies": {
2020
"@babel/core": "^7.7.4",

‎examples/create-react-app/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"dependencies": {
66
"mdx.macro": "^0.2.8",
77
"react": "^16.14.0",
8-
"react-dom": "^16.14.0"
8+
"react-dom": "^16.14.0",
9+
"theme-ui": "latest"
910
},
1011
"scripts": {
1112
"start": "react-scripts start",

‎examples/custom-pragma/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
"gatsby-plugin-mdx": "^1.6.0",
1818
"react": "^16.14.0",
1919
"react-dom": "^16.14.0",
20-
"theme-ui": "^0.4.0-rc.0"
20+
"theme-ui": "latest"
2121
}
2222
}

‎examples/dark-mode/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
"gatsby-plugin-mdx": "^1.6.0",
1818
"react": "^16.14.0",
1919
"react-dom": "^16.14.0",
20-
"theme-ui": "^0.4.0-rc.0"
20+
"theme-ui": "latest"
2121
}
2222
}

‎examples/gatsby-plugin/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
"@mdx-js/react": "^1.6.22",
1616
"gatsby": "^2.6.3",
1717
"gatsby-plugin-mdx": "^1.6.0",
18-
"gatsby-plugin-theme-ui": "^0.4.0-rc.0",
18+
"gatsby-plugin-theme-ui": "latest",
1919
"react": "^16.14.0",
2020
"react-dom": "^16.14.0",
21-
"theme-ui": "^0.4.0-rc.0"
21+
"theme-ui": "latest"
2222
},
2323
"devDependencies": {
2424
"@testing-library/react": "^9.1.3",

‎examples/gatsby/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"gatsby-plugin-mdx": "^1.6.0",
1818
"react": "^16.14.0",
1919
"react-dom": "^16.14.0",
20-
"theme-ui": "^0.4.0-rc.0"
20+
"theme-ui": "latest"
2121
},
2222
"devDependencies": {
2323
"@types/react": "^16.9.55",

‎examples/next/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"typecheck": "tsc --noEmit"
1313
},
1414
"dependencies": {
15-
"@mdx-js/loader": "^1.6.16",
15+
"@mdx-js/loader": "^1.6.22",
1616
"@next/mdx": "^11.1.2",
1717
"next": "^11.1.3",
1818
"react": "^17.0.2",

‎examples/prism/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
33
"name": "prism-theme-ui-example",
4-
"version": "0.4.0-rc.0",
4+
"version": "1.0.0",
55
"main": "index.js",
66
"author": "Brent Jackson <jxnblk@gmail.com>",
77
"license": "MIT",
@@ -19,6 +19,6 @@
1919
"prismjs": "^1.16.0",
2020
"react": "^16.14.0",
2121
"react-dom": "^16.14.0",
22-
"theme-ui": "^0.4.0-rc.0"
22+
"theme-ui": "latest"
2323
}
2424
}

‎examples/typography/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"lodash.merge": "^4.6.1",
2020
"react": "^16.14.0",
2121
"react-dom": "^16.14.0",
22-
"theme-ui": "^0.4.0-rc.0",
22+
"theme-ui": "latest",
2323
"theme-ui-typography": "^0.1.7",
2424
"typography-theme-fairy-gates": "^0.16.19"
2525
}

‎package.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"dev:docs": "yarn workspace docs start",
88
"clean": "lerna run clean && rimraf packages/*/{dist,rts2_cache*}",
99
"format": "prettier --write \"**/*.{ts,js,json}\" \"**/*.md\" \"**/*.mdx\"",
10+
"lint": "eslint --ext .ts,.tsx,.js \"packages/**/*.{ts,tsx,js}\"",
1011
"test": "jest",
1112
"typecheck": "tsc --noEmit",
1213
"typecheck:tests": "tsc --noEmit -P ./tsconfig.test.json",
@@ -71,7 +72,10 @@
7172
"ts-jest": "^27.0.7",
7273
"ts-toolbelt": "^9.6.0",
7374
"typecov": "^0.2.3",
74-
"typescript": "^4.5.2"
75+
"typescript": "^4",
76+
"@mdx-js/react": "^1 || ^2",
77+
"@types/mdx-js__react": "^1 || ^2",
78+
"@emotion/react": "^11"
7579
},
7680
"husky": {
7781
"hooks": {

‎packages/color-modes/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
"access": "public"
1515
},
1616
"dependencies": {
17-
"@emotion/react": "^11.6.0",
1817
"@theme-ui/core": "0.12.0",
1918
"@theme-ui/css": "0.12.0",
2019
"deepmerge": "^4.2.2"
2120
},
2221
"peerDependencies": {
23-
"react": "^16 || ^17"
22+
"react": "^16 || ^17",
23+
"@emotion/react": "^11"
2424
},
2525
"devDependencies": {
2626
"react": "^17.0.1"

‎packages/color-modes/src/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
NestedScale,
2222
css,
2323
} from '@theme-ui/css'
24-
import { Global, Interpolation } from '@emotion/react'
24+
import { Global } from '@emotion/react'
2525

2626
import {
2727
toCustomProperties,

‎packages/components/README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
Primitive layout, typographic, and other components for use with Theme UI.
44

5-
**Note:** _This package is included in the main `theme-ui` package and a separate installation is not required._
5+
**Note:** _This package is included in the main `theme-ui` package and a
6+
separate installation is not required._
67

78
```sh
8-
npm i @theme-ui/components
9+
npm i @theme-ui/components @emotion/react @emotion/styled
910
```
1011

1112
https://theme-ui.com/components

‎packages/components/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77
"sideEffects": false,
88
"scripts": {},
99
"dependencies": {
10-
"@emotion/react": "^11.6.0",
11-
"@emotion/styled": "^11.6.0",
1210
"@styled-system/color": "^5.1.2",
1311
"@styled-system/should-forward-prop": "^5.1.2",
1412
"@styled-system/space": "^5.1.2",
1513
"@theme-ui/css": "0.12.0",
1614
"@types/styled-system": "^5.1.13"
1715
},
1816
"peerDependencies": {
19-
"react": "^16 || ^17"
17+
"react": "^16 || ^17",
18+
"@emotion/react": "^11",
19+
"@emotion/styled": "^11"
2020
},
2121
"publishConfig": {
2222
"access": "public"

‎packages/core/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
`@theme-ui/core` provides minimal React support for lightweight usage.
66

77
```sh
8-
npm i @theme-ui/core
8+
npm i @theme-ui/core @emotion/react
99
```
1010

1111
## Usage

‎packages/core/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
"access": "public"
1515
},
1616
"dependencies": {
17-
"@emotion/react": "^11.6.0",
1817
"@theme-ui/css": "0.12.0",
1918
"@theme-ui/parse-props": "0.12.0",
2019
"deepmerge": "^4.2.2"
2120
},
2221
"peerDependencies": {
23-
"react": "^16 || ^17"
22+
"react": "^16 || ^17",
23+
"@emotion/react": "^11"
2424
},
2525
"preconstruct": {
2626
"entrypoints": [

‎packages/css/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
you write style objects with responsive, theme-aware ergonomic shortcuts.
77

88
```sh
9-
npm i @theme-ui/css
9+
npm i @theme-ui/css @emotion/react
1010
```
1111

1212
## Usage

‎packages/css/package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
"access": "public"
1414
},
1515
"dependencies": {
16-
"@emotion/react": "^11.6.0",
1716
"csstype": "^3.0.10"
1817
},
18+
"peerDependencies": {
19+
"@emotion/react": "^11"
20+
},
1921
"preconstruct": {
2022
"entrypoints": [
2123
"index.ts",

‎packages/css/test/errors-and-inference.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ describe('Theme', () => {
3535
})
3636
`).toFail(
3737
new RegExp(
38-
`Error snippet\.tsx \\(\\d+,\\d+\\): Type '{ color: "blue"; whiteSpace: "banana"; }'` +
38+
`Error snippet\\.tsx \\(\\d+,\\d+\\): Type '{ color: "blue"; whiteSpace: "banana"; }'` +
3939
` is not assignable to type '[\\s\\S]+'.\\n\\s+` +
4040
`Types of property 'whiteSpace' are incompatible.\\n\\s+` +
4141
`Type '"banana"' is not assignable to type [\\s\\S]+`

‎packages/css/test/index.ts

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { css, NestedScale, NestedScaleDict, Theme, ThemeUIExtendedCSSProperties } from '../src'
1+
import { css, NestedScaleDict, Theme } from '../src'
22

33
const theme: Theme = {
44
colors: {
@@ -735,17 +735,21 @@ test('omits empty values', () => {
735735
})
736736

737737
test('borderTopWidth accepts number', () => {
738-
expect(css({
739-
borderTopWidth: 7,
740-
})(theme)).toEqual({
738+
expect(
739+
css({
740+
borderTopWidth: 7,
741+
})(theme)
742+
).toEqual({
741743
borderTopWidth: 7,
742744
})
743745

744-
expect(css({
745-
borderTopWidth: 1,
746-
})({
747-
borderWidths: ['10px', '20px']
748-
})).toEqual({
746+
expect(
747+
css({
748+
borderTopWidth: 1,
749+
})({
750+
borderWidths: ['10px', '20px'],
751+
})
752+
).toEqual({
749753
borderTopWidth: '20px',
750754
})
751755
})

‎packages/gatsby-plugin-theme-ui/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"license": "MIT",
77
"peerDependencies": {
88
"gatsby": "^2.0.0 || ^3.0.0 || ^4.0.0",
9-
"theme-ui": "^0.11"
9+
"theme-ui": "^0.11",
10+
"react": "^16 || ^17"
1011
},
1112
"keywords": [
1213
"gatsby",

‎packages/mdx/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
"sideEffects": false,
88
"scripts": {},
99
"dependencies": {
10-
"@emotion/react": "^11.6.0",
11-
"@emotion/styled": "^11.6.0",
12-
"@mdx-js/react": "^1.6.22",
1310
"@theme-ui/core": "0.12.0",
1411
"@theme-ui/css": "0.12.0"
1512
},
1613
"devDependencies": {
1714
"react": "^17.0.1"
1815
},
1916
"peerDependencies": {
20-
"react": "^16 || ^17"
17+
"react": "^16 || ^17",
18+
"@emotion/react": "^11",
19+
"@emotion/styled": "^11",
20+
"@mdx-js/react": "^1 || ^2"
2121
},
2222
"author": "Brent Jackson",
2323
"repository": "system-ui/theme-ui",

‎packages/parse-props/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
"access": "public"
1919
},
2020
"dependencies": {
21-
"@emotion/react": "^11.6.0",
2221
"@theme-ui/css": "0.12.0"
2322
},
2423
"peerDependencies": {
25-
"react": "^16 || ^17"
24+
"react": "^16 || ^17",
25+
"@emotion/react": "^11"
2626
},
2727
"gitHead": "621199460fa3bdb0100748441e62517b7529b8c8"
2828
}

‎packages/sidenav/package.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,19 @@
1010
"publishConfig": {
1111
"access": "public"
1212
},
13+
"dependencies": {
14+
"deepmerge": "^4.0.0",
15+
"theme-ui": "0.10.0"
16+
},
1317
"peerDependencies": {
14-
"react": "^16 || ^17"
18+
"react": "^16 || ^17",
19+
"@emotion/react": "^11",
20+
"@mdx-js/react": "^1 || ^2",
21+
"@types/mdx-js__react": "^1 || ^2"
1522
},
1623
"devDependencies": {
1724
"react": "^17.0.1"
1825
},
19-
"dependencies": {
20-
"@emotion/react": "^11.6.0",
21-
"@mdx-js/react": "^1.6.22",
22-
"@types/mdx-js__react": "^1.5.5",
23-
"deepmerge": "^4.2.2",
24-
"theme-ui": "0.12.0"
25-
},
2626
"keywords": [
2727
"theme-ui",
2828
"mdx",

0 commit comments

Comments
 (0)
Please sign in to comment.