fr-spell 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,74 @@
1
+ {
2
+ "itos": [
3
+ "<pad>",
4
+ "<bos>",
5
+ "<eos>",
6
+ "<unk>",
7
+ "'",
8
+ "-",
9
+ ":",
10
+ "A",
11
+ "B",
12
+ "C",
13
+ "D",
14
+ "E",
15
+ "F",
16
+ "H",
17
+ "I",
18
+ "J",
19
+ "L",
20
+ "M",
21
+ "N",
22
+ "O",
23
+ "P",
24
+ "R",
25
+ "S",
26
+ "T",
27
+ "U",
28
+ "V",
29
+ "W",
30
+ "_",
31
+ "a",
32
+ "b",
33
+ "c",
34
+ "d",
35
+ "e",
36
+ "f",
37
+ "g",
38
+ "h",
39
+ "i",
40
+ "j",
41
+ "k",
42
+ "l",
43
+ "m",
44
+ "n",
45
+ "o",
46
+ "p",
47
+ "q",
48
+ "r",
49
+ "s",
50
+ "t",
51
+ "u",
52
+ "v",
53
+ "w",
54
+ "x",
55
+ "y",
56
+ "z",
57
+ "|",
58
+ "à",
59
+ "â",
60
+ "ç",
61
+ "è",
62
+ "é",
63
+ "ê",
64
+ "ë",
65
+ "î",
66
+ "ï",
67
+ "ñ",
68
+ "ô",
69
+ "ö",
70
+ "û",
71
+ "ü"
72
+ ],
73
+ "source_format": "L:{lemma}|W:{word_type}|P:{person}|M:{mode}|T:{tense}"
74
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "code_char_to_name": {
3
+ "A": "NONE",
4
+ "B": "NOUN",
5
+ "C": "ARDE",
6
+ "D": "ADJE",
7
+ "E": "PRON",
8
+ "F": "VERB",
9
+ "G": "ADVE",
10
+ "H": "PREP",
11
+ "I": "CONJ",
12
+ "J": "INTE",
13
+ "K": "NOUN_ARDE_ADJE_PRON",
14
+ "L": "NOUN_ARDE_PRON",
15
+ "M": "NOUN_ADJE",
16
+ "N": "NOUN_ADJE_PRON",
17
+ "O": "NOUN_ADJE_PRON_ADVE",
18
+ "P": "NOUN_ADJE_VERB",
19
+ "Q": "NOUN_ADJE_ADVE",
20
+ "R": "NOUN_ADJE_ADVE_PREP",
21
+ "S": "NOUN_ADJE_PREP",
22
+ "T": "NOUN_ADJE_CONJ",
23
+ "U": "NOUN_PRON",
24
+ "V": "NOUN_PRON_VERB",
25
+ "W": "NOUN_PRON_CONJ",
26
+ "X": "NOUN_VERB",
27
+ "Y": "NOUN_VERB_ADVE",
28
+ "Z": "NOUN_ADVE",
29
+ "a": "NOUN_ADVE_PREP",
30
+ "b": "NOUN_ADVE_CONJ",
31
+ "c": "NOUN_PREP",
32
+ "d": "NOUN_CONJ",
33
+ "e": "ARDE_ADJE_PRON",
34
+ "f": "ADJE_PRON",
35
+ "g": "ADJE_PRON_ADVE",
36
+ "h": "ADJE_VERB",
37
+ "i": "ADJE_ADVE",
38
+ "j": "ADJE_PREP",
39
+ "k": "PRON_ADVE",
40
+ "l": "PRON_ADVE_PREP",
41
+ "m": "PRON_CONJ",
42
+ "n": "ADVE_PREP",
43
+ "o": "ADVE_CONJ"
44
+ },
45
+ "max_decode_len": 32,
46
+ "onnx_opset": 17
47
+ }
@@ -0,0 +1,244 @@
1
+ {
2
+ "itos": [
3
+ "<pad>",
4
+ "<bos>",
5
+ "<eos>",
6
+ "<unk>",
7
+ "'",
8
+ "-",
9
+ "0",
10
+ "1",
11
+ "2",
12
+ "3",
13
+ "4",
14
+ "5",
15
+ "6",
16
+ "7",
17
+ "8",
18
+ "9",
19
+ "A",
20
+ "B",
21
+ "C",
22
+ "D",
23
+ "E",
24
+ "F",
25
+ "G",
26
+ "H",
27
+ "I",
28
+ "J",
29
+ "K",
30
+ "L",
31
+ "M",
32
+ "N",
33
+ "O",
34
+ "P",
35
+ "Q",
36
+ "R",
37
+ "S",
38
+ "T",
39
+ "U",
40
+ "V",
41
+ "W",
42
+ "X",
43
+ "Y",
44
+ "Z",
45
+ "a",
46
+ "b",
47
+ "c",
48
+ "d",
49
+ "e",
50
+ "f",
51
+ "g",
52
+ "h",
53
+ "i",
54
+ "j",
55
+ "k",
56
+ "l",
57
+ "m",
58
+ "n",
59
+ "o",
60
+ "p",
61
+ "q",
62
+ "r",
63
+ "s",
64
+ "t",
65
+ "u",
66
+ "v",
67
+ "w",
68
+ "x",
69
+ "y",
70
+ "z",
71
+ "²",
72
+ "³",
73
+ "µ",
74
+ "Å",
75
+ "È",
76
+ "É",
77
+ "Î",
78
+ "Ø",
79
+ "Ü",
80
+ "à",
81
+ "á",
82
+ "â",
83
+ "ã",
84
+ "ä",
85
+ "å",
86
+ "æ",
87
+ "ç",
88
+ "è",
89
+ "é",
90
+ "ê",
91
+ "ë",
92
+ "í",
93
+ "î",
94
+ "ï",
95
+ "ñ",
96
+ "ó",
97
+ "ô",
98
+ "ö",
99
+ "ù",
100
+ "ú",
101
+ "û",
102
+ "ü",
103
+ "ÿ",
104
+ "ć",
105
+ "ń",
106
+ "ō",
107
+ "Œ",
108
+ "œ",
109
+ "ś",
110
+ "š",
111
+ "ɴ",
112
+ "ʳ",
113
+ "ˢ",
114
+ "Δ",
115
+ "Ω",
116
+ "α",
117
+ "β",
118
+ "γ",
119
+ "δ",
120
+ "ε",
121
+ "ζ",
122
+ "η",
123
+ "θ",
124
+ "ι",
125
+ "κ",
126
+ "λ",
127
+ "μ",
128
+ "ν",
129
+ "ξ",
130
+ "ο",
131
+ "π",
132
+ "ρ",
133
+ "σ",
134
+ "τ",
135
+ "υ",
136
+ "φ",
137
+ "χ",
138
+ "ψ",
139
+ "ω",
140
+ "ᴀ",
141
+ "ᴍ",
142
+ "ᴏ",
143
+ "ᵈ",
144
+ "ᵉ",
145
+ "ⁿ",
146
+ "₀",
147
+ "₁",
148
+ "₂",
149
+ "₃",
150
+ "₄",
151
+ "₅",
152
+ "₆",
153
+ "₇",
154
+ "₈",
155
+ "₉",
156
+ "ℓ",
157
+ "Ω",
158
+ "ꜱ"
159
+ ],
160
+ "code_to_id": {
161
+ "A": 0,
162
+ "B": 1,
163
+ "C": 2,
164
+ "D": 3,
165
+ "E": 4,
166
+ "F": 5,
167
+ "G": 6,
168
+ "H": 7,
169
+ "I": 8,
170
+ "K": 9,
171
+ "L": 10,
172
+ "M": 11,
173
+ "N": 12,
174
+ "O": 13,
175
+ "P": 14,
176
+ "Q": 15,
177
+ "R": 16,
178
+ "S": 17,
179
+ "T": 18,
180
+ "U": 19,
181
+ "V": 20,
182
+ "W": 21,
183
+ "X": 22,
184
+ "Y": 23,
185
+ "Z": 24,
186
+ "a": 25,
187
+ "b": 26,
188
+ "c": 27,
189
+ "d": 28,
190
+ "e": 29,
191
+ "f": 30,
192
+ "g": 31,
193
+ "h": 32,
194
+ "i": 33,
195
+ "j": 34,
196
+ "k": 35,
197
+ "l": 36,
198
+ "m": 37,
199
+ "n": 38,
200
+ "o": 39
201
+ },
202
+ "id_to_code": {
203
+ "0": "A",
204
+ "1": "B",
205
+ "2": "C",
206
+ "3": "D",
207
+ "4": "E",
208
+ "5": "F",
209
+ "6": "G",
210
+ "7": "H",
211
+ "8": "I",
212
+ "9": "K",
213
+ "10": "L",
214
+ "11": "M",
215
+ "12": "N",
216
+ "13": "O",
217
+ "14": "P",
218
+ "15": "Q",
219
+ "16": "R",
220
+ "17": "S",
221
+ "18": "T",
222
+ "19": "U",
223
+ "20": "V",
224
+ "21": "W",
225
+ "22": "X",
226
+ "23": "Y",
227
+ "24": "Z",
228
+ "25": "a",
229
+ "26": "b",
230
+ "27": "c",
231
+ "28": "d",
232
+ "29": "e",
233
+ "30": "f",
234
+ "31": "g",
235
+ "32": "h",
236
+ "33": "i",
237
+ "34": "j",
238
+ "35": "k",
239
+ "36": "l",
240
+ "37": "m",
241
+ "38": "n",
242
+ "39": "o"
243
+ }
244
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fr-spell",
3
3
  "description": "A NPM Library To Convert Derivative Forms Of Noun, Verb or Adjective In French To Lemmas Or Vice Versa.",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "type": "module",
6
6
  "main": "./src/frspell.js",
7
7
  "exports": {
@@ -9,6 +9,7 @@
9
9
  },
10
10
  "scripts": {
11
11
  "help": "node scripts/help.js",
12
+ "build": "node scripts/build.js",
12
13
  "test": "node test/test.js",
13
14
  "benchmark:prepare": "node benchmark/generate-checklists.js",
14
15
  "benchmark": "node benchmark/run-benchmark.js",
@@ -45,6 +46,10 @@
45
46
  "url": "https://www.linkedin.com/in/davychxn/"
46
47
  },
47
48
  "dependencies": {
48
- "onnxruntime-node": "^1.24.3"
49
+ "onnxruntime-node": "^1.24.3",
50
+ "onnxruntime-web": "^1.24.3"
51
+ },
52
+ "devDependencies": {
53
+ "esbuild": "^0.25.10"
49
54
  }
50
55
  }
@@ -0,0 +1,53 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { build } from 'esbuild';
4
+
5
+ const rootDir = path.resolve(process.cwd());
6
+ const distDir = path.join(rootDir, 'dist');
7
+ const distModelsDir = path.join(distDir, 'models', 'community');
8
+ const sourceModelsDir = path.join(rootDir, 'models', 'community');
9
+
10
+ async function cleanDist() {
11
+ await fs.rm(distDir, { recursive: true, force: true });
12
+ await fs.mkdir(distModelsDir, { recursive: true });
13
+ }
14
+
15
+ async function bundleBrowserBuild() {
16
+ await build({
17
+ entryPoints: [path.join(rootDir, 'src', 'frspell.browser.global.js')],
18
+ bundle: true,
19
+ outfile: path.join(distDir, 'frspell.browser.js'),
20
+ format: 'iife',
21
+ platform: 'browser',
22
+ target: ['es2020'],
23
+ minify: false,
24
+ });
25
+ }
26
+
27
+ async function copyModelAssets() {
28
+ const assetFiles = [
29
+ 'lemma_type_model.int8.onnx',
30
+ 'derive_form_model.int8.onnx',
31
+ 'lemma_type_vocab.json',
32
+ 'lemma_type_labels.json',
33
+ 'derive_form_vocab.json',
34
+ ];
35
+
36
+ await Promise.all(
37
+ assetFiles.map((name) =>
38
+ fs.copyFile(path.join(sourceModelsDir, name), path.join(distModelsDir, name)),
39
+ ),
40
+ );
41
+ }
42
+
43
+ async function main() {
44
+ await cleanDist();
45
+ await bundleBrowserBuild();
46
+ await copyModelAssets();
47
+ console.log('Build completed: dist/frspell.browser.js and model assets are ready.');
48
+ }
49
+
50
+ main().catch((error) => {
51
+ console.error(error);
52
+ process.exitCode = 1;
53
+ });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * FR-SPELL browser global entry
3
+ */
4
+
5
+ import { FrSpell } from './module/Predictor.browser.js';
6
+
7
+ if (typeof window !== 'undefined') {
8
+ window.FrSpell = FrSpell;
9
+ }