Skip to content

Commit fa87363

Browse files
committed
Updates build, adds server tests
1 parent 0dd8012 commit fa87363

21 files changed

+2559
-2519
lines changed

.eslintignore

Lines changed: 0 additions & 5 deletions
This file was deleted.

.eslintrc

Lines changed: 0 additions & 61 deletions
This file was deleted.

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
node_modules
22
dist
33
coverage
4-
src/index.d.ts
5-
server/src/index.d.ts
64
*.log

.prettierignore

Lines changed: 0 additions & 3 deletions
This file was deleted.

.prettierrc

Lines changed: 0 additions & 6 deletions
This file was deleted.

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ cache:
66
- node_modules
77
notifications:
88
email: false
9-
node_js: '10'
9+
node_js: '12'
1010
install: yarn install
1111
script: yarn validate
1212
after_script: npx codecov@3

babel.config.js

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1 @@
1-
module.exports = (api) => {
2-
const module = api.env('module')
3-
const esm = api.env('esm')
4-
const umd = api.env('umd')
5-
const presetEnv = [
6-
'@lunde/es',
7-
{
8-
env: {
9-
modules: esm || module || umd ? false : 'commonjs',
10-
targets: module
11-
? {
12-
browsers: '> 2%',
13-
}
14-
: umd
15-
? {
16-
browsers:
17-
'> 0.5%, ie >= 10, safari >= 9, firefox >= 43, ios >= 8',
18-
}
19-
: esm
20-
? {
21-
node: '12',
22-
}
23-
: {
24-
node: '10',
25-
},
26-
},
27-
restSpread: false,
28-
devExpression: false,
29-
objectAssign: umd,
30-
closureElimination: false,
31-
},
32-
]
33-
34-
return {
35-
presets: [['@babel/preset-react', {useSpread: true}], presetEnv],
36-
plugins: ['optimize-react', 'annotate-pure-calls'],
37-
}
38-
}
1+
module.exports = require('lundle').babelConfig('test', {react: true})

jest.config.js

Lines changed: 0 additions & 21 deletions
This file was deleted.

lundle.config.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
global.document = {}
2+
3+
export const rollup = (config) => {
4+
if (config.output[0].format === 'umd') {
5+
config.external = ['@dash-ui/styles', 'react']
6+
config.output[0].globals = {
7+
'@dash-ui/styles': 'Dash',
8+
react: 'React',
9+
}
10+
}
11+
12+
return config
13+
}

package.json

Lines changed: 94 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"name": "@dash-ui/react",
3-
"version": "0.4.1",
3+
"version": "0.5.0",
44
"homepage": "https://github.com/dash-ui/react#readme",
55
"repository": "github:dash-ui/react",
66
"bugs": "https://github.com/dash-ui/react/issues",
7-
"license": "MIT",
87
"author": "Jared Lunde <[email protected]> (https://jaredLunde.com)",
8+
"license": "MIT",
99
"description": "React components and hooks for -ui",
1010
"keywords": [
1111
"react",
@@ -23,115 +23,137 @@
2323
],
2424
"main": "dist/main/index.js",
2525
"module": "dist/module/index.js",
26-
"umd:main": "dist/umd/dash-ui-react.min.js",
27-
"unpkg": "dist/umd/dash-ui-react.min.js",
26+
"unpkg": "dist/umd/dash-react.js",
2827
"source": "src/index.tsx",
29-
"types": "src/index.d.ts",
28+
"types": "types/index.d.ts",
29+
"files": [
30+
"/dist",
31+
"/src",
32+
"/types",
33+
"/server"
34+
],
3035
"exports": {
3136
".": {
3237
"browser": "./dist/module/index.js",
33-
"umd": "./dist/umd/dash-ui-react.min.js",
3438
"import": "./dist/esm/index.mjs",
3539
"require": "./dist/main/index.js",
36-
"default": "./dist/main/index.js",
40+
"umd": "./dist/umd/dash-react.js",
3741
"source": "./src/index.tsx",
38-
"types": "./src/index.d.ts"
42+
"types": "./types/index.d.ts",
43+
"default": "./dist/main/index.js"
3944
},
4045
"./server": {
4146
"browser": "./server/dist/module/index.js",
4247
"import": "./server/dist/esm/index.mjs",
4348
"require": "./server/dist/main/index.js",
44-
"default": "./server/dist/main/index.js",
45-
"source": "./server/src/index.ts",
46-
"types": "./server/src/index.d.ts"
49+
"source": "./server/src/index.tsx",
50+
"types": "./server/types/index.d.ts",
51+
"default": "./server/dist/main/index.js"
4752
},
4853
"./package.json": "./package.json",
4954
"./": "./"
5055
},
51-
"files": [
52-
"/src",
53-
"/dist",
54-
"/server/src",
55-
"/server/dist",
56-
"/server/package.json"
57-
],
5856
"sideEffects": false,
5957
"scripts": {
60-
"build": "npm run build-esm && npm run build-main && npm run build-module && npm run build-umd && npm run build-types",
61-
"build-esm": "npm run compile -- -d dist/esm --env-name esm --out-file-extension .mjs && npm run compile-server -- -d server/dist/esm --env-name esm --out-file-extension .mjs",
62-
"build-main": "npm run compile -- -d dist/main --env-name main && npm run compile-server -- -d server/dist/main --env-name main",
63-
"build-module": "npm run compile -- -d dist/module --env-name module && npm run compile-server -- -d server/dist/module --env-name module",
64-
"build-umd": "rollup -c",
65-
"build-types": "find src -name '*.d.ts' -exec rm {} \\; && find server/src -name '*.d.ts' -exec rm {} \\; && tsc -p tsconfig.json -d --emitDeclarationOnly",
66-
"compile": "babel src -x .ts,.tsx --ignore \"**/*.d.ts\",\"**/*.test.tsx\" --delete-dir-on-start",
67-
"compile-server": "babel server/src -x .ts,.tsx --ignore \"**/*.d.ts\",\"**/*.test.tsx\" --delete-dir-on-start",
68-
"check-types": "tsc --noEmit -p tsconfig.json",
69-
"format": "prettier --write \"**/*.{ts,js,jsx,md,yml,json,eslintrc,prettierrc}\"",
58+
"build": "lundle build",
59+
"check-types": "lundle check-types",
60+
"dev": "lundle build -f module,cjs -w",
61+
"format": "prettier --write \"{,!(node_modules|dist|coverage)/**/}*.{ts,tsx,js,jsx,md,yml,json}\"",
7062
"lint": "eslint . --ext .ts,.tsx",
7163
"prepublishOnly": "npm run lint && npm run test && npm run build && npm run format",
7264
"test": "jest",
73-
"validate": "npm run build && npm run check-types && npm run lint && npm run test -- --coverage"
65+
"validate": "lundle check-types && npm run lint && jest --coverage"
7466
},
7567
"husky": {
7668
"hooks": {
77-
"pre-commit": "npm run check-types && lint-staged"
69+
"pre-commit": "lundle check-types && lint-staged"
7870
}
7971
},
8072
"lint-staged": {
81-
"**/*.{ts,tsx,js}": [
73+
"**/*.{ts,tsx,js,jsx}": [
8274
"eslint",
8375
"prettier --write"
8476
],
85-
"**/*.{md,yml,json,eslintrc,prettierrc}": [
77+
"**/*.{md,yml,json}": [
8678
"prettier --write"
8779
]
8880
},
81+
"eslintConfig": {
82+
"extends": [
83+
"lunde"
84+
],
85+
"rules": {
86+
"import/no-extraneous-dependencies": [
87+
"error",
88+
{
89+
"peerDependencies": true
90+
}
91+
]
92+
}
93+
},
94+
"eslintIgnore": [
95+
"node_modules",
96+
"coverage",
97+
"dist",
98+
"test",
99+
"*.config.js",
100+
"*.d.ts"
101+
],
102+
"jest": {
103+
"moduleDirectories": [
104+
"node_modules",
105+
"src",
106+
"server/src",
107+
"test"
108+
],
109+
"testMatch": [
110+
"<rootDir>/{server/src,src}/**/?(*.)test.{tsx,ts}"
111+
],
112+
"collectCoverageFrom": [
113+
"**/src/**/*.{ts,tsx}"
114+
],
115+
"setupFilesAfterEnv": [
116+
"./test/setup.js"
117+
],
118+
"snapshotResolver": "./test/resolve-snapshot.js",
119+
"globals": {
120+
"__DEV__": true
121+
}
122+
},
123+
"prettier": {
124+
"semi": false,
125+
"singleQuote": true,
126+
"jsxSingleQuote": true,
127+
"bracketSpacing": false
128+
},
89129
"devDependencies": {
90-
"@babel/preset-react": "^7.8.3",
91-
"@dash-ui/styles": "^0.4.0",
92-
"@lunde/babel-preset-es": "latest",
93-
"@rollup/plugin-babel": "^5.0.0",
94-
"@rollup/plugin-commonjs": "^11.1.0",
95-
"@rollup/plugin-node-resolve": "^7.1.3",
96-
"@rollup/plugin-replace": "^2.2.1",
97-
"@testing-library/jest-dom": "^5.0.0",
98-
"@testing-library/react": "^9.4.0",
130+
"@dash-ui/styles": "^0.5.0",
131+
"@testing-library/jest-dom": "latest",
132+
"@testing-library/react": "latest",
99133
"@testing-library/react-hooks": "latest",
100-
"@types/jest": "^24.9.0",
101-
"@types/jsdom": "^12.2.4",
102-
"@types/react": "^16.9.17",
103-
"@types/react-dom": "^16.9.7",
104-
"@typescript-eslint/eslint-plugin": "^2.30.0",
105-
"@typescript-eslint/parser": "^2.30.0",
106-
"babel-plugin-annotate-pure-calls": "^0.4.0",
107-
"babel-plugin-optimize-react": "^0.0.4",
108-
"crc": "^3.8.0",
109-
"cross-env": "^7.0.2",
110-
"eslint": "^6.8.0",
111-
"eslint-import-resolver-jest": "latest",
112-
"eslint-plugin-jest": "^23.6.0",
113-
"eslint-plugin-react": "^7.18.0",
114-
"eslint-plugin-react-hooks": "^3.0.0",
115-
"husky": "^4.0.10",
116-
"jest": "^25.5.3",
117-
"lint-staged": "^9.5.0",
118-
"prettier": "^2.0.4",
119-
"react": "^16.13.1",
120-
"react-dom": "^16.13.1",
121-
"react-test-renderer": "^16.13.1",
122-
"rimraf": "^2.6.3",
123-
"rollup": "^1.27.3",
124-
"rollup-plugin-node-resolve": "^5.2.0",
125-
"rollup-plugin-terser": "^5.1.2",
126-
"ts-jest": "^24.3.0",
127-
"typescript": "^3.7.5"
134+
"@testing-library/user-event": "latest",
135+
"@types/jest": "latest",
136+
"@types/react": "latest",
137+
"@types/react-dom": "latest",
138+
"babel-jest": "latest",
139+
"eslint": "latest",
140+
"eslint-config-lunde": "latest",
141+
"husky": "latest",
142+
"jest": "latest",
143+
"lint-staged": "latest",
144+
"lundle": "^0.4.0",
145+
"prettier": "latest",
146+
"react": "latest",
147+
"react-dom": "latest",
148+
"react-test-renderer": "latest",
149+
"typescript": "latest"
150+
},
151+
"dependencies": {
152+
"@react-hook/passive-layout-effect": "^1.2.0"
128153
},
129154
"peerDependencies": {
130155
"@dash-ui/styles": ">=0.4.0",
131156
"react": ">=16.8",
132157
"react-dom": ">=16.8"
133-
},
134-
"dependencies": {
135-
"@react-hook/passive-layout-effect": "^1.0.3"
136158
}
137159
}

0 commit comments

Comments
 (0)