-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.json
140 lines (140 loc) · 5.92 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{
"name": "edenspiekermann-storybook-starter",
"version": "0.0.1",
"description": "Boilerplate repo for React-based component libraries",
"main": "dist/components/index.js",
"scripts": {
"storybook": "start-storybook -p 6006",
"test": "jest",
"coverage": "jest --coverage",
"update-snapshots": "jest --updateSnapshot",
"lint": "eslint components --fix",
"lint:styles": "stylelint \"**/*.scss\" --fix",
"prebuild:docs": "yarn lint && yarn lint:styles && yarn test",
"build:docs": "yarn build:storybook && yarn build:sassdoc",
"build:storybook": "build-storybook -o build",
"build:sassdoc": "sassdoc sass/abstracts",
"prebuild": "rimraf dist/components",
"build": "babel components --out-dir dist/components --copy-files --ignore *.stories.js,*.test.js --source-maps",
"postinstall": "yarn build"
},
"files": [
"components",
"sass"
],
"repository": {
"type": "git",
"url": "https://github.com/edenspiekermann/edenspiekermann-storybook-starter.git"
},
"license": "ISC",
"homepage": "https://github.com/edenspiekermann/edenspiekermann-storybook-starter#readme",
"bugs": {
"url": "https://github.com/edenspiekermann/edenspiekermann-storybook-starter/issues"
},
"engines": {
"node": ">=8.6.0",
"yarn": ">=1.2.1"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js,jsx}": [
"eslint --fix",
"git add",
"jest --findRelatedTests"
],
"*.scss": [
"stylelint --fix",
"git add"
]
},
"dependencies": {
"@babel/cli": "^7.0.0",
"clsx": "^1.0.2",
"prop-types": "^15.6.2",
"react": "^16.8.1",
"react-dom": "^16.8.1",
"rimraf": "^2.6.3"
},
"devDependencies": {
"@babel/core": "^7.2.2",
"@babel/plugin-proposal-class-properties": "^7.3.0",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/preset-env": "^7.3.1",
"@babel/preset-react": "^7.0.0",
"@storybook/addon-actions": "^4.1.11",
"@storybook/addon-backgrounds": "^4.1.11",
"@storybook/addon-links": "^4.1.11",
"@storybook/addon-options": "^4.1.11",
"@storybook/addon-storyshots": "^4.1.11",
"@storybook/react": "^4.1.11",
"autoprefixer": "^9.4.7",
"babel-loader": "^8.0.5",
"babel-plugin-require-context-hook": "^1.0.0",
"css-loader": "^2.1.0",
"enzyme": "^3.8.0",
"enzyme-adapter-react-16": "^1.9.1",
"enzyme-to-json": "^3.3.5",
"eslint": "^5.13.0",
"eslint-config-edenspiekermann": "^0.1.2",
"husky": "^1.3.1",
"import-glob-loader": "^1.1.0",
"jest": "^24.1.0",
"lint-staged": "^8.1.3",
"node-sass": "^4.11.0",
"postcss-loader": "^3.0.0",
"react-test-renderer": "^16.8.1",
"sass-loader": "^7.1.0",
"sassdoc": "^2.5.1",
"storybook-readme": "^4.0.5",
"style-loader": "^0.23.1",
"stylelint": "^9.10.1",
"stylelint-config-sass-guidelines": "^5.3.0"
},
"dependencies/comments": {
"@babel/cli": "we transpile our components with Babel to make them compatible with browsers and the node.js require mechanism",
"clsx": "assign conditional and multiple classnames to react components",
"prop-types": "check type safety of react component props",
"react": "you know React :)",
"react-dom": "rendering React on the client",
"rimraf": "we use this to clean the dist folder before transpiling our modules"
},
"devDependencies/comments": {
"@babel/core": "babel is used to transpile our components to show them in the browser in Storybook",
"@babel/plugin-proposal-class-properties": "enables class property syntax",
"@babel/plugin-syntax-dynamic-import": "enables dynamic import statements",
"@babel/preset-env": "babel preset to add compatibility with newest ECMAScript versions",
"@babel/preset-react": "babel preset to add compatibility with JSX",
"@storybook/addon-actions": "storybook addon to show events caused by components, e.g. button clicks",
"@storybook/addon-backgrounds": "storybook addon to display components on different background colors",
"@storybook/addon-links": "storybook addon to link component documentation pages together",
"@storybook/addon-options": "storybook addon to customize the generated docs page",
"@storybook/addon-storyshots": "storybook addon to gerate jest snapshots of all component variants",
"@storybook/react": "the actual storybook tool",
"autoprefixer": "adds vendor prefixes to css to improve browser compatibility (uses '.browserslistrc' file as reference)",
"babel-loader": "enables babel support in webpack used by storybook",
"babel-plugin-require-context-hook": "adds support for require.context() outside of webpack in the storyshots plugin",
"css-loader": "loads .css files with Webpack",
"enzyme": "library for testing react components",
"enzyme-adapter-react-16": "makes enzyme compatible with React 16",
"enzyme-to-json": "allows to create Jest snapshots from enzyme wrappers",
"eslint": "lints and partially fixes JavaScript code",
"eslint-config-edenspiekermann": "default linter config used at Edenspiekermann",
"husky": "adds git hooks to npm scripts (like precommit)",
"import-glob-loader": "enables importing of complete folders in scss via Webpack",
"jest": "our test runner",
"lint-staged": "can run tasks (linting and unit tests) on staged files",
"node-sass": "compiles scss to css",
"postcss-loader": "we need postcss to use the autoprefixer",
"react-test-renderer": "used for testing rendered markup from components",
"sass-loader": "load scss file via Webpack and send it to node-sass",
"sassdoc": "generate documentation from annotated scss files",
"storybook-readme": "storybook addon to markdown documentation for components",
"style-loader": "inject css as style-tag into the page",
"stylelint": "lints and partially fixes (S)CSS code",
"stylelint-config-sass-guidelines": "the linter preset we use for (S)CSS"
}
}