Skip to content

Commit 3172c72

Browse files
author
Kent C. Dodds
committed
bunches of updates and stuff
1 parent 5ac721f commit 3172c72

25 files changed

+302
-205
lines changed

.babelrc

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
11
{
2-
"presets": [
3-
["env", {
4-
"targets": {
5-
"node": "4.5"
6-
}
7-
}]
8-
],
9-
"plugins": [
10-
"transform-class-properties",
11-
"transform-object-rest-spread"
12-
]
2+
"presets": ["./src/config/babelrc"]
133
}

.eslintrc

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
{
2-
"extends": [
3-
"kentcdodds",
4-
"kentcdodds/jest",
5-
"kentcdodds/prettier"
6-
],
2+
"extends": ["./src/config/eslintrc.js"],
73
"rules": {
84
// stuff I haven't gotten around to updating in my config
9-
"no-unused-vars": ["error", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^ignored" }],
105
"func-style": "off",
116
"no-process-exit": "off",
127
"import/no-dynamic-require": "off",
8+
"import/no-unassigned-import": "off",
139

1410
// prettier does this for us
1511
"max-len": "off",

babel.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('./dist/config/babelrc')

config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('./dist/config')

eslint.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('./dist/config/eslintrc')

jest.config.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
module.exports = require('./src/config/jest.config')
1+
const {jest: jestConfig} = require('./src/config')
2+
3+
module.exports = Object.assign(jestConfig, {
4+
coverageThreshold: null,
5+
coveragePathIgnorePatterns: jestConfig.coveragePathIgnorePatterns.concat(
6+
'/scripts/',
7+
),
8+
})

package.json

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,51 +12,51 @@
1212
"scripts": {
1313
"start": "nps",
1414
"test": "node src test",
15-
"precommit":
16-
"lint-staged && opt --in pre-commit --exec \"npm start validate\""
15+
"test:update": "node src test --updateSnapshot",
16+
"build": "node src build",
17+
"lint": "node src lint",
18+
"validate": "node src validate",
19+
"install": "node src install",
20+
"uninstall": "node src uninstall",
21+
"precommit": "node src precommit"
1722
},
18-
"files": ["dist"],
23+
"files": ["dist", "babel", "eslint", "config"],
1924
"keywords": [],
2025
"author": "Kent C. Dodds <[email protected]> (http://kentcdodds.com/)",
2126
"license": "MIT",
2227
"dependencies": {
2328
"all-contributors-cli": "^4.3.0",
24-
"babel-cli": "^6.24.1",
25-
"babel-preset-env": "^1.6.0",
29+
"arrify": "^1.0.1",
30+
"babel-cli": "^6.26.0",
2631
"babel-jest": "^20.0.3",
32+
"babel-plugin-external-helpers": "^6.22.0",
2733
"babel-plugin-transform-class-properties": "^6.24.1",
28-
"babel-plugin-transform-object-rest-spread": "^6.23.0",
34+
"babel-plugin-transform-inline-environment-variables": "^0.2.0",
35+
"babel-plugin-transform-object-rest-spread": "^6.26.0",
36+
"babel-plugin-transform-react-jsx": "^6.24.1",
37+
"babel-plugin-transform-react-remove-prop-types": "^0.4.8",
38+
"babel-preset-env": "^1.6.0",
39+
"babel-preset-react": "^6.24.1",
2940
"concurrently": "^3.5.0",
3041
"cross-spawn": "^5.1.0",
31-
"eslint-config-kentcdodds": "^12.4.1",
3242
"eslint": "^4.2.0",
43+
"eslint-config-kentcdodds": "^12.4.1",
44+
"eslint-config-prettier": "^2.4.0",
3345
"husky": "^0.14.3",
3446
"jest": "^20.0.4",
3547
"lint-staged": "^4.0.1",
36-
"lodash": "^4.17.4",
48+
"lodash.merge": "^4.6.0",
3749
"opt-cli": "^1.5.1",
3850
"prettier": "^1.6.1",
3951
"read-pkg-up": "^2.0.0",
52+
"resolve": "^1.4.0",
4053
"resolve-bin": "^0.4.0",
4154
"rimraf": "^2.6.1"
4255
},
4356
"devDependencies": {
4457
"nps": "^5.4.0",
4558
"nps-utils": "^1.2.0"
4659
},
47-
"lint-staged": {
48-
"*.+(js|json)": ["prettier --write", "git add"]
49-
},
50-
"prettier": {
51-
"printWidth": 80,
52-
"tabWidth": 2,
53-
"useTabs": false,
54-
"semi": false,
55-
"singleQuote": true,
56-
"trailingComma": "es5",
57-
"bracketSpacing": false,
58-
"jsxBraketSameLine": false
59-
},
6060
"repository": {
6161
"type": "git",
6262
"url": "https://github.com/kentcdodds/kcd-scripts.git"

src/config/babel-transform.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const babelJest = require('babel-jest')
2+
3+
module.exports = babelJest.createTransformer({
4+
presets: [require.resolve('./babelrc')],
5+
})

src/config/babelrc.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
const {ifAnyDep} = require('../utils')
2+
3+
const isTest = process.env.NODE_ENV === 'test'
4+
const isPreact = process.env.LIBRARY === 'preact'
5+
const isRollup = Boolean(JSON.parse(process.env.ROLLUP_BUILD || '"false"'))
6+
const isWebpack = Boolean(JSON.parse(process.env.WEBPACK_BUILD || '"false"'))
7+
const treeshake = isRollup || isWebpack
8+
9+
module.exports = {
10+
presets: [
11+
['env', treeshake ? {modules: false} : {}],
12+
ifAnyDep('react'),
13+
].filter(Boolean),
14+
plugins: [
15+
isRollup ? 'external-helpers' : null,
16+
// we're actually not using JSX at all, but I'm leaving this
17+
// in here just in case we ever do (this would be easy to miss).
18+
isPreact ? ['transform-react-jsx', {pragma: 'h'}] : null,
19+
isPreact
20+
? ['transform-react-remove-prop-types', {removeImport: true}]
21+
: null,
22+
isTest || isRollup ? 'transform-inline-environment-variables' : null,
23+
'transform-class-properties',
24+
'transform-object-rest-spread',
25+
].filter(Boolean),
26+
}

src/config/eslintrc.js

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
const {applyOverrides, ifDevDep} = require('../utils')
1+
const {ifAnyDep} = require('../utils')
22

3-
const config = applyOverrides({
4-
type: 'eslint',
5-
config: {
6-
extends: [
7-
'kentcdodds',
8-
ifDevDep('jest', 'kentcdodds/jest'),
9-
ifDevDep('webpack', 'kentcdodds/webpack'),
10-
ifDevDep('react', 'kentcdodds/jsx-a11y'),
11-
ifDevDep('react', 'kentcdodds/react'),
12-
ifDevDep('prettier', 'kentcdodds/prettier'),
13-
].filter(Boolean),
14-
rules: {
3+
module.exports = {
4+
extends: [
5+
'kentcdodds',
6+
ifAnyDep('jest', 'kentcdodds/jest'),
7+
ifAnyDep('webpack', 'kentcdodds/webpack'),
8+
ifAnyDep('react', 'kentcdodds/jsx-a11y'),
9+
ifAnyDep('react', 'kentcdodds/react'),
10+
'prettier',
11+
ifAnyDep('prettier', 'kentcdodds/prettier'),
12+
].filter(Boolean),
13+
rules: Object.assign(
14+
{
1515
// stuff I haven't gotten around to updating in my config
1616
'no-unused-vars': [
1717
'error',
@@ -21,21 +21,19 @@ const config = applyOverrides({
2121
'no-process-exit': 'off',
2222

2323
// prettier does this for us
24-
...ifDevDep(
25-
'prettier',
26-
{
27-
'max-len': 'off',
28-
semi: 'off',
29-
quotes: 'off',
30-
'comma-dangle': 'off',
31-
'no-console': 'off',
32-
indent: 'off',
33-
'babel/object-curly-spacing': 'off',
34-
},
35-
{}
36-
),
3724
},
38-
},
39-
})
40-
41-
module.exports = config
25+
ifAnyDep(
26+
'prettier',
27+
{
28+
'max-len': 'off',
29+
semi: 'off',
30+
quotes: 'off',
31+
'comma-dangle': 'off',
32+
'no-console': 'off',
33+
indent: 'off',
34+
'babel/object-curly-spacing': 'off',
35+
},
36+
{},
37+
),
38+
),
39+
}

0 commit comments

Comments
 (0)