From f0fee777e7f9b82169a84570298ee36cd4b0cdbd Mon Sep 17 00:00:00 2001 From: marihachi Date: Sat, 29 Jul 2023 11:50:18 +0900 Subject: [PATCH] dual package expt. --- .gitignore | 1 + package.json | 20 +++++++++----------- template/cjs/package.json | 4 ++++ template/esm/package.json | 4 ++++ tsconfig.cjs.json | 7 +++++++ tsconfig.esm.json | 7 +++++++ tsconfig.json | 7 +++---- 7 files changed, 35 insertions(+), 15 deletions(-) create mode 100644 template/cjs/package.json create mode 100644 template/esm/package.json create mode 100644 tsconfig.cjs.json create mode 100644 tsconfig.esm.json diff --git a/.gitignore b/.gitignore index 926f05d..9d35464 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,6 @@ node_modules .vscode # app dir +build built temp diff --git a/package.json b/package.json index 0b11dd2..96dac34 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,12 @@ { "name": "terrario", - "version": "0.9.0", + "version": "0.10.0-dev.1", "description": "A refined, expressive parser combinator library.", "license": "MIT", "author": "Marihachi", "type": "module", - "module": "./built/index.js", - "main": "./built/cjs/index.cjs", - "types": "./built/index.d.ts", + "module": "./build/esm/index.js", + "main": "./build/cjs/index.js", "contributors": [ "ThinaticSystem (https://thinaticsystem.com/)" ], @@ -25,18 +24,17 @@ }, "scripts": { "build": "npm run build:esm && npm run build:cjs", - "build:esm": "tsc", - "build:cjs": "npx tsc --outdir built/cjs --module CommonJS && npm run build:cjs:rename", - "build:cjs:rename": "node -e \"require('fs').renameSync('./built/cjs/index.js', './built/cjs/index.cjs')\"", + "build:esm": "tsc -p tsconfig.esm.json && cp -r ./template/esm ./build", + "build:cjs": "tsc -p tsconfig.cjs.json && cp -r ./template/cjs ./build", "test": "jest --verbose", "typedoc": "typedoc --plugin typedoc-plugin-markdown --out temp/docs src/index.ts", "api-init": "api-extractor init", "api": "api-extractor run --local --verbose" }, "exports": { - "import": "./built/index.js", - "require": "./built/cjs/index.cjs", - "default": "./built/index.js" + "import": "./build/esm/index.js", + "require": "./build/cjs/index.js", + "default": "./build/esm/index.js" }, "devDependencies": { "@microsoft/api-extractor": "^7.36.3", @@ -49,7 +47,7 @@ "typescript": "5.1.6" }, "files": [ - "built/**/*", + "build/**/*", "CHANGELOG.md" ] } diff --git a/template/cjs/package.json b/template/cjs/package.json new file mode 100644 index 0000000..832afeb --- /dev/null +++ b/template/cjs/package.json @@ -0,0 +1,4 @@ +{ + "type": "commonjs", + "types": "./index.d.ts" +} diff --git a/template/esm/package.json b/template/esm/package.json new file mode 100644 index 0000000..309d249 --- /dev/null +++ b/template/esm/package.json @@ -0,0 +1,4 @@ +{ + "type": "module", + "types": "./index.d.ts" +} diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json new file mode 100644 index 0000000..a90303d --- /dev/null +++ b/tsconfig.cjs.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "commonjs", + "outDir": "./build/cjs/", + } +} diff --git a/tsconfig.esm.json b/tsconfig.esm.json new file mode 100644 index 0000000..05198d7 --- /dev/null +++ b/tsconfig.esm.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "esnext", + "outDir": "./build/esm/", + } +} diff --git a/tsconfig.json b/tsconfig.json index 0138eaf..d5cf528 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,10 @@ { "compilerOptions": { - "target": "ES2020", - "module": "ESNext", - "moduleResolution": "Node", + "target": "es2020", + "module": "esnext", + "moduleResolution": "node", "declaration": true, "rootDir": "./src/", - "outDir": "./built/", "skipLibCheck": true, "removeComments": false, "strict": true,