Skip to content

Commit 40fe353

Browse files
committed
Improvements
1 parent 3007c9d commit 40fe353

File tree

3 files changed

+42
-31
lines changed

3 files changed

+42
-31
lines changed

.prettierrc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"overrides": [
3+
{
4+
"files": ["tests/**/*.ts"],
5+
"options": {
6+
"printWidth": 10000000
7+
}
8+
}
9+
]
10+
}

package.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
{
22
"name": "@huggingface/tokenizers",
33
"version": "0.0.1",
4-
"description": "",
5-
"main": "dist/tokenizers.cjs",
4+
"description": "🤗 Tokenizers.js: A pure JS/TS implementation of today's most used tokenizers",
65
"type": "module",
7-
"module": "dist/tokenizers.mjs",
6+
"main": "dist/tokenizers.min.mjs",
7+
"browser": "dist/tokenizers.min.mjs",
8+
"module": "dist/tokenizers.min.mjs",
89
"types": "types/index.d.ts",
910
"exports": {
1011
".": {
1112
"types": "./types/index.d.ts",
1213
"node": {
13-
"require": "./dist/tokenizers.cjs",
14-
"import": "./dist/tokenizers.mjs"
14+
"require": "./dist/tokenizers.min.cjs",
15+
"import": "./dist/tokenizers.min.mjs"
1516
},
1617
"browser": {
17-
"import": "./dist/tokenizers.mjs"
18+
"import": "./dist/tokenizers.min.mjs"
1819
},
19-
"default": "./dist/tokenizers.mjs"
20+
"default": "./dist/tokenizers.min.mjs"
2021
}
2122
},
2223
"files": [

scripts/build.mjs

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,11 @@
1-
import { build } from "esbuild";
1+
import { build as esbuild } from "esbuild";
22
import { execSync } from "node:child_process";
33
import { readFileSync } from "node:fs";
44
import { gzipSync } from "node:zlib";
55

66
console.log("Generating TypeScript declarations...");
77
execSync("tsc -p tsconfig.build.json", { stdio: "inherit" });
88

9-
const config = {
10-
bundle: true,
11-
minify: true,
12-
minifySyntax: true,
13-
treeShaking: true,
14-
logLevel: "silent",
15-
entryPoints: ["src/index.ts"],
16-
platform: "neutral",
17-
metafile: true,
18-
};
19-
209
const formatSize = (bytes) => {
2110
if (bytes < 1024) return `${bytes}b`;
2211
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)}kb`;
@@ -34,16 +23,27 @@ const reportSize = (outfile) => {
3423
console.log(`⚡ Done\n`);
3524
};
3625

37-
await build({
38-
...config,
39-
format: "esm",
40-
outfile: "dist/tokenizers.mjs",
41-
});
42-
reportSize("dist/tokenizers.mjs");
26+
const build = async (outfile) => {
27+
const format = outfile.endsWith(".mjs") ? "esm" : "cjs";
28+
const minifyOptions = /\.min\.[cm]js$/.test(outfile)
29+
? { minify: true, minifySyntax: true }
30+
: {};
31+
32+
await esbuild({
33+
bundle: true,
34+
treeShaking: true,
35+
logLevel: "silent",
36+
entryPoints: ["src/index.ts"],
37+
platform: "neutral",
38+
metafile: true,
39+
format,
40+
outfile,
41+
...minifyOptions,
42+
});
43+
reportSize(outfile);
44+
}
4345

44-
await build({
45-
...config,
46-
format: "cjs",
47-
outfile: "dist/tokenizers.cjs",
48-
});
49-
reportSize("dist/tokenizers.cjs");
46+
await build("dist/tokenizers.mjs");
47+
await build("dist/tokenizers.cjs");
48+
await build("dist/tokenizers.min.mjs");
49+
await build("dist/tokenizers.min.cjs");

0 commit comments

Comments
 (0)