@moostjs/vite 0.5.18 → 0.5.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.
package/dist/index.cjs CHANGED
@@ -1,6 +1,9 @@
1
1
  'use strict';
2
2
 
3
+ var vite = require('vite');
3
4
  var moost = require('moost');
5
+ var node_fs = require('node:fs');
6
+ var node_module = require('node:module');
4
7
 
5
8
  function createAdapterDetector(adapter, onInit) {
6
9
  return {
@@ -100,6 +103,14 @@ const logger = new moost.EventLogger('', { level: 99 }).createTopic('' + '[
100
103
  function getLogger() {
101
104
  return logger;
102
105
  }
106
+ function getExternals() {
107
+ const pkg = JSON.parse(node_fs.readFileSync('package.json', 'utf8').toString());
108
+ return [
109
+ ...node_module.builtinModules,
110
+ ...node_module.builtinModules.map(m => `node:${m}`),
111
+ ...Object.keys(pkg.dependencies || {}),
112
+ ];
113
+ }
103
114
 
104
115
  function moostRestartCleanup(adapters, onEject, cleanupInstances) {
105
116
  const logger = getLogger();
@@ -188,22 +199,21 @@ function constructorName(i) {
188
199
 
189
200
  const REG_HAS_EXPORT_CLASS = /(^\s*@(Injectable|Controller)\()/m;
190
201
  const REG_REPLACE_EXPORT_CLASS = /(^\s*@(Injectable|Controller)\()/gm;
191
- function moostViteDev(options) {
192
- const entry = options.entry;
202
+ function moostVite(options) {
193
203
  let moostMiddleware = null;
194
204
  const adapters = [
195
- createAdapterDetector('http', MoostHttp => {
196
- MoostHttp.prototype.listen = function (...args) {
197
- moostMiddleware = this.getServerCb();
198
- setTimeout(() => {
199
- args.filter(a => typeof a === 'function').forEach(a => a());
200
- }, 1);
201
- return Promise.resolve();
202
- };
203
- }),
204
- createAdapterDetector('cli'),
205
- createAdapterDetector('wf'),
206
- ];
205
+ createAdapterDetector('http', MoostHttp => {
206
+ MoostHttp.prototype.listen = function (...args) {
207
+ moostMiddleware = this.getServerCb();
208
+ setTimeout(() => {
209
+ args.filter(a => typeof a === 'function').forEach(a => a());
210
+ }, 1);
211
+ return Promise.resolve();
212
+ };
213
+ }),
214
+ createAdapterDetector('cli'),
215
+ createAdapterDetector('wf'),
216
+ ];
207
217
  const logger = getLogger();
208
218
  let reloadRequired = false;
209
219
  patchMoostHandlerLogging();
@@ -212,7 +222,9 @@ function moostViteDev(options) {
212
222
  apply: 'serve',
213
223
  enforce: 'pre',
214
224
  config(cfg) {
215
- return {
225
+ const entry = cfg.build?.rollupOptions?.input || options.entry;
226
+ const outfile = typeof entry === 'string' ? entry.split('/').pop().replace(/\.ts$/, '.js') : undefined;
227
+ const pluginConfig = {
216
228
  server: {
217
229
  port: cfg.server?.port || options.port || 3000,
218
230
  host: cfg.server?.host || options.host,
@@ -222,19 +234,23 @@ function moostViteDev(options) {
222
234
  exclude: cfg.optimizeDeps?.exclude || ['@swc/core'],
223
235
  },
224
236
  build: {
225
- target: cfg.build?.target || 'node20',
237
+ target: cfg.build?.target || 'node',
226
238
  outDir: cfg.build?.outDir || options.outDir || 'dist',
227
- ssr: cfg.build?.ssr || options.entry,
239
+ ssr: cfg.build?.ssr ?? true,
228
240
  minify: cfg.build?.minify || false,
229
241
  rollupOptions: {
230
- input: cfg.build?.rollupOptions?.input || options.entry,
231
- output: cfg.build?.rollupOptions?.output || {
242
+ external: cfg.build?.rollupOptions?.external || getExternals(),
243
+ input: entry,
244
+ output: {
232
245
  format: options.format,
233
246
  sourcemap: !!(options.sourcemap ?? true),
247
+ entryFileNames: outfile,
248
+ ...cfg.build?.rollupOptions?.output,
234
249
  },
235
250
  },
236
251
  },
237
252
  };
253
+ return vite.mergeConfig(cfg, pluginConfig);
238
254
  },
239
255
  async transform(code, id) {
240
256
  if (!id.endsWith('.ts')) {
@@ -269,14 +285,14 @@ function moostViteDev(options) {
269
285
  },
270
286
  async configureServer(server) {
271
287
  moostRestartCleanup(adapters, options.onEject);
272
- await server.ssrLoadModule(entry);
288
+ await server.ssrLoadModule(options.entry);
273
289
  server.middlewares.use(async (req, res, next) => {
274
290
  if (reloadRequired) {
275
291
  reloadRequired = false;
276
292
  console.log();
277
293
  logger.debug('🚀 Reloading Moost App...');
278
294
  console.log();
279
- await server.ssrLoadModule(entry);
295
+ await server.ssrLoadModule(options.entry);
280
296
  await new Promise(resolve => setTimeout(resolve, 1));
281
297
  }
282
298
  if (moostMiddleware) {
@@ -310,4 +326,4 @@ function moostViteDev(options) {
310
326
  };
311
327
  }
312
328
 
313
- exports.moostViteDev = moostViteDev;
329
+ exports.moostVite = moostVite;
package/dist/index.d.ts CHANGED
@@ -16,6 +16,6 @@ interface TMoostViteDevOptions {
16
16
  * - Injects a `__VITE_ID()` decorator into exported classes to track them for hot reload cleanup.
17
17
  * - Cleans up internal Moost state upon hot updates, then reloads the SSR entry.
18
18
  */
19
- declare function moostViteDev(options: TMoostViteDevOptions): Plugin;
19
+ declare function moostVite(options: TMoostViteDevOptions): Plugin;
20
20
 
21
- export { moostViteDev };
21
+ export { moostVite };
package/dist/index.mjs CHANGED
@@ -1,4 +1,7 @@
1
+ import { mergeConfig } from 'vite';
1
2
  import { Moost, EventLogger, getMoostInfact, getMoostMate, clearGlobalWooks } from 'moost';
3
+ import { readFileSync } from 'node:fs';
4
+ import { builtinModules } from 'node:module';
2
5
 
3
6
  function createAdapterDetector(adapter, onInit) {
4
7
  return {
@@ -98,6 +101,14 @@ const logger = new EventLogger('', { level: 99 }).createTopic('' + '' +
98
101
  function getLogger() {
99
102
  return logger;
100
103
  }
104
+ function getExternals() {
105
+ const pkg = JSON.parse(readFileSync('package.json', 'utf8').toString());
106
+ return [
107
+ ...builtinModules,
108
+ ...builtinModules.map(m => `node:${m}`),
109
+ ...Object.keys(pkg.dependencies || {}),
110
+ ];
111
+ }
101
112
 
102
113
  function moostRestartCleanup(adapters, onEject, cleanupInstances) {
103
114
  const logger = getLogger();
@@ -186,22 +197,21 @@ function constructorName(i) {
186
197
 
187
198
  const REG_HAS_EXPORT_CLASS = /(^\s*@(Injectable|Controller)\()/m;
188
199
  const REG_REPLACE_EXPORT_CLASS = /(^\s*@(Injectable|Controller)\()/gm;
189
- function moostViteDev(options) {
190
- const entry = options.entry;
200
+ function moostVite(options) {
191
201
  let moostMiddleware = null;
192
202
  const adapters = [
193
- createAdapterDetector('http', MoostHttp => {
194
- MoostHttp.prototype.listen = function (...args) {
195
- moostMiddleware = this.getServerCb();
196
- setTimeout(() => {
197
- args.filter(a => typeof a === 'function').forEach(a => a());
198
- }, 1);
199
- return Promise.resolve();
200
- };
201
- }),
202
- createAdapterDetector('cli'),
203
- createAdapterDetector('wf'),
204
- ];
203
+ createAdapterDetector('http', MoostHttp => {
204
+ MoostHttp.prototype.listen = function (...args) {
205
+ moostMiddleware = this.getServerCb();
206
+ setTimeout(() => {
207
+ args.filter(a => typeof a === 'function').forEach(a => a());
208
+ }, 1);
209
+ return Promise.resolve();
210
+ };
211
+ }),
212
+ createAdapterDetector('cli'),
213
+ createAdapterDetector('wf'),
214
+ ];
205
215
  const logger = getLogger();
206
216
  let reloadRequired = false;
207
217
  patchMoostHandlerLogging();
@@ -210,7 +220,9 @@ function moostViteDev(options) {
210
220
  apply: 'serve',
211
221
  enforce: 'pre',
212
222
  config(cfg) {
213
- return {
223
+ const entry = cfg.build?.rollupOptions?.input || options.entry;
224
+ const outfile = typeof entry === 'string' ? entry.split('/').pop().replace(/\.ts$/, '.js') : undefined;
225
+ const pluginConfig = {
214
226
  server: {
215
227
  port: cfg.server?.port || options.port || 3000,
216
228
  host: cfg.server?.host || options.host,
@@ -220,19 +232,23 @@ function moostViteDev(options) {
220
232
  exclude: cfg.optimizeDeps?.exclude || ['@swc/core'],
221
233
  },
222
234
  build: {
223
- target: cfg.build?.target || 'node20',
235
+ target: cfg.build?.target || 'node',
224
236
  outDir: cfg.build?.outDir || options.outDir || 'dist',
225
- ssr: cfg.build?.ssr || options.entry,
237
+ ssr: cfg.build?.ssr ?? true,
226
238
  minify: cfg.build?.minify || false,
227
239
  rollupOptions: {
228
- input: cfg.build?.rollupOptions?.input || options.entry,
229
- output: cfg.build?.rollupOptions?.output || {
240
+ external: cfg.build?.rollupOptions?.external || getExternals(),
241
+ input: entry,
242
+ output: {
230
243
  format: options.format,
231
244
  sourcemap: !!(options.sourcemap ?? true),
245
+ entryFileNames: outfile,
246
+ ...cfg.build?.rollupOptions?.output,
232
247
  },
233
248
  },
234
249
  },
235
250
  };
251
+ return mergeConfig(cfg, pluginConfig);
236
252
  },
237
253
  async transform(code, id) {
238
254
  if (!id.endsWith('.ts')) {
@@ -267,14 +283,14 @@ function moostViteDev(options) {
267
283
  },
268
284
  async configureServer(server) {
269
285
  moostRestartCleanup(adapters, options.onEject);
270
- await server.ssrLoadModule(entry);
286
+ await server.ssrLoadModule(options.entry);
271
287
  server.middlewares.use(async (req, res, next) => {
272
288
  if (reloadRequired) {
273
289
  reloadRequired = false;
274
290
  console.log();
275
291
  logger.debug('🚀 Reloading Moost App...');
276
292
  console.log();
277
- await server.ssrLoadModule(entry);
293
+ await server.ssrLoadModule(options.entry);
278
294
  await new Promise(resolve => setTimeout(resolve, 1));
279
295
  }
280
296
  if (moostMiddleware) {
@@ -308,4 +324,4 @@ function moostViteDev(options) {
308
324
  };
309
325
  }
310
326
 
311
- export { moostViteDev };
327
+ export { moostVite };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moostjs/vite",
3
- "version": "0.5.18",
3
+ "version": "0.5.20",
4
4
  "description": "Vite Dev plugin for moostjs",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
@@ -38,8 +38,8 @@
38
38
  },
39
39
  "homepage": "https://github.com/moostjs/moostjs/tree/main/packages/vite#readme",
40
40
  "peerDependencies": {
41
- "moost": "0.5.18",
42
- "@moostjs/event-http": "0.5.18",
41
+ "moost": "0.5.20",
42
+ "@moostjs/event-http": "0.5.20",
43
43
  "vite": "^6.0.5"
44
44
  }
45
45
  }