diff --git a/.gitignore b/.gitignore index bbfd7e0..190c5d7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,9 @@ node_modules coverage .cache -dist +packages/core/dist/** +!packages/core/dist/index.js +packages/utils/dist/** +!packages/utils/dist/index.js +packages/dom/dist/** +!packages/dom/dist/index.js diff --git a/package.json b/package.json index 7167086..f49622a 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ }, "devDependencies": { "cross-env": "^7.0.3", + "esbuild": "^0.8.46", "eslint-plugin-prettier": "^3.3.1", "husky": "^4.3.7", "lint-staged": "^10.5.3", diff --git a/packages/core/dist/index.js b/packages/core/dist/index.js new file mode 100644 index 0000000..19001df --- /dev/null +++ b/packages/core/dist/index.js @@ -0,0 +1,7 @@ +"use strict" + +if (process.env.NODE_ENV === "production") { + module.exports = require("./core.cjs.production.min.js") +} else { + module.exports = require("./core.cjs.development.js") +} diff --git a/packages/core/package.json b/packages/core/package.json index 55cadf0..4ee1f91 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,5 +1,5 @@ { - "version": "0.6.4", + "version": "0.6.5", "repository": { "type": "git", "url": "git+https://github.com/re-rxjs/react-rxjs.git" @@ -14,7 +14,11 @@ ], "scripts": { "start": "tsdx watch", - "build": "tsdx build", + "build": "yarn build:ts && yarn build:esm && yarn build:cjs:dev && yarn build:cjs:prod", + "build:esm": "esbuild src/index.tsx --bundle --outfile=./dist/core.esm.js --external:react --external:rxjs --format=esm --sourcemap", + "build:cjs:dev": "esbuild src/index.tsx --bundle --outfile=./dist/core.cjs.development.js --external:react --external:rxjs --format=cjs --sourcemap", + "build:cjs:prod": "esbuild src/index.tsx --bundle --outfile=./dist/core.cjs.production.min.js --external:react --external:rxjs --format=cjs --minify --sourcemap", + "build:ts": "tsc -p ./tsconfig.json --outDir ./dist --skipLibCheck --emitDeclarationOnly", "test": "tsdx test --coverage", "lint": "prettier --check README.md && tsdx lint src", "format": "prettier --write README.md \"src/**/*.{js,jsx,ts,tsx,json,md}\"", @@ -40,6 +44,7 @@ "@types/jest": "^26.0.20", "@types/react": "^16.9.56", "@types/react-dom": "^16.9.9", + "esbuild": "^0.8.46", "jest-marbles": "^2.5.1", "lint-staged": "^10.5.3", "react": "^17.0.1", diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 162a419..51a4152 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,5 +1,5 @@ { - "include": ["src", "types", "test"], + "include": ["src"], "compilerOptions": { "target": "es5", "module": "esnext", @@ -27,8 +27,5 @@ "jsx": "react", "esModuleInterop": true }, - "exclude": [ - "**/*.test.ts", - "./src/test-helpers" - ] + "exclude": ["**/*.test.*", "**/test-helpers/*.*"] } diff --git a/packages/dom/dist/index.js b/packages/dom/dist/index.js new file mode 100644 index 0000000..4c1aefd --- /dev/null +++ b/packages/dom/dist/index.js @@ -0,0 +1,7 @@ +"use strict" + +if (process.env.NODE_ENV === "production") { + module.exports = require("./dom.cjs.production.min.js") +} else { + module.exports = require("./dom.cjs.development.js") +} diff --git a/packages/dom/package.json b/packages/dom/package.json index 4d81584..567ea7d 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -1,5 +1,5 @@ { - "version": "0.1.1", + "version": "0.1.2", "repository": { "type": "git", "url": "git+https://github.com/re-rxjs/react-rxjs.git" @@ -14,7 +14,11 @@ ], "scripts": { "start": "tsdx watch", - "build": "tsdx build", + "build": "yarn build:ts && yarn build:esm && yarn build:cjs:dev && yarn build:cjs:prod", + "build:esm": "esbuild src/index.tsx --bundle --outfile=./dist/dom.esm.js --external:react --external:rxjs --external:react-dom --format=esm --sourcemap", + "build:cjs:dev": "esbuild src/index.tsx --bundle --outfile=./dist/dom.cjs.development.js --external:react --external:rxjs --external:react-dom --format=cjs --sourcemap", + "build:cjs:prod": "esbuild src/index.tsx --bundle --outfile=./dist/dom.cjs.production.min.js --external:react --external:rxjs --external:react-dom --format=cjs --minify --sourcemap", + "build:ts": "tsc -p ./tsconfig.json --outDir ./dist --skipLibCheck --emitDeclarationOnly", "test": "tsdx test --coverage", "lint": "prettier --check README.md && tsdx lint src", "format": "prettier --write README.md \"src/**/*.{js,jsx,ts,tsx,json,md}\"", @@ -36,7 +40,7 @@ "Victor Oliva (https://github.com/voliva)" ], "devDependencies": { - "@react-rxjs/core": "0.6.4", + "@react-rxjs/core": "0.6.5", "@testing-library/react": "^11.2.3", "@testing-library/react-hooks": "^3.4.2", "@types/jest": "^26.0.20", diff --git a/packages/dom/tsconfig.json b/packages/dom/tsconfig.json index c37dcb8..fd0156a 100644 --- a/packages/dom/tsconfig.json +++ b/packages/dom/tsconfig.json @@ -1,5 +1,5 @@ { - "include": ["src", "types", "test"], + "include": ["src"], "compilerOptions": { "target": "es5", "module": "esnext", @@ -27,7 +27,5 @@ "jsx": "react", "esModuleInterop": true }, - "exclude": [ - "**/*.test.ts" - ] + "exclude": ["**/*.test.ts"] } diff --git a/packages/utils/dist/index.js b/packages/utils/dist/index.js new file mode 100644 index 0000000..d416409 --- /dev/null +++ b/packages/utils/dist/index.js @@ -0,0 +1,7 @@ +"use strict" + +if (process.env.NODE_ENV === "production") { + module.exports = require("./utils.cjs.production.min.js") +} else { + module.exports = require("./utils.cjs.development.js") +} diff --git a/packages/utils/package.json b/packages/utils/package.json index 48dcb73..946c006 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,5 +1,5 @@ { - "version": "0.4.0", + "version": "0.4.1", "repository": { "type": "git", "url": "git+https://github.com/re-rxjs/react-rxjs.git" @@ -14,7 +14,11 @@ ], "scripts": { "start": "tsdx watch", - "build": "tsdx build", + "build": "yarn build:ts && yarn build:esm && yarn build:cjs:dev && yarn build:cjs:prod", + "build:esm": "esbuild src/index.tsx --bundle --outfile=./dist/utils.esm.js --external:react --external:rxjs --external:@react-rxjs/core --format=esm --sourcemap", + "build:cjs:dev": "esbuild src/index.tsx --bundle --outfile=./dist/utils.cjs.development.js --external:react --external:rxjs --external:@react-rxjs/core --format=cjs --sourcemap", + "build:cjs:prod": "esbuild src/index.tsx --bundle --outfile=./dist/utils.cjs.production.min.js --external:react --external:rxjs --external:@react-rxjs/core --format=cjs --minify --sourcemap", + "build:ts": "tsc -p ./tsconfig.json --outDir ./dist --skipLibCheck --emitDeclarationOnly", "test": "tsdx test --coverage", "lint": "prettier --check README.md && tsdx lint src", "format": "prettier --write README.md \"src/**/*.{js,jsx,ts,tsx,json,md}\"", @@ -36,7 +40,7 @@ "Victor Oliva (https://github.com/voliva)" ], "devDependencies": { - "@react-rxjs/core": "0.6.4", + "@react-rxjs/core": "0.6.5", "@testing-library/react": "^11.2.3", "@testing-library/react-hooks": "^3.4.2", "@types/jest": "^26.0.20", diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 9085962..e76196a 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -26,5 +26,6 @@ }, "jsx": "react", "esModuleInterop": true - } + }, + "exclude": ["**/*.test.*"] } diff --git a/yarn.lock b/yarn.lock index 998db2f..6dbb2a4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1325,6 +1325,11 @@ "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" +"@react-rxjs/core@0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@react-rxjs/core/-/core-0.6.4.tgz#26d8007692d9e4c959cc83ae2df4378c07ab71eb" + integrity sha512-CZdtxzjbiGA6D0+DU5aw/x6gk8dm8uCPCeXfvqVfzKpjjphZbT2GjsZG7tYbCB4zENy/VuzOwZYkO3SaLiadnA== + "@rollup/plugin-babel@^5.1.0": version "5.2.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.2.1.tgz#20fc8f8864dc0eaa1c5578408459606808f72924" @@ -2817,6 +2822,11 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +esbuild@^0.8.46: + version "0.8.46" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.8.46.tgz#8fc7230ce3019b12e2553399f0c03875a729c26b" + integrity sha512-xck9sXNCNmjDHCCfxTCyhKTiFuEBweh+IDAhMLOJI990v1Fzii6MyIkT1LbkvjgoVgPX2SK1kpi5eZVGNrl8yg== + escalade@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.0.tgz#e8e2d7c7a8b76f6ee64c2181d6b8151441602d4e"