Skip to content

Commit 968ac63

Browse files
New build system
1 parent e25f5cd commit 968ac63

File tree

8 files changed

+424
-443
lines changed

8 files changed

+424
-443
lines changed

package.json

Lines changed: 31 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -2,64 +2,43 @@
22
"name": "stream-chat-react",
33
"version": "0.0.0-development",
44
"description": "React components to create chat conversations or livestream style chat",
5-
"author": "GetStream",
6-
"homepage": "https://getstream.io/chat/",
75
"license": "SEE LICENSE IN LICENSE",
86
"repository": {
97
"type": "git",
108
"url": "https://github.com/GetStream/stream-chat-react.git"
119
},
12-
"types": "dist/index.d.ts",
13-
"main": "dist/index.node.cjs",
14-
"module": "dist/index.js",
10+
"homepage": "https://getstream.io/chat/",
11+
"author": {
12+
"name": "GetStream.io, Inc.",
13+
"url": "https://getstream.io/team/"
14+
},
15+
"types": "./dist/types/index.d.ts",
16+
"main": "./dist/cjs/index.js",
17+
"module": "./dist/es/index.mjs",
1518
"exports": {
1619
".": {
17-
"types": "./dist/index.d.ts",
18-
"node": {
19-
"require": "./dist/index.node.cjs",
20-
"import": "./dist/index.js"
21-
},
22-
"browser": {
23-
"require": "./dist/index.browser.cjs",
24-
"import": "./dist/index.js"
25-
},
26-
"default": "./dist/index.js"
20+
"types": "./dist/types/index.d.ts",
21+
"import": "./dist/es/index.mjs",
22+
"require": "./dist/cjs/index.js",
23+
"default": "./dist/cjs/index.js"
2724
},
2825
"./emojis": {
29-
"types": "./dist/plugins/Emojis/index.d.ts",
30-
"node": {
31-
"require": "./dist/plugins/Emojis/index.node.cjs",
32-
"import": "./dist/plugins/Emojis/index.js"
33-
},
34-
"browser": {
35-
"require": "./dist/plugins/Emojis/index.browser.cjs",
36-
"import": "./dist/plugins/Emojis/index.js"
37-
},
38-
"default": "./dist/plugins/Emojis/index.js"
26+
"types": "./dist/types/plugins/Emojis/index.d.ts",
27+
"import": "./dist/es/emojis.mjs",
28+
"require": "./dist/cjs/emojis.js",
29+
"default": "./dist/cjs/emojis.js"
3930
},
4031
"./mp3-encoder": {
41-
"types": "./dist/plugins/encoders/mp3.d.ts",
42-
"node": {
43-
"require": "./dist/plugins/encoders/mp3.node.cjs",
44-
"import": "./dist/plugins/encoders/mp3.js"
45-
},
46-
"browser": {
47-
"require": "./dist/plugins/encoders/mp3.browser.cjs",
48-
"import": "./dist/plugins/encoders/mp3.js"
49-
},
50-
"default": "./dist/plugins/encoders/mp3.js"
32+
"types": "./dist/types/plugins/encoders/mp3.d.ts",
33+
"import": "./dist/es/mp3-encoder.mjs",
34+
"require": "./dist/cjs/mp3-encoder.js",
35+
"default": "./dist/cjs/mp3-encoder.js"
5136
},
5237
"./experimental": {
53-
"types": "./dist/experimental/index.d.ts",
54-
"node": {
55-
"require": "./dist/experimental/index.node.cjs",
56-
"import": "./dist/experimental/index.js"
57-
},
58-
"browser": {
59-
"require": "./dist/experimental/index.browser.cjs",
60-
"import": "./dist/experimental/index.js"
61-
},
62-
"default": "./dist/experimental/index.js"
38+
"types": "./dist/types/experimental/index.d.ts",
39+
"import": "./dist/es/experimental.mjs",
40+
"require": "./dist/cjs/experimental.js",
41+
"default": "./dist/cjs/experimental.js"
6342
},
6443
"./dist/css/*": {
6544
"default": "./dist/css/*"
@@ -77,13 +56,13 @@
7756
"typesVersions": {
7857
"*": {
7958
"emojis": [
80-
"./dist/plugins/Emojis/index.d.ts"
59+
"./dist/types/plugins/Emojis/index.d.ts"
8160
],
8261
"mp3-encoder": [
83-
"./dist/plugins/encoders/mp3.d.ts"
62+
"./dist/types/plugins/encoders/mp3.d.ts"
8463
],
8564
"experimental": [
86-
"./dist/experimental/index.d.ts"
65+
"./dist/types/experimental/index.d.ts"
8766
]
8867
}
8968
},
@@ -162,6 +141,7 @@
162141
"README.md"
163142
],
164143
"devDependencies": {
144+
"vite": "^7.3.0",
165145
"@axe-core/react": "^4.3.2",
166146
"@babel/cli": "^7.12.8",
167147
"@babel/core": "^7.12.9",
@@ -213,7 +193,6 @@
213193
"core-js": "^3.6.5",
214194
"dotenv": "^8.6.0",
215195
"emoji-mart": "^5.5.2",
216-
"esbuild": "^0.23.1",
217196
"eslint": "^9.16.0",
218197
"eslint-plugin-import": "^2.31.0",
219198
"eslint-plugin-jest": "^28.11.0",
@@ -240,8 +219,8 @@
240219
"typescript-eslint": "^8.17.0"
241220
},
242221
"scripts": {
243-
"build": "rm -rf dist && yarn build-translations && yarn bundle",
244-
"bundle": "concurrently ./scripts/bundle-esm.mjs ./scripts/copy-css.sh scripts/bundle-cjs.mjs",
222+
"clean": "rm -rf dist",
223+
"build": "yarn clean && concurrently './scripts/copy-css.sh' 'yarn build-translations' 'vite build' 'tsc'",
245224
"build-translations": "i18next-cli extract",
246225
"coverage": "jest --collectCoverage && codecov",
247226
"lint": "yarn prettier --list-different && yarn eslint && yarn validate-translations",
@@ -255,7 +234,7 @@
255234
"prepare": "husky install",
256235
"preversion": "yarn install",
257236
"test": "jest",
258-
"types": "tsc --noEmit",
237+
"types": "tsc --emitDeclarationOnly false --noEmit",
259238
"validate-translations": "node scripts/validate-translations.js",
260239
"validate-cjs": "concurrently 'node scripts/validate-cjs-node-bundle.cjs' 'node scripts/validate-cjs-browser-bundle.cjs'",
261240
"semantic-release": "semantic-release",

scripts/bundle-cjs.mjs

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

scripts/bundle-esm.mjs

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

scripts/check-sidebar.mjs

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

scripts/get-package-version.mjs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { execSync } from 'node:child_process';
2-
import packageJson from '../package.json' with { type: 'json' };
32

4-
// get the latest version so that "process.env.STREAM_CHAT_REACT_VERSION" can be replaced with it in the source code (used for reporting purposes), see bundle-cjs.mjs/bundle-esm.mjs for source
3+
// get the latest version so that "process.env.STREAM_CHAT_REACT_VERSION" can be replaced with it in the source code (used for reporting purposes), see vite.config.ts
54
export default function getPackageVersion() {
65
// "build" script ("prepack" hook) gets invoked when semantic-release runs "npm publish", at that point package.json#version already contains updated next version which we can use
7-
let version = packageJson.version;
6+
let version = process.env.npm_package_version;
87

98
// if it fails (loads a default), try pulling version from git
109
if (version === '0.0.0-development') {
@@ -15,7 +14,6 @@ export default function getPackageVersion() {
1514
console.warn(
1615
'Could not get latest version from git tags, falling back to package.json',
1716
);
18-
version = packageJson.version;
1917
}
2018
}
2119

0 commit comments

Comments
 (0)