From 7ea4a025128216bc38e8bafcc6d5bc05fd04169d Mon Sep 17 00:00:00 2001 From: Arpad Borsos Date: Mon, 3 Jun 2019 11:34:27 +0200 Subject: [PATCH] make builds work again --- .gitignore | 1 + package-lock.json | 68 ++++----------------------------------------- package.json | 9 +++--- rollup.config.js | 29 +++++-------------- tsconfig.build.json | 21 ++++++++++++++ tsconfig.json | 4 +-- 6 files changed, 41 insertions(+), 91 deletions(-) create mode 100644 tsconfig.build.json diff --git a/.gitignore b/.gitignore index 030e7dd..dd21b94 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ coverage dist node_modules +.build diff --git a/package-lock.json b/package-lock.json index 6ff6a20..a45f232 100644 --- a/package-lock.json +++ b/package-lock.json @@ -595,12 +595,6 @@ "normalize-path": "^2.1.1" } }, - "arg": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", - "dev": true - }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -1240,12 +1234,6 @@ "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true }, - "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "dev": true - }, "diff-sequences": { "version": "24.3.0", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.3.0.tgz", @@ -1332,6 +1320,12 @@ "source-map": "~0.6.1" } }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true + }, "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", @@ -1344,12 +1338,6 @@ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", "dev": true }, - "estree-walker": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.0.tgz", - "integrity": "sha512-peq1RfVAVzr3PU/jL31RaOjUKLoZJpObQWJJ+LgfcxDUifyLZ1RjPQZTl0pzj2uJ45b7A7XpyppXvxdEqzo4rw==", - "dev": true - }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", @@ -4209,25 +4197,6 @@ } } }, - "rollup-plugin-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-json/-/rollup-plugin-json-4.0.0.tgz", - "integrity": "sha512-hgb8N7Cgfw5SZAkb3jf0QXii6QX/FOkiIq2M7BAQIEydjHvTyxXHQiIzZaTFgx1GK0cRCHOCBHIyEkkLdWKxow==", - "dev": true, - "requires": { - "rollup-pluginutils": "^2.5.0" - } - }, - "rollup-pluginutils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.6.0.tgz", - "integrity": "sha512-aGQwspEF8oPKvg37u3p7h0cYNwmJR1sCBMZGZ5b9qy8HGtETknqjzcxrDRrcAnJNXN18lBH4Q9vZYth/p4n8jQ==", - "dev": true, - "requires": { - "estree-walker": "^0.6.0", - "micromatch": "^3.1.10" - } - }, "rsvp": { "version": "4.8.4", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", @@ -4830,25 +4799,6 @@ } } }, - "ts-node": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.2.0.tgz", - "integrity": "sha512-m8XQwUurkbYqXrKqr3WHCW310utRNvV5OnRVeISeea7LoCWVcdfeB/Ntl8JYWFh+WRoUAdBgESrzKochQt7sMw==", - "dev": true, - "requires": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0" - } - }, - "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true - }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -5228,12 +5178,6 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } - }, - "yn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz", - "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==", - "dev": true } } } diff --git a/package.json b/package.json index 86a503e..a6a219e 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,9 @@ "dist" ], "scripts": { - "build": "rimraf dist && rollup -c", + "clean": "rimraf dist", + "prebuild": "npm run clean", + "build": "tsc --project tsconfig.build.json && rollup -c", "prepublishOnly": "npm run test && npm run build", "test": "jest --runInBand" }, @@ -60,20 +62,17 @@ "@types/jest": "^24.0.13", "@types/node": "^12.0.4", "@types/react": "^16.8.19", + "esm": "^3.2.25", "fs-extra": "^8.0.1", "jest": "^24.8.0", "prettier": "^1.17.1", "react": "^16.8.6", "rollup": "^1.13.1", - "rollup-plugin-json": "^4.0.0", "ts-jest": "^24.0.2", - "ts-node": "^8.2.0", - "tslib": "^1.9.3", "typescript": "3.5.1" }, "peerDependencies": { "rollup": "^1.13.1", - "tslib": "*", "typescript": "^3.5.1" }, "optionalDependencies": { diff --git a/rollup.config.js b/rollup.config.js index 64df9b5..206bdb6 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,36 +1,21 @@ -// @ts-ignore -import json from "rollup-plugin-json"; import pkg from "./package.json"; -require("ts-node").register({ transpileOnly: true }); -const { ts, dts } = require("./src"); +// @ts-ignore +require = require("esm")(module); +const { default: dts } = require("./.build"); -const external = ["fs", "path", "typescript", "rollup-pluginutils", "rollup", "@babel/code-frame"]; +const external = ["typescript", "rollup", "@babel/code-frame"]; /** @type {Array} */ const config = [ { - input: "./src/index.ts", - output: [ - { - exports: "named", - file: pkg.main, - format: "cjs", - }, - { file: pkg.module, format: "es" }, - ], + input: "./.build/index.js", + output: [{ exports: "named", file: pkg.main, format: "cjs" }, { file: pkg.module, format: "es" }], external, - plugins: [ - json({ - preferConst: true, - indent: " ", - }), - ts(), - ], }, { - input: "./src/index.ts", + input: "./.build/index.d.ts", output: [{ file: pkg.types, format: "es" }], external, diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 0000000..4c852e9 --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,21 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "allowJs": false, + "checkJs": false, + + "incremental": true, + "tsBuildInfoFile": ".build/tsconfig.build.tsbuildinfo", + + "declaration": true, + // "declarationMap": true, + // "sourceMap": true, + "module": "esnext", + + "noEmit": false, + + "outDir": ".build", + "rootDir": "src" + }, + "include": ["src"] +} diff --git a/tsconfig.json b/tsconfig.json index f13965d..070358c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "noEmitOnError": true, + "noEmitOnError": false, "diagnostics": true, "lib": ["es2018", "esnext"], @@ -8,7 +8,7 @@ "resolveJsonModule": true, "moduleResolution": "node", - "module": "commonjs", + "module": "esnext", "esModuleInterop": true, "jsx": "react",