@meteorjs/rspack 0.0.46 → 0.0.48

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/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { defineConfig as rspackDefineConfig } from '@rspack/cli';
2
- import HtmlRspackPlugin from './plugins/HtmlRspackPlugin.js';
1
+ const { defineConfig: rspackDefineConfig } = require('@rspack/cli');
2
+ const HtmlRspackPlugin = require('./plugins/HtmlRspackPlugin.js');
3
3
 
4
4
  /**
5
5
  * @typedef {import('rspack').Configuration & {
@@ -16,12 +16,13 @@ import HtmlRspackPlugin from './plugins/HtmlRspackPlugin.js';
16
16
  * @param {ConfigFactory} factory
17
17
  * @returns {ReturnType<typeof rspackDefineConfig>}
18
18
  */
19
- export function defineConfig(factory) {
19
+ function defineConfig(factory) {
20
20
  return rspackDefineConfig(factory);
21
21
  }
22
22
 
23
- // Export our helper plus passthrough
24
- export default defineConfig;
23
+ // Export our helper plus passthrough as default export
24
+ module.exports = defineConfig;
25
25
 
26
- // Export the HtmlRspackPlugin
27
- export { HtmlRspackPlugin };
26
+ // Export the HtmlRspackPlugin and defineConfig as named exports
27
+ module.exports.defineConfig = defineConfig;
28
+ module.exports.HtmlRspackPlugin = HtmlRspackPlugin;
@@ -3,12 +3,12 @@
3
3
  * overlapping file extensions in module rules.
4
4
  */
5
5
 
6
- import { mergeWithCustomize } from 'webpack-merge';
6
+ const { mergeWithCustomize } = require('webpack-merge');
7
7
 
8
8
  /**
9
9
  * File extensions to check when determining rule overlaps.
10
10
  */
11
- export const EXT_CATALOG = [
11
+ const EXT_CATALOG = [
12
12
  '.tsx', '.ts', '.mts', '.cts',
13
13
  '.jsx', '.js', '.mjs', '.cjs',
14
14
  ];
@@ -130,7 +130,7 @@ function splitOverlapRulesMerge(aRules, bRules) {
130
130
  * @param {Function} getter - Function to get the identifier from the plugin
131
131
  * @returns {Function} Customizer function
132
132
  */
133
- export function unique(key, pluginNames = [], getter = item => item.constructor && item.constructor.name) {
133
+ function unique(key, pluginNames = [], getter = item => item.constructor && item.constructor.name) {
134
134
  return (a, b, k) => {
135
135
  if (k !== key) return undefined;
136
136
 
@@ -183,7 +183,7 @@ export function unique(key, pluginNames = [], getter = item => item.constructor
183
183
  * @param {Function} [options.warningFn] - Custom warning function that receives the path string
184
184
  * @returns {Object} The cleaned object with specified paths removed
185
185
  */
186
- export function cleanOmittedPaths(obj, options = {}) {
186
+ function cleanOmittedPaths(obj, options = {}) {
187
187
  if (!obj || typeof obj !== 'object') {
188
188
  return obj;
189
189
  }
@@ -277,7 +277,7 @@ function normalizeExternals(config) {
277
277
  * @param {...Object} configs - Configs to merge
278
278
  * @returns {Object} Merged config
279
279
  */
280
- export function mergeSplitOverlap(...configs) {
280
+ function mergeSplitOverlap(...configs) {
281
281
  // Normalize externals in all configs before merging
282
282
  const normalizedConfigs = configs.map(normalizeExternals);
283
283
 
@@ -311,3 +311,10 @@ export function mergeSplitOverlap(...configs) {
311
311
  }
312
312
  })(...normalizedConfigs);
313
313
  }
314
+
315
+ module.exports = {
316
+ EXT_CATALOG,
317
+ unique,
318
+ cleanOmittedPaths,
319
+ mergeSplitOverlap
320
+ };
package/lib/swc.js CHANGED
@@ -1,12 +1,12 @@
1
- import fs from 'fs';
2
- import vm from 'vm';
1
+ const fs = require('fs');
2
+ const vm = require('vm');
3
3
 
4
4
  /**
5
5
  * Reads and parses the SWC configuration file.
6
6
  * @param {string} file - The name of the SWC configuration file (default: '.swcrc')
7
7
  * @returns {Object|undefined} The parsed SWC configuration or undefined if an error occurs
8
8
  */
9
- export function getMeteorAppSwcrc(file = '.swcrc') {
9
+ function getMeteorAppSwcrc(file = '.swcrc') {
10
10
  try {
11
11
  const filePath = `${process.cwd()}/${file}`;
12
12
  if (file.endsWith('.js')) {
@@ -42,7 +42,7 @@ export function getMeteorAppSwcrc(file = '.swcrc') {
42
42
  * If the configuration has a baseUrl property, it will be set to process.cwd().
43
43
  * @returns {Object|undefined} The SWC configuration or undefined if no configuration exists
44
44
  */
45
- export function getMeteorAppSwcConfig() {
45
+ function getMeteorAppSwcConfig() {
46
46
  const hasSwcRc = fs.existsSync(`${process.cwd()}/.swcrc`);
47
47
  const hasSwcJs = !hasSwcRc && fs.existsSync(`${process.cwd()}/swc.config.js`);
48
48
 
@@ -60,3 +60,8 @@ export function getMeteorAppSwcConfig() {
60
60
 
61
61
  return config;
62
62
  }
63
+
64
+ module.exports = {
65
+ getMeteorAppSwcrc,
66
+ getMeteorAppSwcConfig
67
+ };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@meteorjs/rspack",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "description": "Configuration logic for using Rspack in Meteor projects",
5
5
  "main": "index.js",
6
- "type": "module",
6
+ "type": "commonjs",
7
7
  "author": "",
8
8
  "license": "ISC",
9
9
  "dependencies": {
@@ -1,10 +1,11 @@
1
- import RspackMeteorHtmlPlugin, { loadHtmlRspackPluginFromHost } from './RspackMeteorHtmlPlugin.js';
1
+ const RspackMeteorHtmlPlugin = require('./RspackMeteorHtmlPlugin.js');
2
+ const { loadHtmlRspackPluginFromHost } = RspackMeteorHtmlPlugin;
2
3
 
3
4
  /**
4
5
  * A plugin that composes the original HtmlRspackPlugin from @rspack/core
5
6
  * and RspackMeteorHtmlPlugin, in that order.
6
7
  */
7
- export default class HtmlRspackPlugin {
8
+ class HtmlRspackPlugin {
8
9
  constructor(options = {}) {
9
10
  this.options = options;
10
11
  }
@@ -26,3 +27,5 @@ export default class HtmlRspackPlugin {
26
27
  meteorPlugin.apply(compiler);
27
28
  }
28
29
  }
30
+
31
+ module.exports = HtmlRspackPlugin;
@@ -7,10 +7,10 @@
7
7
  // the externalMap function if provided.
8
8
  // Used for Blaze to translate require of html files to require of js files bundled by Meteor.
9
9
 
10
- import fs from 'fs';
11
- import path from 'path';
10
+ const fs = require('fs');
11
+ const path = require('path');
12
12
 
13
- export class RequireExternalsPlugin {
13
+ class RequireExternalsPlugin {
14
14
  constructor({
15
15
  filePath,
16
16
  // Externals can be:
@@ -487,3 +487,5 @@ export class RequireExternalsPlugin {
487
487
  return existing;
488
488
  }
489
489
  }
490
+
491
+ module.exports = { RequireExternalsPlugin };
@@ -1,7 +1,7 @@
1
- import path from 'node:path';
2
- import { createRequire } from 'node:module';
1
+ const path = require('node:path');
2
+ const { createRequire } = require('node:module');
3
3
 
4
- export function loadHtmlRspackPluginFromHost(compiler) {
4
+ function loadHtmlRspackPluginFromHost(compiler) {
5
5
  // Prefer the compiler's context; fall back to process.cwd()
6
6
  const ctx = compiler.options?.context || compiler.context || process.cwd();
7
7
  const requireFromHost = createRequire(path.join(ctx, 'package.json'));
@@ -16,7 +16,7 @@ export function loadHtmlRspackPluginFromHost(compiler) {
16
16
  * 1. Remove the injected `*-rspack.js` script tags
17
17
  * 2. Strip <!doctype> and <html>…</html> wrappers from the final HTML
18
18
  */
19
- export default class RspackMeteorHtmlPlugin {
19
+ class RspackMeteorHtmlPlugin {
20
20
  apply(compiler) {
21
21
  const HtmlRspackPlugin = loadHtmlRspackPluginFromHost(compiler);
22
22
  if (!HtmlRspackPlugin?.getCompilationHooks) {
@@ -45,3 +45,6 @@ export default class RspackMeteorHtmlPlugin {
45
45
  });
46
46
  }
47
47
  }
48
+
49
+ module.exports = RspackMeteorHtmlPlugin;
50
+ module.exports.loadHtmlRspackPluginFromHost = loadHtmlRspackPluginFromHost;
package/rspack.config.js CHANGED
@@ -1,16 +1,13 @@
1
- import { DefinePlugin, BannerPlugin } from '@rspack/core';
2
- import fs from 'fs';
3
- import { createRequire } from 'module';
4
- import { inspect } from 'node:util';
5
- import path from 'path';
6
- import { merge } from 'webpack-merge';
1
+ const { DefinePlugin, BannerPlugin } = require('@rspack/core');
2
+ const fs = require('fs');
3
+ const { inspect } = require('node:util');
4
+ const path = require('path');
5
+ const { merge } = require('webpack-merge');
7
6
 
8
- import { cleanOmittedPaths, mergeSplitOverlap } from "./lib/mergeRulesSplitOverlap.js";
9
- import { getMeteorAppSwcConfig } from './lib/swc.js';
10
- import HtmlRspackPlugin from './plugins/HtmlRspackPlugin.js';
11
- import { RequireExternalsPlugin } from './plugins/RequireExtenalsPlugin.js';
12
-
13
- const require = createRequire(import.meta.url);
7
+ const { cleanOmittedPaths, mergeSplitOverlap } = require("./lib/mergeRulesSplitOverlap.js");
8
+ const { getMeteorAppSwcConfig } = require('./lib/swc.js');
9
+ const HtmlRspackPlugin = require('./plugins/HtmlRspackPlugin.js');
10
+ const { RequireExternalsPlugin } = require('./plugins/RequireExtenalsPlugin.js');
14
11
 
15
12
  // Safe require that doesn't throw if the module isn't found
16
13
  function safeRequire(moduleName) {
@@ -114,7 +111,7 @@ const defaultWatchOptions = {
114
111
  * @param {{ mode?: string; clientEntry?: string; serverEntry?: string; clientOutputFolder?: string; serverOutputFolder?: string; chunksContext?: string; assetsContext?: string; serverAssetsContext?: string }} argv
115
112
  * @returns {import('@rspack/cli').Configuration[]}
116
113
  */
117
- export default function (inMeteor = {}, argv = {}) {
114
+ module.exports = function (inMeteor = {}, argv = {}) {
118
115
  // Transform Meteor env properties to proper boolean values
119
116
  const Meteor = { ...inMeteor };
120
117
  // Convert string boolean values to actual booleans
@@ -372,9 +369,9 @@ export default function (inMeteor = {}, argv = {}) {
372
369
 
373
370
  const serverEntry =
374
371
  isTest && isTestEager && isTestFullApp
375
- ? path.resolve(process.cwd(), 'node_modules/@meteorjs/rspack/entries/eager-app-tests.js')
372
+ ? path.resolve(process.cwd(), 'node_modules/@meteorjs/rspack/entries/eager-app-tests.mjs')
376
373
  : isTest && isTestEager
377
- ? path.resolve(process.cwd(), 'node_modules/@meteorjs/rspack/entries/eager-tests.js')
374
+ ? path.resolve(process.cwd(), 'node_modules/@meteorjs/rspack/entries/eager-tests.mjs')
378
375
  : path.resolve(process.cwd(), buildContext, entryPath);
379
376
  const serverNameConfig = `[${(isTest && 'test-') || ''}${
380
377
  (isTestModule && 'module') || 'server'
File without changes