vaderjs 2.1.0 → 2.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.
- package/bundler/index.js +29 -1
- package/main.js +25 -17
- package/package.json +1 -1
package/bundler/index.js
CHANGED
|
@@ -13,6 +13,7 @@ import ansiColors from "ansi-colors";
|
|
|
13
13
|
import path from "path";
|
|
14
14
|
let path2 = require("path");
|
|
15
15
|
globalThis.Fragment = Fragment;
|
|
16
|
+
|
|
16
17
|
globalThis.window = {
|
|
17
18
|
location: {
|
|
18
19
|
hash: "",
|
|
@@ -31,7 +32,20 @@ globalThis.genKey = () => {
|
|
|
31
32
|
globalThis.document = {
|
|
32
33
|
createElement: (tag) => { },
|
|
33
34
|
getElementById: (id) => { },
|
|
34
|
-
querySelector: (query) => {
|
|
35
|
+
querySelector: (query) => {
|
|
36
|
+
return Object.create({
|
|
37
|
+
addEventListener: (event, cb) => { },
|
|
38
|
+
removeEventListener: (event, cb) => { },
|
|
39
|
+
innerHTML: "",
|
|
40
|
+
appendChild: (child) => { },
|
|
41
|
+
removeChild: (child) => { },
|
|
42
|
+
src: "",
|
|
43
|
+
style: {},
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
querySelectorAll: (query) => {
|
|
47
|
+
return []
|
|
48
|
+
},
|
|
35
49
|
};
|
|
36
50
|
globalThis.window = {
|
|
37
51
|
addEventListener: (event, cb) => { },
|
|
@@ -58,6 +72,7 @@ try {
|
|
|
58
72
|
format: "esm",
|
|
59
73
|
...(process.env.DEV ? { sourcemap: "inline" } : {}),
|
|
60
74
|
packages: "bundle",
|
|
75
|
+
env: "inline",
|
|
61
76
|
external: ["vaderjs"]
|
|
62
77
|
});
|
|
63
78
|
} catch (error) {
|
|
@@ -149,6 +164,19 @@ const handleReplacements = (code) => {
|
|
|
149
164
|
}
|
|
150
165
|
builtCode = handleReplacements(builtCode)
|
|
151
166
|
|
|
167
|
+
builtCode += `
|
|
168
|
+
var process = {
|
|
169
|
+
env: {
|
|
170
|
+
${Object.keys(process.env)
|
|
171
|
+
.filter((key) =>
|
|
172
|
+
!['bindes', 'ENTRYPOINT', 'ROOT', 'OUT', 'file', 'DEV',
|
|
173
|
+
'size', 'filePath', 'isAppFile', 'isJsx', 'INPUT'].includes(key)
|
|
174
|
+
)
|
|
175
|
+
.map((key) => `${key}: "${process.env[key]}"`)
|
|
176
|
+
.join(',\n')}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
`;
|
|
152
180
|
fs.writeFileSync(path.join(process.cwd(), 'dist', process.env.filePath), builtCode)
|
|
153
181
|
|
|
154
182
|
let isClass = function (element) {
|
package/main.js
CHANGED
|
@@ -4,9 +4,19 @@ import ansiColors from 'ansi-colors'
|
|
|
4
4
|
import { Glob } from 'bun'
|
|
5
5
|
const args = Bun.argv.slice(2)
|
|
6
6
|
globalThis.isBuilding = false;
|
|
7
|
-
import fs from 'fs'
|
|
7
|
+
import fs from 'fs'
|
|
8
|
+
import { platform } from 'os'
|
|
8
9
|
import path from 'path'
|
|
9
10
|
|
|
11
|
+
let bunPath = 'bun'; // Default for Linux/Mac
|
|
12
|
+
if (platform() === 'win32') {
|
|
13
|
+
bunPath ='bun'; // Bun path for Windows
|
|
14
|
+
} else {
|
|
15
|
+
bunPath = path.resolve(process.env.HOME || process.env.USERPROFILE, '.bun', 'bin', 'bun');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
10
20
|
|
|
11
21
|
if (!fs.existsSync(process.cwd() + '/app') && !args.includes('init')) {
|
|
12
22
|
console.error(`App directory not found in ${process.cwd()}/app`)
|
|
@@ -167,8 +177,9 @@ const handleReplacements = (code) => {
|
|
|
167
177
|
line = b4
|
|
168
178
|
}
|
|
169
179
|
if (!hasImport && line.includes('useRef')) {
|
|
180
|
+
line = line.replace(' ', '')
|
|
170
181
|
let b4 = line
|
|
171
|
-
let key = line.split('
|
|
182
|
+
let key = line.split('=')[0].split(' ').filter(Boolean)[1]
|
|
172
183
|
b4 = line.replace('useRef(', `this.useRef('${key}',`)
|
|
173
184
|
line = b4
|
|
174
185
|
}
|
|
@@ -186,8 +197,7 @@ if (!fs.existsSync(process.cwd() + '/dev/bundler.js')) {
|
|
|
186
197
|
let start = Date.now()
|
|
187
198
|
async function generateApp() {
|
|
188
199
|
globalThis.isBuilding = true;
|
|
189
|
-
console.log(ansiColors.green('Building...'))
|
|
190
|
-
console.log(`Starting build at ${new Date().toLocaleTimeString()}`)
|
|
200
|
+
console.log(ansiColors.green('Building...'))
|
|
191
201
|
let plugins = config.plugins || []
|
|
192
202
|
for (let plugin of plugins) {
|
|
193
203
|
if (plugin.onBuildStart) {
|
|
@@ -257,14 +267,14 @@ async function generateApp() {
|
|
|
257
267
|
loader: 'ts',
|
|
258
268
|
}).transformSync(await Bun.file(require.resolve('vaderjs')).text()))
|
|
259
269
|
Bun.spawn({
|
|
260
|
-
cmd: [
|
|
270
|
+
cmd: [bunPath, 'run', './dev/bundler.js'] ,
|
|
261
271
|
cwd: process.cwd(),
|
|
262
272
|
stdout: 'inherit',
|
|
263
273
|
env: {
|
|
264
|
-
ENTRYPOINT: path.join(process.cwd()
|
|
265
|
-
ROOT: process.cwd()
|
|
274
|
+
ENTRYPOINT: path.join(process.cwd(), 'dist', path.dirname(r), path.basename(r)),
|
|
275
|
+
ROOT: path.join(process.cwd(), 'app/'),
|
|
266
276
|
OUT: path.dirname(r),
|
|
267
|
-
file: process.cwd()
|
|
277
|
+
file: path.join(process.cwd(), 'dist', path.dirname(r), path.basename(r)),
|
|
268
278
|
DEV: mode === 'development',
|
|
269
279
|
size,
|
|
270
280
|
bindes: bindes.join('\n'),
|
|
@@ -275,15 +285,13 @@ async function generateApp() {
|
|
|
275
285
|
},
|
|
276
286
|
onExit({ exitCode: code }) {
|
|
277
287
|
if (code === 0) {
|
|
278
|
-
bindes = []
|
|
279
|
-
|
|
280
|
-
resolve()
|
|
288
|
+
bindes = [];
|
|
289
|
+
resolve();
|
|
281
290
|
} else {
|
|
282
|
-
reject()
|
|
291
|
+
reject();
|
|
283
292
|
}
|
|
284
|
-
}
|
|
285
|
-
})
|
|
286
|
-
|
|
293
|
+
},
|
|
294
|
+
});
|
|
287
295
|
})
|
|
288
296
|
|
|
289
297
|
switch (host_provider) {
|
|
@@ -354,7 +362,7 @@ function handleFiles() {
|
|
|
354
362
|
file = file.replace('.jsx', '.js').replace('.tsx', '.js')
|
|
355
363
|
fs.writeFileSync(path.join(process.cwd() + '/dist', file.replace('.jsx', '.js').replace('.tsx', '.js')), code)
|
|
356
364
|
await Bun.spawn({
|
|
357
|
-
cmd: [
|
|
365
|
+
cmd: [bunPath, 'run', './dev/bundler.js'],
|
|
358
366
|
cwd: process.cwd(),
|
|
359
367
|
stdout: 'inherit',
|
|
360
368
|
env: {
|
|
@@ -383,7 +391,7 @@ function handleFiles() {
|
|
|
383
391
|
file = file.replace('.ts', '.js')
|
|
384
392
|
fs.writeFileSync(path.join(process.cwd() + '/dist', file.replace('.ts', '.js')), code)
|
|
385
393
|
await Bun.spawn({
|
|
386
|
-
cmd: [
|
|
394
|
+
cmd: [bunPath, 'run', './dev/bundler.js'],
|
|
387
395
|
cwd: process.cwd(),
|
|
388
396
|
stdout: 'inherit',
|
|
389
397
|
env: {
|