@leofcoin/peernet 1.2.18 → 1.2.20

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.
@@ -1,4 +1,4 @@
1
- import { j as getDefaultExportFromCjs } from './identity-CVOmmghe.js';
1
+ import { j as getDefaultExportFromCjs } from './identity-B8_RBemH.js';
2
2
 
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -1,4 +1,4 @@
1
- import { j as getDefaultExportFromCjs } from './identity-CVOmmghe.js';
1
+ import { j as getDefaultExportFromCjs } from './identity-B8_RBemH.js';
2
2
 
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -1,5 +1,5 @@
1
- import { L as LittlePubSub, d as deflate_1, i as inflate_1, c as createDebugger } from './peernet-CkNrFC2s.js';
2
- import './identity-CVOmmghe.js';
1
+ import { L as LittlePubSub, d as deflate_1, i as inflate_1, c as createDebugger } from './peernet-Ch6Gs5XY.js';
2
+ import './identity-B8_RBemH.js';
3
3
  import './value-C3vAp-wb.js';
4
4
 
5
5
  class Api {
@@ -231,7 +231,7 @@ class SocketRequestClient {
231
231
  const init = async () => {
232
232
  // @ts-ignore
233
233
  if (!globalThis.WebSocket && !this.#experimentalWebsocket)
234
- globalThis.WebSocket = (await import('./browser-DY5Zkio6.js').then(function (n) { return n.b; })).default.w3cwebsocket;
234
+ globalThis.WebSocket = (await import('./browser-DTwbEd2v.js').then(function (n) { return n.b; })).default.w3cwebsocket;
235
235
  const client = new WebSocket(this.#url, this.#protocol);
236
236
  if (this.#experimentalWebsocket) {
237
237
  client.addEventListener('error', this.onerror);
@@ -346,7 +346,7 @@ const iceServers = [
346
346
  credential: 'openrelayproject'
347
347
  }
348
348
  ];
349
- const SimplePeer = (await import('./index-DdTTG_Yu.js').then(function (n) { return n.i; })).default;
349
+ const SimplePeer = (await import('./index-avzvc6cK.js').then(function (n) { return n.i; })).default;
350
350
  class Peer extends SimplePeer {
351
351
  peerId;
352
352
  channelName;
@@ -675,7 +675,7 @@ class Client {
675
675
  }
676
676
  async _init() {
677
677
  if (!globalThis.RTCPeerConnection)
678
- globalThis.wrtc = (await import('./browser-CYmOzil3.js').then(function (n) { return n.b; })).default;
678
+ globalThis.wrtc = (await import('./browser-AkMNdace.js').then(function (n) { return n.b; })).default;
679
679
  for (const star of this.starsConfig) {
680
680
  try {
681
681
  await this.setupStar(star);
@@ -17470,7 +17470,7 @@ class Identity {
17470
17470
  }
17471
17471
  if (!password) {
17472
17472
  // @ts-ignore
17473
- const importee = await import('./src/prompts/password.js');
17473
+ const importee = await import('./prompts/password.js');
17474
17474
  password = await importee.default();
17475
17475
  }
17476
17476
  const accountExists = await globalThis.accountStore.has('public');
@@ -17481,7 +17481,7 @@ class Identity {
17481
17481
  this.selectedAccount = new TextDecoder().decode(selected);
17482
17482
  }
17483
17483
  else {
17484
- const importee = await import(/* webpackChunkName: "generate-account" */ './index-BMd3d9G1.js');
17484
+ const importee = await import(/* webpackChunkName: "generate-account" */ './index-C8MlQb3B.js');
17485
17485
  const { identity, accounts } = await importee.default(password, this.network);
17486
17486
  await globalThis.accountStore.put('public', JSON.stringify({ walletId: identity.walletId }));
17487
17487
  await globalThis.walletStore.put('version', String(1));
@@ -1 +1 @@
1
- export { I as default } from './identity-CVOmmghe.js';
1
+ export { I as default } from './identity-B8_RBemH.js';
@@ -1,4 +1,4 @@
1
- import { M as MultiWallet, i as encrypt, a as base58$1 } from './identity-CVOmmghe.js';
1
+ import { M as MultiWallet, i as encrypt, a as base58$1 } from './identity-B8_RBemH.js';
2
2
 
3
3
  /**
4
4
  * @params {String} network
@@ -1,4 +1,4 @@
1
- import { c as commonjsGlobal, r as require$$3, o as requireInherits_browser, j as getDefaultExportFromCjs } from './identity-CVOmmghe.js';
1
+ import { c as commonjsGlobal, r as require$$3, o as requireInherits_browser, j as getDefaultExportFromCjs } from './identity-B8_RBemH.js';
2
2
  import require$$0 from 'events';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,5 +1,5 @@
1
- import { F as FormatInterface } from './peernet-CkNrFC2s.js';
2
- import './identity-CVOmmghe.js';
1
+ import { F as FormatInterface } from './peernet-Ch6Gs5XY.js';
2
+ import './identity-B8_RBemH.js';
3
3
  import './value-C3vAp-wb.js';
4
4
 
5
5
  var proto$b = {
@@ -1,4 +1,4 @@
1
- import { k as index$2, b as base, a as base58$1, l as index$3, m as index$4, n as index$5, h as createSHA512, g as createSHA384, f as createSHA256, e as createSHA224, d as createSHA1, I as Identity } from './identity-CVOmmghe.js';
1
+ import { k as index$2, b as base, a as base58$1, l as index$3, m as index$4, n as index$5, h as createSHA512, g as createSHA384, f as createSHA256, e as createSHA224, d as createSHA1, I as Identity } from './identity-B8_RBemH.js';
2
2
  import { K as KeyPath, a as KeyValue } from './value-C3vAp-wb.js';
3
3
 
4
4
  const getTargets = () => Array.from([]);
@@ -8544,7 +8544,7 @@ class Peernet {
8544
8544
  await getAddress();
8545
8545
  this.storePrefix = options.storePrefix;
8546
8546
  this.root = options.root;
8547
- const { RequestMessage, ResponseMessage, PeerMessage, PeerMessageResponse, PeernetMessage, DHTMessage, DHTMessageResponse, DataMessage, DataMessageResponse, PsMessage, ChatMessage, PeernetFile } = await import(/* webpackChunkName: "messages" */ './messages-CVgBNJyv.js');
8547
+ const { RequestMessage, ResponseMessage, PeerMessage, PeerMessageResponse, PeernetMessage, DHTMessage, DHTMessageResponse, DataMessage, DataMessageResponse, PsMessage, ChatMessage, PeernetFile } = await import(/* webpackChunkName: "messages" */ './messages-skO3uGkB.js');
8548
8548
  /**
8549
8549
  * proto Object containing protos
8550
8550
  * @type {Object}
@@ -8591,7 +8591,7 @@ class Peernet {
8591
8591
  if (this.#starting || this.#started)
8592
8592
  return;
8593
8593
  this.#starting = true;
8594
- const importee = await import('./client-DoGApAbT.js');
8594
+ const importee = await import('./client-B5W9RVIn.js');
8595
8595
  /**
8596
8596
  * @access public
8597
8597
  * @type {PeernetClient}
@@ -1,3 +1,3 @@
1
- export { P as default } from './peernet-CkNrFC2s.js';
2
- import './identity-CVOmmghe.js';
1
+ export { P as default } from './peernet-Ch6Gs5XY.js';
2
+ import './identity-B8_RBemH.js';
3
3
  import './value-C3vAp-wb.js';
@@ -32,7 +32,7 @@ class Identity {
32
32
  }
33
33
  if (!password) {
34
34
  // @ts-ignore
35
- const importee = await import('./src/prompts/password.js');
35
+ const importee = await import('./prompts/password.js');
36
36
  password = await importee.default();
37
37
  }
38
38
  const accountExists = await globalThis.accountStore.has('public');
@@ -0,0 +1 @@
1
+ export { default } from "./password/browser.js";
package/package.json CHANGED
@@ -1,300 +1,76 @@
1
1
  {
2
2
  "name": "@leofcoin/peernet",
3
- "version": "1.2.18",
3
+ "version": "1.2.20",
4
4
  "description": "",
5
5
  "browser": "./exports/browser/peernet.js",
6
6
  "exports": {
7
7
  ".": {
8
- "import": "exports/peernet.js",
9
- "types": "exports/types/peernet.d.ts"
8
+ "import": "./exports/peernet.js",
9
+ "types": "./exports/types/peernet.d.ts"
10
10
  },
11
11
  "./browser": {
12
- "import": "./exports/browser.js",
13
- "types": "./exports/types/src/prompts/password/browser.d.ts"
12
+ "import": "./exports/browser/peernet.js",
13
+ "types": "./exports/types/peernet.d.ts"
14
14
  },
15
15
  "./browser.js": {
16
- "import": "./exports/browser.js",
17
- "types": "./exports/types/src/prompts/password/browser.d.ts"
18
- },
19
- "./chat-message.proto": {
20
- "import": "./exports/chat-message.proto.js",
21
- "types": "./exports/types/src/proto/chat-message.proto.d.ts"
22
- },
23
- "./chat-message.proto.js": {
24
- "import": "./exports/chat-message.proto.js",
25
- "types": "./exports/types/src/proto/chat-message.proto.d.ts"
26
- },
27
- "./chat": {
28
- "import": "./exports/chat.js",
29
- "types": "./exports/types/src/messages/chat.d.ts"
30
- },
31
- "./chat.js": {
32
- "import": "./exports/chat.js",
33
- "types": "./exports/types/src/messages/chat.d.ts"
34
- },
35
- "./data-response": {
36
- "import": "./exports/data-response.js",
37
- "types": "./exports/types/src/messages/data-response.d.ts"
38
- },
39
- "./data-response.js": {
40
- "import": "./exports/data-response.js",
41
- "types": "./exports/types/src/messages/data-response.d.ts"
42
- },
43
- "./data-response.proto": {
44
- "import": "./exports/data-response.proto.js",
45
- "types": "./exports/types/src/proto/data-response.proto.d.ts"
46
- },
47
- "./data-response.proto.js": {
48
- "import": "./exports/data-response.proto.js",
49
- "types": "./exports/types/src/proto/data-response.proto.d.ts"
50
- },
51
- "./data": {
52
- "import": "./exports/data.js",
53
- "types": "./exports/types/src/handlers/data.d.ts"
54
- },
55
- "./data.js": {
56
- "import": "./exports/data.js",
57
- "types": "./exports/types/src/handlers/data.d.ts"
58
- },
59
- "./data.proto": {
60
- "import": "./exports/data.proto.js",
61
- "types": "./exports/types/src/proto/data.proto.d.ts"
62
- },
63
- "./data.proto.js": {
64
- "import": "./exports/data.proto.js",
65
- "types": "./exports/types/src/proto/data.proto.d.ts"
66
- },
67
- "./dht-response": {
68
- "import": "./exports/dht-response.js",
69
- "types": "./exports/types/src/messages/dht-response.d.ts"
70
- },
71
- "./dht-response.js": {
72
- "import": "./exports/dht-response.js",
73
- "types": "./exports/types/src/messages/dht-response.d.ts"
74
- },
75
- "./dht-response.proto": {
76
- "import": "./exports/dht-response.proto.js",
77
- "types": "./exports/types/src/proto/dht-response.proto.d.ts"
78
- },
79
- "./dht-response.proto.js": {
80
- "import": "./exports/dht-response.proto.js",
81
- "types": "./exports/types/src/proto/dht-response.proto.d.ts"
82
- },
83
- "./dht": {
84
- "import": "./exports/dht.js",
85
- "types": "./exports/types/src/dht/dht.d.ts"
86
- },
87
- "./dht.js": {
88
- "import": "./exports/dht.js",
89
- "types": "./exports/types/src/dht/dht.d.ts"
90
- },
91
- "./dht.proto": {
92
- "import": "./exports/dht.proto.js",
93
- "types": "./exports/types/src/proto/dht.proto.d.ts"
94
- },
95
- "./dht.proto.js": {
96
- "import": "./exports/dht.proto.js",
97
- "types": "./exports/types/src/proto/dht.proto.d.ts"
98
- },
99
- "./errors": {
100
- "import": "./exports/errors.js",
101
- "types": "./exports/types/src/errors/errors.d.ts"
102
- },
103
- "./errors.js": {
104
- "import": "./exports/errors.js",
105
- "types": "./exports/types/src/errors/errors.d.ts"
106
- },
107
- "./file-link": {
108
- "import": "./exports/file-link.js",
109
- "types": "./exports/types/src/messages/file-link.d.ts"
110
- },
111
- "./file-link.js": {
112
- "import": "./exports/file-link.js",
113
- "types": "./exports/types/src/messages/file-link.d.ts"
114
- },
115
- "./file-link.proto": {
116
- "import": "./exports/file-link.proto.js",
117
- "types": "./exports/types/src/proto/file-link.proto.d.ts"
118
- },
119
- "./file-link.proto.js": {
120
- "import": "./exports/file-link.proto.js",
121
- "types": "./exports/types/src/proto/file-link.proto.d.ts"
122
- },
123
- "./file": {
124
- "import": "./exports/file.js",
125
- "types": "./exports/types/src/messages/file.d.ts"
126
- },
127
- "./file.js": {
128
- "import": "./exports/file.js",
129
- "types": "./exports/types/src/messages/file.d.ts"
130
- },
131
- "./file.proto": {
132
- "import": "./exports/file.proto.js",
133
- "types": "./exports/types/src/proto/file.proto.d.ts"
134
- },
135
- "./file.proto.js": {
136
- "import": "./exports/file.proto.js",
137
- "types": "./exports/types/src/proto/file.proto.d.ts"
138
- },
139
- "./identity": {
140
- "import": "./exports/identity.js",
141
- "types": "./exports/types/src/identity.d.ts"
142
- },
143
- "./identity.js": {
144
- "import": "./exports/identity.js",
145
- "types": "./exports/types/src/identity.d.ts"
146
- },
147
- "./message": {
148
- "import": "./exports/message.js",
149
- "types": "./exports/types/src/handlers/message.d.ts"
150
- },
151
- "./message.js": {
152
- "import": "./exports/message.js",
153
- "types": "./exports/types/src/handlers/message.d.ts"
154
- },
155
- "./messages": {
156
- "import": "./exports/messages.js",
157
- "types": "./exports/types/src/messages.d.ts"
158
- },
159
- "./messages.js": {
160
- "import": "./exports/messages.js",
161
- "types": "./exports/types/src/messages.d.ts"
16
+ "import": "./exports/browser/peernet.js",
17
+ "types": "./exports/types/peernet.d.ts"
162
18
  },
163
19
  "./node": {
164
- "import": "./exports/node.js",
165
- "types": "./exports/types/src/prompts/password/node.d.ts"
20
+ "import": "./exports/prompts/password.js",
21
+ "types": "./exports/types/prompts/password/node.d.ts"
166
22
  },
167
23
  "./node.js": {
168
- "import": "./exports/node.js",
169
- "types": "./exports/types/src/prompts/password/node.d.ts"
170
- },
171
- "./peer-discovery": {
172
- "import": "./exports/peer-discovery.js",
173
- "types": "./exports/types/src/discovery/peer-discovery.d.ts"
24
+ "import": "./exports/prompts/password.js",
25
+ "types": "./exports/types/prompts/password/node.d.ts"
174
26
  },
175
- "./peer-discovery.js": {
176
- "import": "./exports/peer-discovery.js",
177
- "types": "./exports/types/src/discovery/peer-discovery.d.ts"
27
+ "./browser/browser-store": {
28
+ "import": "./exports/browser/browser-store.js"
178
29
  },
179
- "./peer-info": {
180
- "import": "./exports/peer-info.js",
181
- "types": "./exports/types/src/peer-info.d.ts"
30
+ "./browser/browser-store.js": {
31
+ "import": "./exports/browser/browser-store.js"
182
32
  },
183
- "./peer-info.js": {
184
- "import": "./exports/peer-info.js",
185
- "types": "./exports/types/src/peer-info.d.ts"
33
+ "./browser/identity": {
34
+ "import": "./exports/browser/identity.js"
186
35
  },
187
- "./peer-response": {
188
- "import": "./exports/peer-response.js",
189
- "types": "./exports/types/src/messages/peer-response.d.ts"
36
+ "./browser/identity.js": {
37
+ "import": "./exports/browser/identity.js"
190
38
  },
191
- "./peer-response.js": {
192
- "import": "./exports/peer-response.js",
193
- "types": "./exports/types/src/messages/peer-response.d.ts"
39
+ "./browser/peernet": {
40
+ "import": "./exports/browser/peernet.js"
194
41
  },
195
- "./peer-response.proto": {
196
- "import": "./exports/peer-response.proto.js",
197
- "types": "./exports/types/src/proto/peer-response.proto.d.ts"
42
+ "./browser/peernet.js": {
43
+ "import": "./exports/browser/peernet.js"
198
44
  },
199
- "./peer-response.proto.js": {
200
- "import": "./exports/peer-response.proto.js",
201
- "types": "./exports/types/src/proto/peer-response.proto.d.ts"
45
+ "./browser/prompts/password": {
46
+ "import": "./exports/browser/prompts/password.js"
202
47
  },
203
- "./peer": {
204
- "import": "./exports/peer.js",
205
- "types": "./exports/types/src/messages/peer.d.ts"
48
+ "./browser/prompts/password.js": {
49
+ "import": "./exports/browser/prompts/password.js"
206
50
  },
207
- "./peer.js": {
208
- "import": "./exports/peer.js",
209
- "types": "./exports/types/src/messages/peer.d.ts"
210
- },
211
- "./peer.proto": {
212
- "import": "./exports/peer.proto.js",
213
- "types": "./exports/types/src/proto/peer.proto.d.ts"
51
+ "./identity": {
52
+ "import": "./exports/identity.js"
214
53
  },
215
- "./peer.proto.js": {
216
- "import": "./exports/peer.proto.js",
217
- "types": "./exports/types/src/proto/peer.proto.d.ts"
54
+ "./identity.js": {
55
+ "import": "./exports/identity.js"
218
56
  },
219
57
  "./peernet": {
220
- "import": "./exports/peernet.js",
221
- "types": "./exports/types/src/messages/peernet.d.ts"
58
+ "import": "./exports/peernet.js"
222
59
  },
223
60
  "./peernet.js": {
224
- "import": "./exports/peernet.js",
225
- "types": "./exports/types/src/messages/peernet.d.ts"
226
- },
227
- "./peernet.proto": {
228
- "import": "./exports/peernet.proto.js",
229
- "types": "./exports/types/src/proto/peernet.proto.d.ts"
230
- },
231
- "./peernet.proto.js": {
232
- "import": "./exports/peernet.proto.js",
233
- "types": "./exports/types/src/proto/peernet.proto.d.ts"
234
- },
235
- "./ps": {
236
- "import": "./exports/ps.js",
237
- "types": "./exports/types/src/messages/ps.d.ts"
238
- },
239
- "./ps.js": {
240
- "import": "./exports/ps.js",
241
- "types": "./exports/types/src/messages/ps.d.ts"
242
- },
243
- "./ps.proto": {
244
- "import": "./exports/ps.proto.js",
245
- "types": "./exports/types/src/proto/ps.proto.d.ts"
246
- },
247
- "./ps.proto.js": {
248
- "import": "./exports/ps.proto.js",
249
- "types": "./exports/types/src/proto/ps.proto.d.ts"
250
- },
251
- "./request": {
252
- "import": "./exports/request.js",
253
- "types": "./exports/types/src/messages/request.d.ts"
254
- },
255
- "./request.js": {
256
- "import": "./exports/request.js",
257
- "types": "./exports/types/src/messages/request.d.ts"
258
- },
259
- "./request.proto": {
260
- "import": "./exports/request.proto.js",
261
- "types": "./exports/types/src/proto/request.proto.d.ts"
262
- },
263
- "./request.proto.js": {
264
- "import": "./exports/request.proto.js",
265
- "types": "./exports/types/src/proto/request.proto.d.ts"
266
- },
267
- "./response": {
268
- "import": "./exports/response.js",
269
- "types": "./exports/types/src/messages/response.d.ts"
270
- },
271
- "./response.js": {
272
- "import": "./exports/response.js",
273
- "types": "./exports/types/src/messages/response.d.ts"
274
- },
275
- "./response.proto": {
276
- "import": "./exports/response.proto.js",
277
- "types": "./exports/types/src/proto/response.proto.d.ts"
278
- },
279
- "./response.proto.js": {
280
- "import": "./exports/response.proto.js",
281
- "types": "./exports/types/src/proto/response.proto.d.ts"
61
+ "import": "./exports/peernet.js"
282
62
  },
283
- "./types": {
284
- "import": "./exports/types.js",
285
- "types": "./exports/types/src/types.d.ts"
63
+ "./prompts/password": {
64
+ "import": "./exports/prompts/password.js"
286
65
  },
287
- "./types.js": {
288
- "import": "./exports/types.js",
289
- "types": "./exports/types/src/types.d.ts"
66
+ "./prompts/password.js": {
67
+ "import": "./exports/prompts/password.js"
290
68
  },
291
- "./utils": {
292
- "import": "./exports/utils.js",
293
- "types": "./exports/types/src/utils/utils.d.ts"
69
+ "./store": {
70
+ "import": "./exports/store.js"
294
71
  },
295
- "./utils.js": {
296
- "import": "./exports/utils.js",
297
- "types": "./exports/types/src/utils/utils.d.ts"
72
+ "./store.js": {
73
+ "import": "./exports/store.js"
298
74
  }
299
75
  },
300
76
  "type": "module",
@@ -336,7 +112,6 @@
336
112
  "@rollup/plugin-wasm": "^6.2.2",
337
113
  "@types/node": "^25.9.1",
338
114
  "@types/qrcode": "^1.5.6",
339
- "rollup": "^4.60.4",
340
- "rollup-plugin-auto-exports": "^1.1.1"
115
+ "rollup": "^4.60.4"
341
116
  }
342
117
  }
package/rollup.config.js CHANGED
@@ -2,9 +2,95 @@ import resolve from '@rollup/plugin-node-resolve'
2
2
  import commonjs from '@rollup/plugin-commonjs'
3
3
  import json from '@rollup/plugin-json'
4
4
  import wasm from '@rollup/plugin-wasm'
5
+ import { readdir, readFile, writeFile } from 'node:fs/promises'
6
+ import { extname, relative, sep } from 'node:path'
5
7
  import rimraf from 'rimraf'
6
8
  import typescript from '@rollup/plugin-typescript'
7
- import autoExports from 'rollup-plugin-auto-exports'
9
+
10
+ const toPosix = (value) => value.split(sep).join('/')
11
+
12
+ const walk = async (dir) => {
13
+ const entries = await readdir(dir, { withFileTypes: true })
14
+ const files = []
15
+
16
+ for (const entry of entries) {
17
+ const fullPath = `${dir}/${entry.name}`
18
+ if (entry.isDirectory()) {
19
+ files.push(...(await walk(fullPath)))
20
+ continue
21
+ }
22
+ files.push(fullPath)
23
+ }
24
+
25
+ return files
26
+ }
27
+
28
+ const isHashedChunk = (runtimePath) => /-[A-Za-z0-9_-]{8,}\.js$/.test(runtimePath)
29
+
30
+ const normalizeNodePromptImport = () => ({
31
+ name: 'normalize-node-prompt-import',
32
+ writeBundle: async () => {
33
+ const filePath = 'exports/identity.js'
34
+ const code = await readFile(filePath, 'utf8')
35
+ const normalized = code
36
+ .replaceAll("'./src/prompts/password.js'", "'./prompts/password.js'")
37
+ .replace(/(["'])\.\/Users\/[^"']*\/src\/prompts\/password\.js\1/g, '$1./prompts/password.js$1')
38
+
39
+ if (normalized !== code) {
40
+ await writeFile(filePath, normalized)
41
+ }
42
+ }
43
+ })
44
+
45
+ const runtimeFirstExports = ({ exportsDir = 'exports', declarationsDir = 'exports/types' } = {}) => ({
46
+ name: 'runtime-first-exports',
47
+ writeBundle: async () => {
48
+ const runtimeFiles = (await walk(exportsDir))
49
+ .map((file) => toPosix(relative(exportsDir, file)))
50
+ .filter((file) => extname(file) === '.js')
51
+ .filter((file) => !file.startsWith('types/'))
52
+ .filter((file) => !isHashedChunk(file))
53
+ .sort((a, b) => a.localeCompare(b))
54
+
55
+ const declarationFiles = (await walk(declarationsDir))
56
+ .map((file) => toPosix(relative(declarationsDir, file)))
57
+ .filter((file) => extname(file) === '.ts' && file.endsWith('.d.ts'))
58
+
59
+ const declarationByRuntime = new Map(declarationFiles.map((file) => [file.slice(0, -'.d.ts'.length), file]))
60
+
61
+ const declarationAliases = {
62
+ 'prompts/password': 'prompts/password/node',
63
+ 'browser/prompts/password': 'prompts/password/browser',
64
+ 'browser/peernet': 'peernet',
65
+ 'browser/identity': 'identity'
66
+ }
67
+
68
+ const packageExports = {
69
+ '.': { import: './exports/peernet.js', types: './exports/types/peernet.d.ts' },
70
+ './browser': { import: './exports/browser/peernet.js', types: './exports/types/peernet.d.ts' },
71
+ './browser.js': { import: './exports/browser/peernet.js', types: './exports/types/peernet.d.ts' },
72
+ './node': { import: './exports/prompts/password.js', types: './exports/types/prompts/password/node.d.ts' },
73
+ './node.js': { import: './exports/prompts/password.js', types: './exports/types/prompts/password/node.d.ts' }
74
+ }
75
+
76
+ for (const runtimeFile of runtimeFiles) {
77
+ const runtimeKey = runtimeFile.slice(0, -'.js'.length)
78
+ const exportKey = `./${runtimeKey}`
79
+ const exportJsKey = `./${runtimeKey}.js`
80
+ const importPath = `./${exportsDir}/${runtimeFile}`
81
+ const declarationKey = declarationAliases[runtimeKey] || runtimeKey
82
+ const declarationPath = declarationByRuntime.get(declarationKey)
83
+ const typesPath = declarationPath ? `./${declarationsDir}/${declarationPath}` : undefined
84
+
85
+ packageExports[exportKey] = typesPath ? { import: importPath, types: typesPath } : { import: importPath }
86
+ packageExports[exportJsKey] = typesPath ? { import: importPath, types: typesPath } : { import: importPath }
87
+ }
88
+
89
+ const packageJson = JSON.parse(await readFile('./package.json', 'utf8'))
90
+ packageJson.exports = packageExports
91
+ await writeFile('./package.json', `${JSON.stringify(packageJson, null, ' ')}\n`)
92
+ }
93
+ })
8
94
 
9
95
  rimraf.sync('./exports/**')
10
96
 
@@ -13,7 +99,10 @@ export default [
13
99
  input: ['./src/peernet.ts', './src/identity.ts', './node_modules/@leofcoin/storage/exports/browser-store.js'],
14
100
  output: {
15
101
  format: 'es',
16
- dir: 'exports/browser'
102
+ dir: 'exports/browser',
103
+ chunkFileNames: (chunkInfo) =>
104
+ chunkInfo.name === 'prompts/password' ? 'prompts/password.js' : '[name]-[hash].js',
105
+ manualChunks: (id) => (id.endsWith('/src/prompts/password.js') ? 'prompts/password' : undefined)
17
106
  },
18
107
  plugins: [
19
108
  json(),
@@ -28,14 +117,14 @@ export default [
28
117
  }),
29
118
 
30
119
  typescript({ compilerOptions: { outDir: 'exports/browser', declaration: false } })
31
- ],
32
- external: ['./prompts/password.js']
120
+ ]
33
121
  },
34
122
  {
35
123
  input: ['./src/peernet.ts', './src/identity.ts', './node_modules/@leofcoin/storage/exports/store.js'],
36
124
  output: {
37
125
  format: 'es',
38
- dir: 'exports'
126
+ dir: 'exports',
127
+ paths: (id) => (id === './src/prompts/password.js' ? './prompts/password.js' : id)
39
128
  },
40
129
  plugins: [
41
130
  typescript({
@@ -44,26 +133,28 @@ export default [
44
133
  declarationDir: 'exports/types'
45
134
  }
46
135
  }),
47
- autoExports({
48
- defaultExports: {
49
- '.': { import: 'exports/peernet.js', types: 'exports/types/peernet.d.ts' }
50
- }
51
- })
136
+ normalizeNodePromptImport()
52
137
  ],
53
- external: ['./prompts/password.js']
138
+ external: [
139
+ './prompts/password.js',
140
+ './src/prompts/password.js',
141
+ './prompts/password/browser.js',
142
+ './prompts/password/node.js'
143
+ ]
54
144
  },
55
145
  {
56
146
  input: ['./src/prompts/password/browser.js'],
57
147
  output: {
58
148
  format: 'es',
59
- file: 'exports/browser/src/prompts/password.js'
149
+ file: 'exports/browser/prompts/password.js'
60
150
  }
61
151
  },
62
152
  {
63
153
  input: ['./src/prompts/password/node.js'],
64
154
  output: {
65
155
  format: 'es',
66
- file: 'exports/src/prompts/password.js'
67
- }
156
+ file: 'exports/prompts/password.js'
157
+ },
158
+ plugins: [runtimeFirstExports()]
68
159
  }
69
160
  ]
@@ -0,0 +1 @@
1
+ export { default } from './password/browser.js'
File without changes