Skip to content

Commit 04957b2

Browse files
committed
Initial build scripts
1 parent 2e06d81 commit 04957b2

File tree

5 files changed

+49
-13
lines changed

5 files changed

+49
-13
lines changed

node_package/scripts/build

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
3+
set -e
4+
5+
yarn run clean
6+
yarn run tsc --declaration
7+
echo '{ "type": "module" }' > node_package/lib/esm/package.json
8+
yarn run tsc -p tsconfig.cjs.json --declaration
9+
echo '{ "type": "commonjs" }' > node_package/lib/cjs/package.json

package-scripts.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ scripts:
2525
# 3. Check if the project is built now;
2626
# 4. If it failed, print an error message (still follow https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices).
2727
script: >
28-
[ -f node_package/lib/ReactOnRails.full.js ] ||
28+
[ -f node_package/lib/esm/ReactOnRails.full.js ] ||
2929
(npm run build >/dev/null 2>&1 || true) &&
30-
[ -f node_package/lib/ReactOnRails.full.js ] ||
30+
[ -f node_package/lib/esm/ReactOnRails.full.js ] ||
3131
{ echo 'Building react-on-rails seems to have failed!'; }
3232
3333
format:

package.json

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,35 @@
22
"name": "react-on-rails",
33
"version": "15.0.0-alpha.2",
44
"description": "react-on-rails JavaScript for react_on_rails Ruby gem",
5-
"main": "node_package/lib/ReactOnRails.full.js",
5+
"main": "node_package/lib/esm/ReactOnRails.full.js",
66
"type": "commonjs",
77
"exports": {
88
".": {
9-
"react-server": "./node_package/lib/ReactOnRailsRSC.js",
10-
"node": "./node_package/lib/ReactOnRails.node.js",
11-
"default": "./node_package/lib/ReactOnRails.full.js"
9+
"react-server": {
10+
"import": "./node_package/lib/esm/ReactOnRailsRSC.js",
11+
"require": "./node_package/lib/cjs/ReactOnRailsRSC.js"
12+
},
13+
"node": {
14+
"import": "./node_package/lib/esm/ReactOnRails.node.js",
15+
"require": "./node_package/lib/cjs/ReactOnRails.node.js"
16+
},
17+
"default": {
18+
"import": "./node_package/lib/esm/ReactOnRails.full.js",
19+
"require": "./node_package/lib/cjs/ReactOnRails.full.js"
20+
}
1221
},
13-
"./client": "./node_package/lib/ReactOnRails.client.js",
14-
"./registerServerComponent/client": "./node_package/lib/registerServerComponent/client.js",
15-
"./registerServerComponent/server": "./node_package/lib/registerServerComponent/server.js"
22+
"./client": {
23+
"import": "./node_package/lib/esm/ReactOnRails.client.js",
24+
"require": "./node_package/lib/cjs/ReactOnRails.client.js"
25+
},
26+
"./registerServerComponent/client": {
27+
"import": "./node_package/lib/esm/registerServerComponent/client.js",
28+
"require": "./node_package/lib/cjs/registerServerComponent/client.js"
29+
},
30+
"./registerServerComponent/server": {
31+
"import": "./node_package/lib/esm/registerServerComponent/server.js",
32+
"require": "./node_package/lib/cjs/registerServerComponent/server.js"
33+
}
1634
},
1735
"directories": {
1836
"doc": "docs"
@@ -75,8 +93,8 @@
7593
"prepack": "nps build.prepack",
7694
"prepare": "nps build.prepack",
7795
"prepublishOnly": "yarn run build",
78-
"build": "yarn run clean && yarn run tsc --declaration",
79-
"build-watch": "yarn run clean && yarn run tsc --watch",
96+
"build": "node_package/scripts/build",
97+
"build-watch": "yarn run clean && yarn run tsc --watch --no-declaration",
8098
"lint": "nps eslint",
8199
"check": "yarn run lint && yarn run test && yarn run type-check",
82100
"type-check": "yarn run tsc --noEmit --noErrorTruncation",

tsconfig.cjs.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"compilerOptions": {
4+
"module": "node16",
5+
"moduleResolution": "node16",
6+
"outDir": "node_package/lib/cjs",
7+
}
8+
}

tsconfig.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
// needed for Jest tests even though we don't use .tsx
77
"jsx": "react-jsx",
88
"lib": ["dom", "es2020"],
9-
"module": "node16",
9+
"module": "es2020",
10+
"moduleResolution": "bundler",
1011
"noImplicitAny": true,
11-
"outDir": "node_package/lib",
12+
"outDir": "node_package/lib/esm",
1213
"strict": true,
1314
"incremental": true,
1415
"target": "es2020",

0 commit comments

Comments
 (0)