@peerbit/vite 1.0.0 → 1.0.1-5b40851

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":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;mCAqE/B;IACR,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzC,KACC,YAAY,EAAE;AALjB,wBAkBE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;mCA4E/B;IACR,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzC,KACC,YAAY,EAAE;AALjB,wBA0BE"}
package/dist/src/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import {} from "vite";
4
+ import { viteStaticCopy } from "vite-plugin-static-copy";
4
5
  function dontMinimizeCertainPackagesPlugin(options = {}) {
5
6
  options.packages = [
6
7
  ...(options.packages || []),
@@ -27,7 +28,7 @@ function copyToPublicPlugin(options = {}) {
27
28
  options.assets.forEach(({ src, dest }) => {
28
29
  const sourcePath = path.resolve(src);
29
30
  const destinationPath = path.resolve(process.cwd(), "public", dest);
30
- copyAssets(sourcePath, destinationPath);
31
+ copyAssets(sourcePath, destinationPath, "/");
31
32
  });
32
33
  }
33
34
  },
@@ -35,6 +36,7 @@ function copyToPublicPlugin(options = {}) {
35
36
  }
36
37
  const findLibraryInNodeModules = (library) => {
37
38
  // scan upwards until we find the node_modules folder
39
+ let maxSearchDepth = 10;
38
40
  let currentDir = process.cwd();
39
41
  let nodeModulesDir = path.join(currentDir, "node_modules");
40
42
  while (!fs.existsSync(path.join(nodeModulesDir, library))) {
@@ -45,6 +47,10 @@ const findLibraryInNodeModules = (library) => {
45
47
  if (fs.existsSync(path.join(currentDir, ".git"))) {
46
48
  break;
47
49
  }
50
+ maxSearchDepth--;
51
+ if (maxSearchDepth <= 0) {
52
+ throw new Error(`Could not find ${library} node_modules folder`);
53
+ }
48
54
  }
49
55
  const libraryPath = path.join(nodeModulesDir, library);
50
56
  if (!fs.existsSync(libraryPath)) {
@@ -68,26 +74,30 @@ export default (options = {}) => {
68
74
  copyToPublicPlugin({
69
75
  assets: [...defaultAssets, ...(options.assets || [])],
70
76
  }),
77
+ viteStaticCopy({
78
+ targets: [
79
+ {
80
+ src: "public/peerbit/sqlite3.wasm",
81
+ dest: "node_modules/.vite/deps",
82
+ },
83
+ ],
84
+ }),
71
85
  ];
72
86
  };
73
- function copyAssets(srcPath, destPath) {
87
+ function copyAssets(srcPath, destPath, base) {
74
88
  if (!fs.existsSync(srcPath)) {
75
89
  throw new Error(`File ${srcPath} does not exist`);
76
90
  }
77
91
  if (fs.statSync(srcPath).isDirectory()) {
78
- // Ensure the directory exists in the public folder
79
92
  fs.mkdirSync(destPath, { recursive: true });
80
- // Copy each file/directory inside the current directory
81
93
  fs.readdirSync(srcPath).forEach((file) => {
82
94
  const srcFilePath = path.join(srcPath, file);
83
95
  const destFilePath = path.join(destPath, file);
84
- copyAssets(srcFilePath, destFilePath); // Recursion for directories
96
+ copyAssets(srcFilePath, destFilePath, base);
85
97
  });
86
98
  }
87
99
  else {
88
- // Ensure the destination directory exists
89
100
  fs.mkdirSync(path.dirname(destPath), { recursive: true });
90
- // Copy the file
91
101
  fs.copyFileSync(srcPath, destPath);
92
102
  }
93
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,74 +1,75 @@
1
1
  {
2
- "name": "@peerbit/vite",
3
- "version": "1.0.0",
4
- "description": "Plugin for Vite to use Peerbit",
5
- "sideEffects": false,
6
- "type": "module",
7
- "types": "./dist/src/index.d.ts",
8
- "typesVersions": {
9
- "*": {
10
- "*": [
11
- "*",
12
- "dist/*",
13
- "dist/src/*",
14
- "dist/src/*/index"
15
- ],
16
- "src/*": [
17
- "*",
18
- "dist/*",
19
- "dist/src/*",
20
- "dist/src/*/index"
21
- ]
22
- }
23
- },
24
- "files": [
25
- "src",
26
- "dist",
27
- "!dist/e2e",
28
- "!dist/test",
29
- "!**/*.tsbuildinfo"
30
- ],
31
- "exports": {
32
- ".": {
33
- "types": "./dist/src/index.d.ts",
34
- "import": "./dist/src/index.js"
35
- }
36
- },
37
- "eslintConfig": {
38
- "extends": "peerbit",
39
- "parserOptions": {
40
- "project": true,
41
- "sourceType": "module"
42
- },
43
- "ignorePatterns": [
44
- "!.aegir.js",
45
- "test/ts-use",
46
- "*.d.ts"
47
- ]
48
- },
49
- "publishConfig": {
50
- "access": "public"
51
- },
52
- "scripts": {
53
- "clean": "aegir clean",
54
- "build": "aegir build --no-bundle",
55
- "test": "",
56
- "lint": "aegir lint"
57
- },
58
- "repository": {
59
- "type": "git",
60
- "url": "https://github.com/dao-xyz/peerbit"
61
- },
62
- "engines": {
63
- "node": ">=16.15.1"
64
- },
65
- "author": "dao.xyz",
66
- "license": "MIT",
67
- "dependencies": {
68
- "vite": "^5.0.10"
69
- },
70
- "devDependencies": {},
71
- "localMaintainers": [
72
- "dao.xyz"
73
- ]
2
+ "name": "@peerbit/vite",
3
+ "version": "1.0.1-5b40851",
4
+ "description": "Plugin for Vite to use Peerbit",
5
+ "sideEffects": false,
6
+ "type": "module",
7
+ "types": "./dist/src/index.d.ts",
8
+ "typesVersions": {
9
+ "*": {
10
+ "*": [
11
+ "*",
12
+ "dist/*",
13
+ "dist/src/*",
14
+ "dist/src/*/index"
15
+ ],
16
+ "src/*": [
17
+ "*",
18
+ "dist/*",
19
+ "dist/src/*",
20
+ "dist/src/*/index"
21
+ ]
22
+ }
23
+ },
24
+ "files": [
25
+ "src",
26
+ "dist",
27
+ "!dist/e2e",
28
+ "!dist/test",
29
+ "!**/*.tsbuildinfo"
30
+ ],
31
+ "exports": {
32
+ ".": {
33
+ "types": "./dist/src/index.d.ts",
34
+ "import": "./dist/src/index.js"
35
+ }
36
+ },
37
+ "eslintConfig": {
38
+ "extends": "peerbit",
39
+ "parserOptions": {
40
+ "project": true,
41
+ "sourceType": "module"
42
+ },
43
+ "ignorePatterns": [
44
+ "!.aegir.js",
45
+ "test/ts-use",
46
+ "*.d.ts"
47
+ ]
48
+ },
49
+ "publishConfig": {
50
+ "access": "public"
51
+ },
52
+ "scripts": {
53
+ "clean": "aegir clean",
54
+ "build": "aegir build --no-bundle",
55
+ "test": "",
56
+ "lint": "aegir lint"
57
+ },
58
+ "repository": {
59
+ "type": "git",
60
+ "url": "https://github.com/dao-xyz/peerbit"
61
+ },
62
+ "engines": {
63
+ "node": ">=16.15.1"
64
+ },
65
+ "author": "dao.xyz",
66
+ "license": "MIT",
67
+ "dependencies": {
68
+ "vite-plugin-static-copy": "^1.0.0",
69
+ "vite": "^5.0.10"
70
+ },
71
+ "devDependencies": {},
72
+ "localMaintainers": [
73
+ "dao.xyz"
74
+ ]
74
75
  }
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import { type PluginOption } from "vite";
4
+ import { viteStaticCopy } from "vite-plugin-static-copy";
4
5
 
5
6
  function dontMinimizeCertainPackagesPlugin(
6
7
  options: { packages?: string[] } = {},
@@ -34,7 +35,7 @@ function copyToPublicPlugin(
34
35
  const sourcePath = path.resolve(src);
35
36
  const destinationPath = path.resolve(process.cwd(), "public", dest);
36
37
 
37
- copyAssets(sourcePath, destinationPath);
38
+ copyAssets(sourcePath, destinationPath, "/");
38
39
  });
39
40
  }
40
41
  },
@@ -43,6 +44,7 @@ function copyToPublicPlugin(
43
44
 
44
45
  const findLibraryInNodeModules = (library: string) => {
45
46
  // scan upwards until we find the node_modules folder
47
+ let maxSearchDepth = 10;
46
48
  let currentDir = process.cwd();
47
49
  let nodeModulesDir = path.join(currentDir, "node_modules");
48
50
 
@@ -55,6 +57,11 @@ const findLibraryInNodeModules = (library: string) => {
55
57
  if (fs.existsSync(path.join(currentDir, ".git"))) {
56
58
  break;
57
59
  }
60
+
61
+ maxSearchDepth--;
62
+ if (maxSearchDepth <= 0) {
63
+ throw new Error(`Could not find ${library} node_modules folder`);
64
+ }
58
65
  }
59
66
  const libraryPath = path.join(nodeModulesDir, library);
60
67
  if (!fs.existsSync(libraryPath)) {
@@ -85,30 +92,34 @@ export default (
85
92
  copyToPublicPlugin({
86
93
  assets: [...defaultAssets, ...(options.assets || [])],
87
94
  }),
95
+ viteStaticCopy({
96
+ targets: [
97
+ {
98
+ src: "public/peerbit/sqlite3.wasm",
99
+ dest: "node_modules/.vite/deps",
100
+ },
101
+ ],
102
+ }),
88
103
  ];
89
104
  };
90
105
 
91
- function copyAssets(srcPath: string, destPath: string) {
106
+ function copyAssets(srcPath: string, destPath: string, base: string) {
92
107
  if (!fs.existsSync(srcPath)) {
93
108
  throw new Error(`File ${srcPath} does not exist`);
94
109
  }
95
110
 
96
111
  if (fs.statSync(srcPath).isDirectory()) {
97
- // Ensure the directory exists in the public folder
98
112
  fs.mkdirSync(destPath, { recursive: true });
99
113
 
100
- // Copy each file/directory inside the current directory
101
114
  fs.readdirSync(srcPath).forEach((file) => {
102
115
  const srcFilePath = path.join(srcPath, file);
103
116
  const destFilePath = path.join(destPath, file);
104
117
 
105
- copyAssets(srcFilePath, destFilePath); // Recursion for directories
118
+ copyAssets(srcFilePath, destFilePath, base);
106
119
  });
107
120
  } else {
108
- // Ensure the destination directory exists
109
121
  fs.mkdirSync(path.dirname(destPath), { recursive: true });
110
122
 
111
- // Copy the file
112
123
  fs.copyFileSync(srcPath, destPath);
113
124
  }
114
125
  }