@peerbit/vite 1.1.0 → 1.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EAInB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAGzC,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC9B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,WAAW,IAAI,OAAO,CAAA;KAAE,CAAC;IACnD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;yBA2HA,UAAS;IACR,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;CAC3C,KACJ,YAAY,EAAE;AALjB,wBA+BE;AA6BF,eAAO,MAAM,YAAY;wCAlJf,MAAM,SACR;QAAE,EAAE,CAAC,EAAE,cAAc,CAAC;QAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;KAAE;;qCAMnD,MAAM,EAAE,SACV;QAAE,EAAE,CAAC,EAAE,cAAc,CAAC;QAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;KAAE;CA8I5D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EAInB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAGzC,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC9B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,WAAW,IAAI,OAAO,CAAA;KAAE,CAAC;IACnD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;yBAyJA,UAAS;IACR,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;CAC3C,KACJ,YAAY,EAAE;AALjB,wBAwCE;AA6BF,eAAO,MAAM,YAAY;wCAzLf,MAAM,SACR;QAAE,EAAE,CAAC,EAAE,cAAc,CAAC;QAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;KAAE;;qCAMnD,MAAM,EAAE,SACV;QAAE,EAAE,CAAC,EAAE,cAAc,CAAC;QAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;KAAE;CAqL5D,CAAC"}
package/dist/src/index.js CHANGED
@@ -60,58 +60,93 @@ function copyToPublicPlugin(options = {}) {
60
60
  return {
61
61
  name: "copy-to-public",
62
62
  enforce: "pre",
63
- buildStart() {
64
- // Ensure worker exists in public/ as a last-resort (CI safety), even if assets disabled
65
- try {
66
- const destDir = path.resolve(resolveStaticPath(), sqlite3Assets.dest);
67
- copyAssets(sqlite3Assets.src, destDir, "/");
68
- }
69
- catch (_err) {
70
- // ignore; optional best-effort
71
- }
72
- if (options?.assets) {
73
- options.assets.forEach(({ src, dest }) => {
74
- const sourcePath = path.resolve(src);
75
- let destinationPath = path.resolve(resolveStaticPath(), dest);
76
- copyAssets(sourcePath, destinationPath, "/");
77
- });
63
+ config(config) {
64
+ const publicDir = resolveOrCreatePublicDir(config?.publicDir);
65
+ config.publicDir = publicDir;
66
+ if (!publicDir) {
67
+ throw new Error("[peerbit/vite] No public or static directory found. Please create a public/ or static/ directory or configure publicDir explicitly.");
78
68
  }
69
+ // Ensure worker exists in public/ for dev server.
70
+ const destDir = path.resolve(publicDir, sqlite3Assets.dest);
71
+ copyAssets(sqlite3Assets.src, destDir, "/");
72
+ options?.assets?.forEach(({ src, dest }) => {
73
+ const sourcePath = path.resolve(src);
74
+ const destinationPath = path.resolve(publicDir, dest);
75
+ copyAssets(sourcePath, destinationPath, "/");
76
+ });
79
77
  },
80
78
  };
81
79
  }
82
- const resolveStaticPath = () => {
83
- // if public folder exist, then put files there (react)
84
- // else put in static folder if (svelte)
85
- // else throw error
80
+ const resolveOrCreatePublicDir = (configured) => {
81
+ if (configured === false)
82
+ return undefined;
83
+ if (configured)
84
+ return path.resolve(configured);
86
85
  const publicPath = path.resolve(process.cwd(), "public");
87
- const staticPath = path.resolve(process.cwd(), "static");
88
- if (fs.existsSync(publicPath)) {
86
+ if (fs.existsSync(publicPath))
89
87
  return publicPath;
90
- }
91
- else if (fs.existsSync(staticPath)) {
88
+ const staticPath = path.resolve(process.cwd(), "static");
89
+ if (fs.existsSync(staticPath))
92
90
  return staticPath;
93
- }
94
- else {
95
- throw new Error("Could not find public or static folder");
96
- }
91
+ return undefined;
97
92
  };
93
+ function nodePolyfillsPlugin() {
94
+ const resolveEvents = () => {
95
+ try {
96
+ const req = createRequire(import.meta.url);
97
+ return req.resolve("events/");
98
+ }
99
+ catch {
100
+ // fallback: attempt via cwd
101
+ const req = createRequire(path.join(process.cwd(), "package.json"));
102
+ return req.resolve("events/");
103
+ }
104
+ };
105
+ return {
106
+ name: "peerbit-node-polyfills",
107
+ config(config) {
108
+ config.resolve = config.resolve || {};
109
+ config.resolve.alias = config.resolve.alias || {};
110
+ if (!config.resolve.alias.events) {
111
+ config.resolve.alias.events = resolveEvents();
112
+ }
113
+ config.optimizeDeps = config.optimizeDeps || {};
114
+ config.optimizeDeps.include = config.optimizeDeps.include || [];
115
+ if (!config.optimizeDeps.include.includes("events")) {
116
+ config.optimizeDeps.include.push("events");
117
+ }
118
+ },
119
+ };
120
+ }
98
121
  export default (options = {}) => {
99
122
  const includeDefaultAssets = options.assets === undefined;
100
123
  const userAssets = Array.isArray(options.assets) ? options.assets : [];
101
124
  const assetsToCopy = includeDefaultAssets
102
125
  ? [...resolveAssetLocations(defaultAssetSources), ...userAssets]
103
126
  : userAssets;
127
+ const staticCopyTargets = assetsToCopy.map(({ src, dest }) => ({
128
+ src,
129
+ dest: path.dirname(dest),
130
+ rename: path.basename(dest),
131
+ }));
132
+ const publicDir = resolveOrCreatePublicDir();
104
133
  return [
105
134
  dontMinimizeCertainPackagesPlugin({ packages: options.packages }),
106
135
  copyToPublicPlugin({
107
136
  assets: assetsToCopy,
108
137
  }),
138
+ nodePolyfillsPlugin(),
109
139
  viteStaticCopy({
110
140
  targets: [
111
- {
112
- src: path.join(resolveStaticPath(), "peerbit", "sqlite3", "sqlite3.wasm"),
113
- dest: "node_modules/.vite/deps",
114
- },
141
+ ...staticCopyTargets,
142
+ ...(publicDir
143
+ ? [
144
+ {
145
+ src: path.join(publicDir, "peerbit", "sqlite3", "sqlite3.wasm"),
146
+ dest: "node_modules/.vite/deps",
147
+ },
148
+ ]
149
+ : []),
115
150
  ],
116
151
  }),
117
152
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,wBAAwB,IAAI,4BAA4B,EACxD,qBAAqB,IAAI,yBAAyB,EAClD,mBAAmB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAqB,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAazD,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEzD,IAAI,cAA0C,CAAC;AAC/C,IAAI,CAAC;IACJ,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;AAC1E,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACd,2DAA2D;AAC5D,CAAC;AAED,MAAM,wBAAwB,GAAG,CAAC,IAGjC,EAAsB,EAAE;IACxB,MAAM,kBAAkB,GACvB,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC,SAAS;QAChB,CAAC,CAAC,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAExC,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAChD,CAAC,QAAQ,EAA8B,EAAE,CAAC,QAAQ,IAAI,IAAI,CAC1D,CAAC;IAEF,MAAM,OAAO,GAAuB;QACnC,SAAS,EAAE,eAAe;KAC1B,CAAC;IAEF,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAyC,CAAC;IAC7D,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAChC,OAAe,EACf,IAA4D,EAC3D,EAAE;IACH,OAAO,4BAA4B,CAAC,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC7B,OAAiB,EACjB,IAA4D,EAC3D,EAAE;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,CAAC;SACC,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC;SACrC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAC5C,CAAC;IACF,OAAO,yBAAyB,CAAC,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,SAAS,iCAAiC,CACzC,UAAmC,EAAE;IAErC,OAAO,CAAC,QAAQ,GAAG;QAClB,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC3B,yBAAyB;QACzB,oBAAoB;QACpB,yBAAyB;KACzB,CAAC;IACF,OAAO;QACN,IAAI,EAAE,gCAAgC;QACtC,MAAM,CAAC,MAAW,EAAE,EAAE,OAAO,EAAO;YACnC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACzB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;gBAChD,MAAM,CAAC,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAa,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC9C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAC1B,UAAwD,EAAE;IAE1D,MAAM,CAAC,aAAa,CAAC,GAAG,qBAAqB,CAAC;QAC7C,8CAA8C;KAC9C,CAAC,CAAC;IAEH,OAAO;QACN,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,KAAc;QACvB,UAAU;YACT,wFAAwF;YACxF,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBACtE,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;gBACf,+BAA+B;YAChC,CAAC;YACD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;oBACxC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAErC,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC9D,UAAU,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC9B,uDAAuD;IACvD,wCAAwC;IACxC,mBAAmB;IAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC;IACnB,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC;IACnB,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,CACd,UAGI,EAAE,EACW,EAAE;IACnB,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;IAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,YAAY,GAAG,oBAAoB;QACxC,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,EAAE,GAAG,UAAU,CAAC;QAChE,CAAC,CAAC,UAAU,CAAC;IAEd,OAAO;QACN,iCAAiC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjE,kBAAkB,CAAC;YAClB,MAAM,EAAE,YAAY;SACpB,CAAC;QACF,cAAc,CAAC;YACd,OAAO,EAAE;gBACR;oBACC,GAAG,EAAE,IAAI,CAAC,IAAI,CACb,iBAAiB,EAAE,EACnB,SAAS,EACT,SAAS,EACT,cAAc,CACd;oBACD,IAAI,EAAE,yBAAyB;iBAC/B;aACD;SACD,CAAC;KACF,CAAC;AACH,CAAC,CAAC;AAEF,SAAS,UAAU,CAAC,OAAe,EAAE,QAAgB,EAAE,IAAY;IAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,iBAAiB,CAAC,CAAC;IACnD,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACxC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE/C,UAAU,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACP,IAAI,cAAc,GAAG,QAAQ,CAAC;QAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACpE,6BAA6B;YAC7B,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1C,CAAC;AACF,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,wBAAwB;IACxB,mBAAmB;IACnB,qBAAqB;CACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/vite",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Plugin for Vite to use Peerbit",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -67,8 +67,8 @@
67
67
  "chai": "^4.3.10",
68
68
  "@types/chai": "^4.3.16",
69
69
  "@peerbit/indexer-sqlite3": "1.3.0",
70
- "@peerbit/any-store": "2.2.0",
71
- "@peerbit/any-store-opfs": "1.1.0"
70
+ "@peerbit/any-store": "2.2.1",
71
+ "@peerbit/any-store-opfs": "1.1.1"
72
72
  },
73
73
  "localMaintainers": [
74
74
  "dao.xyz"
package/src/index.ts CHANGED
@@ -106,42 +106,72 @@ function copyToPublicPlugin(
106
106
  return {
107
107
  name: "copy-to-public",
108
108
  enforce: "pre" as const,
109
- buildStart() {
110
- // Ensure worker exists in public/ as a last-resort (CI safety), even if assets disabled
111
- try {
112
- const destDir = path.resolve(resolveStaticPath(), sqlite3Assets.dest);
113
- copyAssets(sqlite3Assets.src, destDir, "/");
114
- } catch (_err) {
115
- // ignore; optional best-effort
109
+ config(config: any) {
110
+ const publicDir = resolveOrCreatePublicDir(config?.publicDir);
111
+ config.publicDir = publicDir;
112
+
113
+ if (!publicDir) {
114
+ throw new Error(
115
+ "[peerbit/vite] No public or static directory found. Please create a public/ or static/ directory or configure publicDir explicitly.",
116
+ );
116
117
  }
117
- if (options?.assets) {
118
- options.assets.forEach(({ src, dest }) => {
119
- const sourcePath = path.resolve(src);
120
118
 
121
- let destinationPath = path.resolve(resolveStaticPath(), dest);
122
- copyAssets(sourcePath, destinationPath, "/");
123
- });
124
- }
119
+ // Ensure worker exists in public/ for dev server.
120
+ const destDir = path.resolve(publicDir, sqlite3Assets.dest);
121
+ copyAssets(sqlite3Assets.src, destDir, "/");
122
+
123
+ options?.assets?.forEach(({ src, dest }) => {
124
+ const sourcePath = path.resolve(src);
125
+ const destinationPath = path.resolve(publicDir, dest);
126
+ copyAssets(sourcePath, destinationPath, "/");
127
+ });
125
128
  },
126
129
  };
127
130
  }
128
131
 
129
- const resolveStaticPath = () => {
130
- // if public folder exist, then put files there (react)
131
- // else put in static folder if (svelte)
132
- // else throw error
132
+ const resolveOrCreatePublicDir = (configured?: string | false) => {
133
+ if (configured === false) return undefined;
134
+ if (configured) return path.resolve(configured);
133
135
 
134
136
  const publicPath = path.resolve(process.cwd(), "public");
137
+ if (fs.existsSync(publicPath)) return publicPath;
138
+
135
139
  const staticPath = path.resolve(process.cwd(), "static");
136
- if (fs.existsSync(publicPath)) {
137
- return publicPath;
138
- } else if (fs.existsSync(staticPath)) {
139
- return staticPath;
140
- } else {
141
- throw new Error("Could not find public or static folder");
142
- }
140
+ if (fs.existsSync(staticPath)) return staticPath;
141
+
142
+ return undefined;
143
143
  };
144
144
 
145
+ function nodePolyfillsPlugin() {
146
+ const resolveEvents = () => {
147
+ try {
148
+ const req = createRequire(import.meta.url);
149
+ return req.resolve("events/");
150
+ } catch {
151
+ // fallback: attempt via cwd
152
+ const req = createRequire(path.join(process.cwd(), "package.json"));
153
+ return req.resolve("events/");
154
+ }
155
+ };
156
+
157
+ return {
158
+ name: "peerbit-node-polyfills",
159
+ config(config: any) {
160
+ config.resolve = config.resolve || {};
161
+ config.resolve.alias = config.resolve.alias || {};
162
+ if (!config.resolve.alias.events) {
163
+ config.resolve.alias.events = resolveEvents();
164
+ }
165
+
166
+ config.optimizeDeps = config.optimizeDeps || {};
167
+ config.optimizeDeps.include = config.optimizeDeps.include || [];
168
+ if (!config.optimizeDeps.include.includes("events")) {
169
+ config.optimizeDeps.include.push("events");
170
+ }
171
+ },
172
+ };
173
+ }
174
+
145
175
  export default (
146
176
  options: {
147
177
  packages?: string[];
@@ -154,22 +184,31 @@ export default (
154
184
  ? [...resolveAssetLocations(defaultAssetSources), ...userAssets]
155
185
  : userAssets;
156
186
 
187
+ const staticCopyTargets = assetsToCopy.map(({ src, dest }) => ({
188
+ src,
189
+ dest: path.dirname(dest),
190
+ rename: path.basename(dest),
191
+ }));
192
+
193
+ const publicDir = resolveOrCreatePublicDir();
194
+
157
195
  return [
158
196
  dontMinimizeCertainPackagesPlugin({ packages: options.packages }),
159
197
  copyToPublicPlugin({
160
198
  assets: assetsToCopy,
161
199
  }),
200
+ nodePolyfillsPlugin(),
162
201
  viteStaticCopy({
163
202
  targets: [
164
- {
165
- src: path.join(
166
- resolveStaticPath(),
167
- "peerbit",
168
- "sqlite3",
169
- "sqlite3.wasm",
170
- ),
171
- dest: "node_modules/.vite/deps",
172
- },
203
+ ...staticCopyTargets,
204
+ ...(publicDir
205
+ ? [
206
+ {
207
+ src: path.join(publicDir, "peerbit", "sqlite3", "sqlite3.wasm"),
208
+ dest: "node_modules/.vite/deps",
209
+ },
210
+ ]
211
+ : []),
173
212
  ],
174
213
  }),
175
214
  ];