every-plugin 2.2.4 → 2.2.6

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.
@@ -121,6 +121,18 @@ var EveryPluginDevServer = class {
121
121
  ".tsx",
122
122
  ".ts"
123
123
  ];
124
+ compiler.options.resolve.conditionNames = [
125
+ "webpack",
126
+ "import",
127
+ "module",
128
+ "require",
129
+ "node",
130
+ "default"
131
+ ];
132
+ if (compiler.options.resolve.byDependency) for (const depType of Object.keys(compiler.options.resolve.byDependency)) {
133
+ const depConfig = compiler.options.resolve.byDependency[depType];
134
+ if (depConfig?.conditionNames) depConfig.conditionNames = depConfig.conditionNames.filter((c) => c !== "development");
135
+ }
124
136
  compiler.options.resolve.fallback = {
125
137
  ...compiler.options.resolve.fallback,
126
138
  bufferutil: false,
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs","names":["getPluginInfo","path","fs","crypto","loadDevConfig","ModuleFederationPlugin","buildSharedDependencies"],"sources":["../../../src/build/rspack/plugin.ts"],"sourcesContent":["import crypto from \"node:crypto\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { ModuleFederationPlugin } from \"@module-federation/enhanced/rspack\";\nimport type { Compiler, RspackPluginInstance } from \"@rspack/core\";\nimport { setupPluginMiddleware } from \"./dev-server-middleware\";\nimport { buildSharedDependencies } from \"./module-federation\";\nimport { getPluginInfo, loadDevConfig } from \"./utils\";\n\nexport interface EveryPluginOptions {\n devConfigPath?: string;\n port?: number;\n pluginId?: string;\n dts?: boolean;\n}\n\nexport interface PluginManifestEmitterOptions {\n manifestFileName?: string;\n contractFileName?: string;\n}\n\nexport class EmitPluginManifest implements RspackPluginInstance {\n name = \"EmitPluginManifest\";\n\n constructor(private options: PluginManifestEmitterOptions = {}) {}\n\n apply(compiler: Compiler) {\n compiler.hooks.thisCompilation.tap(this.name, (compilation) => {\n const webpack = (compiler as Compiler & { webpack?: any }).webpack;\n const rawSource = webpack?.sources?.RawSource;\n const stage = webpack?.Compilation?.PROCESS_ASSETS_STAGE_ADDITIONS ?? 1000;\n\n compilation.hooks.processAssets.tapPromise({ name: this.name, stage }, async () => {\n const context = compiler.options.context || process.cwd();\n const pluginInfo = getPluginInfo(context);\n const contractFileName = this.options.contractFileName ?? \"contract.d.ts\";\n const manifestFileName = this.options.manifestFileName ?? \"plugin.manifest.json\";\n\n const sourceContractPath = path.join(context, \"types\", contractFileName);\n\n let contractTypes: string;\n\n const tryReadFile = async (filePath: string): Promise<string | null> => {\n if (!fs.existsSync(filePath)) {\n return null;\n }\n const stats = fs.statSync(filePath);\n if (!stats.isFile()) {\n return null;\n }\n try {\n return await fs.promises.readFile(filePath, \"utf8\");\n } catch {\n return null;\n }\n };\n\n contractTypes = (await tryReadFile(sourceContractPath)) ?? \"\";\n\n if (!contractTypes) {\n const packageDir = context.split(\"/\").pop();\n const nestedPath = path.join(context, \"types\", packageDir ?? \"\", \"src\", contractFileName);\n\n contractTypes = (await tryReadFile(nestedPath)) ?? \"\";\n\n if (!contractTypes) {\n console.warn(\n `[EmitPluginManifest] Contract file not found at ${sourceContractPath} or ${nestedPath}. ` +\n `Skipping manifest generation.`,\n );\n return;\n }\n }\n\n const contractSha256 = crypto.createHash(\"sha256\").update(contractTypes).digest(\"hex\");\n const manifest = {\n schemaVersion: 1,\n kind: \"every-plugin/manifest\",\n plugin: {\n name: pluginInfo.name,\n version: pluginInfo.version,\n },\n runtime: {\n remoteEntry: \"./remoteEntry.js\",\n },\n contract: {\n kind: \"orpc\",\n types: {\n path: `./types/${contractFileName}`,\n exportName: \"contract\",\n typeName: \"ContractType\",\n sha256: contractSha256,\n },\n },\n };\n\n if (rawSource) {\n compilation.emitAsset(\n manifestFileName,\n new rawSource(`${JSON.stringify(manifest, null, 2)}\\n`),\n );\n compilation.emitAsset(`types/${contractFileName}`, new rawSource(`${contractTypes}`));\n }\n });\n });\n }\n}\n\nexport class EveryPluginDevServer implements RspackPluginInstance {\n name = \"EveryPluginDevServer\";\n\n constructor(private options: EveryPluginOptions = {}) {}\n\n apply(compiler: Compiler) {\n const pluginInfo = getPluginInfo(compiler.options.context || process.cwd());\n const devConfig = loadDevConfig(this.options.devConfigPath || \"./plugin.dev.ts\");\n const port = Number(process.env.PORT) || this.options.port || devConfig?.port || 3999;\n\n this.configureDefaults(compiler, pluginInfo);\n\n if (!compiler.options.devServer) {\n compiler.options.devServer = {};\n }\n\n this.configureDevServer(compiler, pluginInfo, devConfig, port);\n\n new ModuleFederationPlugin({\n name: pluginInfo.normalizedName,\n filename: \"remoteEntry.js\",\n dts: this.options.dts !== false,\n manifest: {},\n runtimePlugins: [require.resolve(\"@module-federation/node/runtimePlugin\")],\n library: { type: \"commonjs-module\" },\n exposes: {\n \"./plugin\": \"./src/index.ts\",\n },\n shared: buildSharedDependencies(pluginInfo),\n shareStrategy: \"version-first\",\n }).apply(compiler);\n\n if (this.options.dts === false) {\n compiler.options.plugins = (compiler.options.plugins ?? []).filter(\n (p) =>\n !p ||\n typeof p !== \"object\" ||\n ((p as any).name !== \"MFDevPlugin\" && (p as any).name !== \"ModuleFederationDtsPlugin\"),\n );\n }\n }\n\n private configureDefaults(compiler: Compiler, pluginInfo: any) {\n const context = compiler.options.context || process.cwd();\n\n if (!compiler.options.output) {\n compiler.options.output = {};\n }\n compiler.options.output.uniqueName = pluginInfo.normalizedName;\n compiler.options.output.publicPath = \"auto\";\n compiler.options.output.path = path.resolve(context, \"dist\");\n compiler.options.output.clean = true;\n compiler.options.output.library = { type: \"commonjs-module\" };\n\n if (!compiler.options.target) {\n compiler.options.target = \"async-node\";\n }\n\n if (!compiler.options.mode) {\n compiler.options.mode = process.env.NODE_ENV === \"development\" ? \"development\" : \"production\";\n }\n\n if (!compiler.options.devtool) {\n compiler.options.devtool = \"source-map\";\n }\n\n if (!compiler.options.infrastructureLogging) {\n compiler.options.infrastructureLogging = {\n level: \"warn\",\n };\n }\n\n this.ensureTypeScriptLoader(compiler);\n\n if (!compiler.options.resolve) {\n compiler.options.resolve = {};\n }\n compiler.options.resolve.extensions = [\"...\", \".tsx\", \".ts\"];\n compiler.options.resolve.fallback = {\n ...compiler.options.resolve.fallback,\n bufferutil: false,\n \"utf-8-validate\": false,\n };\n }\n\n private ensureTypeScriptLoader(compiler: Compiler) {\n if (!compiler.options.module) {\n compiler.options.module = { rules: [] } as any;\n }\n\n if (!compiler.options.module.rules) {\n compiler.options.module.rules = [];\n }\n\n const hasTsLoader = compiler.options.module.rules.some(\n (rule: any) =>\n typeof rule === \"object\" &&\n rule !== null &&\n \"test\" in rule &&\n rule.test instanceof RegExp &&\n rule.test.test(\".ts\"),\n );\n\n if (!hasTsLoader) {\n compiler.options.module.rules.push({\n test: /\\.tsx?$/,\n use: \"builtin:swc-loader\",\n exclude: /node_modules/,\n });\n }\n }\n\n private configureDevServer(compiler: Compiler, pluginInfo: any, devConfig: any, port: number) {\n if (!compiler.options.devServer) {\n return;\n }\n\n const context = compiler.options.context || process.cwd();\n const originalSetup = compiler.options.devServer.setupMiddlewares;\n\n compiler.options.devServer.port = port;\n compiler.options.devServer.static = path.join(context, \"dist\");\n compiler.options.devServer.hot = true;\n compiler.options.devServer.devMiddleware = { writeToDisk: true };\n compiler.options.devServer.headers = {\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, DELETE, PATCH, OPTIONS\",\n \"Access-Control-Allow-Headers\": \"X-Requested-With, content-type, Authorization\",\n };\n\n compiler.options.devServer.client = {\n logging: \"warn\",\n overlay: {\n warnings: false,\n errors: true,\n },\n };\n\n compiler.options.devServer.setupMiddlewares = (middlewares, devServer) => {\n setupPluginMiddleware(devServer, pluginInfo, devConfig, port);\n return originalSetup ? originalSetup(middlewares, devServer) : middlewares;\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.cjs","names":["getPluginInfo","path","fs","crypto","loadDevConfig","ModuleFederationPlugin","buildSharedDependencies"],"sources":["../../../src/build/rspack/plugin.ts"],"sourcesContent":["import crypto from \"node:crypto\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { ModuleFederationPlugin } from \"@module-federation/enhanced/rspack\";\nimport type { Compiler, RspackPluginInstance } from \"@rspack/core\";\nimport { setupPluginMiddleware } from \"./dev-server-middleware\";\nimport { buildSharedDependencies } from \"./module-federation\";\nimport { getPluginInfo, loadDevConfig } from \"./utils\";\n\nexport interface EveryPluginOptions {\n devConfigPath?: string;\n port?: number;\n pluginId?: string;\n dts?: boolean;\n}\n\nexport interface PluginManifestEmitterOptions {\n manifestFileName?: string;\n contractFileName?: string;\n}\n\nexport class EmitPluginManifest implements RspackPluginInstance {\n name = \"EmitPluginManifest\";\n\n constructor(private options: PluginManifestEmitterOptions = {}) {}\n\n apply(compiler: Compiler) {\n compiler.hooks.thisCompilation.tap(this.name, (compilation) => {\n const webpack = (compiler as Compiler & { webpack?: any }).webpack;\n const rawSource = webpack?.sources?.RawSource;\n const stage = webpack?.Compilation?.PROCESS_ASSETS_STAGE_ADDITIONS ?? 1000;\n\n compilation.hooks.processAssets.tapPromise({ name: this.name, stage }, async () => {\n const context = compiler.options.context || process.cwd();\n const pluginInfo = getPluginInfo(context);\n const contractFileName = this.options.contractFileName ?? \"contract.d.ts\";\n const manifestFileName = this.options.manifestFileName ?? \"plugin.manifest.json\";\n\n const sourceContractPath = path.join(context, \"types\", contractFileName);\n\n let contractTypes: string;\n\n const tryReadFile = async (filePath: string): Promise<string | null> => {\n if (!fs.existsSync(filePath)) {\n return null;\n }\n const stats = fs.statSync(filePath);\n if (!stats.isFile()) {\n return null;\n }\n try {\n return await fs.promises.readFile(filePath, \"utf8\");\n } catch {\n return null;\n }\n };\n\n contractTypes = (await tryReadFile(sourceContractPath)) ?? \"\";\n\n if (!contractTypes) {\n const packageDir = context.split(\"/\").pop();\n const nestedPath = path.join(context, \"types\", packageDir ?? \"\", \"src\", contractFileName);\n\n contractTypes = (await tryReadFile(nestedPath)) ?? \"\";\n\n if (!contractTypes) {\n console.warn(\n `[EmitPluginManifest] Contract file not found at ${sourceContractPath} or ${nestedPath}. ` +\n `Skipping manifest generation.`,\n );\n return;\n }\n }\n\n const contractSha256 = crypto.createHash(\"sha256\").update(contractTypes).digest(\"hex\");\n const manifest = {\n schemaVersion: 1,\n kind: \"every-plugin/manifest\",\n plugin: {\n name: pluginInfo.name,\n version: pluginInfo.version,\n },\n runtime: {\n remoteEntry: \"./remoteEntry.js\",\n },\n contract: {\n kind: \"orpc\",\n types: {\n path: `./types/${contractFileName}`,\n exportName: \"contract\",\n typeName: \"ContractType\",\n sha256: contractSha256,\n },\n },\n };\n\n if (rawSource) {\n compilation.emitAsset(\n manifestFileName,\n new rawSource(`${JSON.stringify(manifest, null, 2)}\\n`),\n );\n compilation.emitAsset(`types/${contractFileName}`, new rawSource(`${contractTypes}`));\n }\n });\n });\n }\n}\n\nexport class EveryPluginDevServer implements RspackPluginInstance {\n name = \"EveryPluginDevServer\";\n\n constructor(private options: EveryPluginOptions = {}) {}\n\n apply(compiler: Compiler) {\n const pluginInfo = getPluginInfo(compiler.options.context || process.cwd());\n const devConfig = loadDevConfig(this.options.devConfigPath || \"./plugin.dev.ts\");\n const port = Number(process.env.PORT) || this.options.port || devConfig?.port || 3999;\n\n this.configureDefaults(compiler, pluginInfo);\n\n if (!compiler.options.devServer) {\n compiler.options.devServer = {};\n }\n\n this.configureDevServer(compiler, pluginInfo, devConfig, port);\n\n new ModuleFederationPlugin({\n name: pluginInfo.normalizedName,\n filename: \"remoteEntry.js\",\n dts: this.options.dts !== false,\n manifest: {},\n runtimePlugins: [require.resolve(\"@module-federation/node/runtimePlugin\")],\n library: { type: \"commonjs-module\" },\n exposes: {\n \"./plugin\": \"./src/index.ts\",\n },\n shared: buildSharedDependencies(pluginInfo),\n shareStrategy: \"version-first\",\n }).apply(compiler);\n\n if (this.options.dts === false) {\n compiler.options.plugins = (compiler.options.plugins ?? []).filter(\n (p) =>\n !p ||\n typeof p !== \"object\" ||\n ((p as any).name !== \"MFDevPlugin\" && (p as any).name !== \"ModuleFederationDtsPlugin\"),\n );\n }\n }\n\n private configureDefaults(compiler: Compiler, pluginInfo: any) {\n const context = compiler.options.context || process.cwd();\n\n if (!compiler.options.output) {\n compiler.options.output = {};\n }\n compiler.options.output.uniqueName = pluginInfo.normalizedName;\n compiler.options.output.publicPath = \"auto\";\n compiler.options.output.path = path.resolve(context, \"dist\");\n compiler.options.output.clean = true;\n compiler.options.output.library = { type: \"commonjs-module\" };\n\n if (!compiler.options.target) {\n compiler.options.target = \"async-node\";\n }\n\n if (!compiler.options.mode) {\n compiler.options.mode = process.env.NODE_ENV === \"development\" ? \"development\" : \"production\";\n }\n\n if (!compiler.options.devtool) {\n compiler.options.devtool = \"source-map\";\n }\n\n if (!compiler.options.infrastructureLogging) {\n compiler.options.infrastructureLogging = {\n level: \"warn\",\n };\n }\n\n this.ensureTypeScriptLoader(compiler);\n\n if (!compiler.options.resolve) {\n compiler.options.resolve = {};\n }\n compiler.options.resolve.extensions = [\"...\", \".tsx\", \".ts\"];\n compiler.options.resolve.conditionNames = [\n \"webpack\",\n \"import\",\n \"module\",\n \"require\",\n \"node\",\n \"default\",\n ];\n if (compiler.options.resolve.byDependency) {\n for (const depType of Object.keys(compiler.options.resolve.byDependency)) {\n const depConfig = (\n compiler.options.resolve.byDependency as Record<string, { conditionNames?: string[] }>\n )[depType];\n if (depConfig?.conditionNames) {\n depConfig.conditionNames = depConfig.conditionNames.filter((c) => c !== \"development\");\n }\n }\n }\n compiler.options.resolve.fallback = {\n ...compiler.options.resolve.fallback,\n bufferutil: false,\n \"utf-8-validate\": false,\n };\n }\n\n private ensureTypeScriptLoader(compiler: Compiler) {\n if (!compiler.options.module) {\n compiler.options.module = { rules: [] } as any;\n }\n\n if (!compiler.options.module.rules) {\n compiler.options.module.rules = [];\n }\n\n const hasTsLoader = compiler.options.module.rules.some(\n (rule: any) =>\n typeof rule === \"object\" &&\n rule !== null &&\n \"test\" in rule &&\n rule.test instanceof RegExp &&\n rule.test.test(\".ts\"),\n );\n\n if (!hasTsLoader) {\n compiler.options.module.rules.push({\n test: /\\.tsx?$/,\n use: \"builtin:swc-loader\",\n exclude: /node_modules/,\n });\n }\n }\n\n private configureDevServer(compiler: Compiler, pluginInfo: any, devConfig: any, port: number) {\n if (!compiler.options.devServer) {\n return;\n }\n\n const context = compiler.options.context || process.cwd();\n const originalSetup = compiler.options.devServer.setupMiddlewares;\n\n compiler.options.devServer.port = port;\n compiler.options.devServer.static = path.join(context, \"dist\");\n compiler.options.devServer.hot = true;\n compiler.options.devServer.devMiddleware = { writeToDisk: true };\n compiler.options.devServer.headers = {\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, DELETE, PATCH, OPTIONS\",\n \"Access-Control-Allow-Headers\": \"X-Requested-With, content-type, Authorization\",\n };\n\n compiler.options.devServer.client = {\n logging: \"warn\",\n overlay: {\n warnings: false,\n errors: true,\n },\n };\n\n compiler.options.devServer.setupMiddlewares = (middlewares, devServer) => {\n setupPluginMiddleware(devServer, pluginInfo, devConfig, port);\n return originalSetup ? originalSetup(middlewares, devServer) : middlewares;\n };\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.cts","names":[],"sources":["../../../src/build/rspack/plugin.ts"],"mappings":";;;UASiB,kBAAA;EACf,aAAA;EACA,IAAA;EACA,QAAA;EACA,GAAA;AAAA;AAAA,UAGe,4BAAA;EACf,gBAAA;EACA,gBAAA;AAAA;AAAA,cAGW,kBAAA,YAA8B,oBAAA;EAAA,QAGrB,OAAA;EAFpB,IAAA;cAEoB,OAAA,GAAS,4BAAA;EAE7B,KAAA,CAAM,QAAA,EAAU,QAAA;AAAA;AAAA,cAkFL,oBAAA,YAAgC,oBAAA;EAAA,QAGvB,OAAA;EAFpB,IAAA;cAEoB,OAAA,GAAS,kBAAA;EAE7B,KAAA,CAAM,QAAA,EAAU,QAAA;EAAA,QAqCR,iBAAA;EAAA,QA2CA,sBAAA;EAAA,QA2BA,kBAAA;AAAA"}
1
+ {"version":3,"file":"plugin.d.cts","names":[],"sources":["../../../src/build/rspack/plugin.ts"],"mappings":";;;UASiB,kBAAA;EACf,aAAA;EACA,IAAA;EACA,QAAA;EACA,GAAA;AAAA;AAAA,UAGe,4BAAA;EACf,gBAAA;EACA,gBAAA;AAAA;AAAA,cAGW,kBAAA,YAA8B,oBAAA;EAAA,QAGrB,OAAA;EAFpB,IAAA;cAEoB,OAAA,GAAS,4BAAA;EAE7B,KAAA,CAAM,QAAA,EAAU,QAAA;AAAA;AAAA,cAkFL,oBAAA,YAAgC,oBAAA;EAAA,QAGvB,OAAA;EAFpB,IAAA;cAEoB,OAAA,GAAS,kBAAA;EAE7B,KAAA,CAAM,QAAA,EAAU,QAAA;EAAA,QAqCR,iBAAA;EAAA,QA6DA,sBAAA;EAAA,QA2BA,kBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.mts","names":[],"sources":["../../../src/build/rspack/plugin.ts"],"mappings":";;;UASiB,kBAAA;EACf,aAAA;EACA,IAAA;EACA,QAAA;EACA,GAAA;AAAA;AAAA,UAGe,4BAAA;EACf,gBAAA;EACA,gBAAA;AAAA;AAAA,cAGW,kBAAA,YAA8B,oBAAA;EAAA,QAGrB,OAAA;EAFpB,IAAA;cAEoB,OAAA,GAAS,4BAAA;EAE7B,KAAA,CAAM,QAAA,EAAU,QAAA;AAAA;AAAA,cAkFL,oBAAA,YAAgC,oBAAA;EAAA,QAGvB,OAAA;EAFpB,IAAA;cAEoB,OAAA,GAAS,kBAAA;EAE7B,KAAA,CAAM,QAAA,EAAU,QAAA;EAAA,QAqCR,iBAAA;EAAA,QA2CA,sBAAA;EAAA,QA2BA,kBAAA;AAAA"}
1
+ {"version":3,"file":"plugin.d.mts","names":[],"sources":["../../../src/build/rspack/plugin.ts"],"mappings":";;;UASiB,kBAAA;EACf,aAAA;EACA,IAAA;EACA,QAAA;EACA,GAAA;AAAA;AAAA,UAGe,4BAAA;EACf,gBAAA;EACA,gBAAA;AAAA;AAAA,cAGW,kBAAA,YAA8B,oBAAA;EAAA,QAGrB,OAAA;EAFpB,IAAA;cAEoB,OAAA,GAAS,4BAAA;EAE7B,KAAA,CAAM,QAAA,EAAU,QAAA;AAAA;AAAA,cAkFL,oBAAA,YAAgC,oBAAA;EAAA,QAGvB,OAAA;EAFpB,IAAA;cAEoB,OAAA,GAAS,kBAAA;EAE7B,KAAA,CAAM,QAAA,EAAU,QAAA;EAAA,QAqCR,iBAAA;EAAA,QA6DA,sBAAA;EAAA,QA2BA,kBAAA;AAAA"}
@@ -118,6 +118,18 @@ var EveryPluginDevServer = class {
118
118
  ".tsx",
119
119
  ".ts"
120
120
  ];
121
+ compiler.options.resolve.conditionNames = [
122
+ "webpack",
123
+ "import",
124
+ "module",
125
+ "require",
126
+ "node",
127
+ "default"
128
+ ];
129
+ if (compiler.options.resolve.byDependency) for (const depType of Object.keys(compiler.options.resolve.byDependency)) {
130
+ const depConfig = compiler.options.resolve.byDependency[depType];
131
+ if (depConfig?.conditionNames) depConfig.conditionNames = depConfig.conditionNames.filter((c) => c !== "development");
132
+ }
121
133
  compiler.options.resolve.fallback = {
122
134
  ...compiler.options.resolve.fallback,
123
135
  bufferutil: false,
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.mjs","names":[],"sources":["../../../src/build/rspack/plugin.ts"],"sourcesContent":["import crypto from \"node:crypto\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { ModuleFederationPlugin } from \"@module-federation/enhanced/rspack\";\nimport type { Compiler, RspackPluginInstance } from \"@rspack/core\";\nimport { setupPluginMiddleware } from \"./dev-server-middleware\";\nimport { buildSharedDependencies } from \"./module-federation\";\nimport { getPluginInfo, loadDevConfig } from \"./utils\";\n\nexport interface EveryPluginOptions {\n devConfigPath?: string;\n port?: number;\n pluginId?: string;\n dts?: boolean;\n}\n\nexport interface PluginManifestEmitterOptions {\n manifestFileName?: string;\n contractFileName?: string;\n}\n\nexport class EmitPluginManifest implements RspackPluginInstance {\n name = \"EmitPluginManifest\";\n\n constructor(private options: PluginManifestEmitterOptions = {}) {}\n\n apply(compiler: Compiler) {\n compiler.hooks.thisCompilation.tap(this.name, (compilation) => {\n const webpack = (compiler as Compiler & { webpack?: any }).webpack;\n const rawSource = webpack?.sources?.RawSource;\n const stage = webpack?.Compilation?.PROCESS_ASSETS_STAGE_ADDITIONS ?? 1000;\n\n compilation.hooks.processAssets.tapPromise({ name: this.name, stage }, async () => {\n const context = compiler.options.context || process.cwd();\n const pluginInfo = getPluginInfo(context);\n const contractFileName = this.options.contractFileName ?? \"contract.d.ts\";\n const manifestFileName = this.options.manifestFileName ?? \"plugin.manifest.json\";\n\n const sourceContractPath = path.join(context, \"types\", contractFileName);\n\n let contractTypes: string;\n\n const tryReadFile = async (filePath: string): Promise<string | null> => {\n if (!fs.existsSync(filePath)) {\n return null;\n }\n const stats = fs.statSync(filePath);\n if (!stats.isFile()) {\n return null;\n }\n try {\n return await fs.promises.readFile(filePath, \"utf8\");\n } catch {\n return null;\n }\n };\n\n contractTypes = (await tryReadFile(sourceContractPath)) ?? \"\";\n\n if (!contractTypes) {\n const packageDir = context.split(\"/\").pop();\n const nestedPath = path.join(context, \"types\", packageDir ?? \"\", \"src\", contractFileName);\n\n contractTypes = (await tryReadFile(nestedPath)) ?? \"\";\n\n if (!contractTypes) {\n console.warn(\n `[EmitPluginManifest] Contract file not found at ${sourceContractPath} or ${nestedPath}. ` +\n `Skipping manifest generation.`,\n );\n return;\n }\n }\n\n const contractSha256 = crypto.createHash(\"sha256\").update(contractTypes).digest(\"hex\");\n const manifest = {\n schemaVersion: 1,\n kind: \"every-plugin/manifest\",\n plugin: {\n name: pluginInfo.name,\n version: pluginInfo.version,\n },\n runtime: {\n remoteEntry: \"./remoteEntry.js\",\n },\n contract: {\n kind: \"orpc\",\n types: {\n path: `./types/${contractFileName}`,\n exportName: \"contract\",\n typeName: \"ContractType\",\n sha256: contractSha256,\n },\n },\n };\n\n if (rawSource) {\n compilation.emitAsset(\n manifestFileName,\n new rawSource(`${JSON.stringify(manifest, null, 2)}\\n`),\n );\n compilation.emitAsset(`types/${contractFileName}`, new rawSource(`${contractTypes}`));\n }\n });\n });\n }\n}\n\nexport class EveryPluginDevServer implements RspackPluginInstance {\n name = \"EveryPluginDevServer\";\n\n constructor(private options: EveryPluginOptions = {}) {}\n\n apply(compiler: Compiler) {\n const pluginInfo = getPluginInfo(compiler.options.context || process.cwd());\n const devConfig = loadDevConfig(this.options.devConfigPath || \"./plugin.dev.ts\");\n const port = Number(process.env.PORT) || this.options.port || devConfig?.port || 3999;\n\n this.configureDefaults(compiler, pluginInfo);\n\n if (!compiler.options.devServer) {\n compiler.options.devServer = {};\n }\n\n this.configureDevServer(compiler, pluginInfo, devConfig, port);\n\n new ModuleFederationPlugin({\n name: pluginInfo.normalizedName,\n filename: \"remoteEntry.js\",\n dts: this.options.dts !== false,\n manifest: {},\n runtimePlugins: [require.resolve(\"@module-federation/node/runtimePlugin\")],\n library: { type: \"commonjs-module\" },\n exposes: {\n \"./plugin\": \"./src/index.ts\",\n },\n shared: buildSharedDependencies(pluginInfo),\n shareStrategy: \"version-first\",\n }).apply(compiler);\n\n if (this.options.dts === false) {\n compiler.options.plugins = (compiler.options.plugins ?? []).filter(\n (p) =>\n !p ||\n typeof p !== \"object\" ||\n ((p as any).name !== \"MFDevPlugin\" && (p as any).name !== \"ModuleFederationDtsPlugin\"),\n );\n }\n }\n\n private configureDefaults(compiler: Compiler, pluginInfo: any) {\n const context = compiler.options.context || process.cwd();\n\n if (!compiler.options.output) {\n compiler.options.output = {};\n }\n compiler.options.output.uniqueName = pluginInfo.normalizedName;\n compiler.options.output.publicPath = \"auto\";\n compiler.options.output.path = path.resolve(context, \"dist\");\n compiler.options.output.clean = true;\n compiler.options.output.library = { type: \"commonjs-module\" };\n\n if (!compiler.options.target) {\n compiler.options.target = \"async-node\";\n }\n\n if (!compiler.options.mode) {\n compiler.options.mode = process.env.NODE_ENV === \"development\" ? \"development\" : \"production\";\n }\n\n if (!compiler.options.devtool) {\n compiler.options.devtool = \"source-map\";\n }\n\n if (!compiler.options.infrastructureLogging) {\n compiler.options.infrastructureLogging = {\n level: \"warn\",\n };\n }\n\n this.ensureTypeScriptLoader(compiler);\n\n if (!compiler.options.resolve) {\n compiler.options.resolve = {};\n }\n compiler.options.resolve.extensions = [\"...\", \".tsx\", \".ts\"];\n compiler.options.resolve.fallback = {\n ...compiler.options.resolve.fallback,\n bufferutil: false,\n \"utf-8-validate\": false,\n };\n }\n\n private ensureTypeScriptLoader(compiler: Compiler) {\n if (!compiler.options.module) {\n compiler.options.module = { rules: [] } as any;\n }\n\n if (!compiler.options.module.rules) {\n compiler.options.module.rules = [];\n }\n\n const hasTsLoader = compiler.options.module.rules.some(\n (rule: any) =>\n typeof rule === \"object\" &&\n rule !== null &&\n \"test\" in rule &&\n rule.test instanceof RegExp &&\n rule.test.test(\".ts\"),\n );\n\n if (!hasTsLoader) {\n compiler.options.module.rules.push({\n test: /\\.tsx?$/,\n use: \"builtin:swc-loader\",\n exclude: /node_modules/,\n });\n }\n }\n\n private configureDevServer(compiler: Compiler, pluginInfo: any, devConfig: any, port: number) {\n if (!compiler.options.devServer) {\n return;\n }\n\n const context = compiler.options.context || process.cwd();\n const originalSetup = compiler.options.devServer.setupMiddlewares;\n\n compiler.options.devServer.port = port;\n compiler.options.devServer.static = path.join(context, \"dist\");\n compiler.options.devServer.hot = true;\n compiler.options.devServer.devMiddleware = { writeToDisk: true };\n compiler.options.devServer.headers = {\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, DELETE, PATCH, OPTIONS\",\n \"Access-Control-Allow-Headers\": \"X-Requested-With, content-type, Authorization\",\n };\n\n compiler.options.devServer.client = {\n logging: \"warn\",\n overlay: {\n warnings: false,\n errors: true,\n },\n };\n\n compiler.options.devServer.setupMiddlewares = (middlewares, devServer) => {\n setupPluginMiddleware(devServer, pluginInfo, devConfig, port);\n return originalSetup ? originalSetup(middlewares, devServer) : middlewares;\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.mjs","names":[],"sources":["../../../src/build/rspack/plugin.ts"],"sourcesContent":["import crypto from \"node:crypto\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { ModuleFederationPlugin } from \"@module-federation/enhanced/rspack\";\nimport type { Compiler, RspackPluginInstance } from \"@rspack/core\";\nimport { setupPluginMiddleware } from \"./dev-server-middleware\";\nimport { buildSharedDependencies } from \"./module-federation\";\nimport { getPluginInfo, loadDevConfig } from \"./utils\";\n\nexport interface EveryPluginOptions {\n devConfigPath?: string;\n port?: number;\n pluginId?: string;\n dts?: boolean;\n}\n\nexport interface PluginManifestEmitterOptions {\n manifestFileName?: string;\n contractFileName?: string;\n}\n\nexport class EmitPluginManifest implements RspackPluginInstance {\n name = \"EmitPluginManifest\";\n\n constructor(private options: PluginManifestEmitterOptions = {}) {}\n\n apply(compiler: Compiler) {\n compiler.hooks.thisCompilation.tap(this.name, (compilation) => {\n const webpack = (compiler as Compiler & { webpack?: any }).webpack;\n const rawSource = webpack?.sources?.RawSource;\n const stage = webpack?.Compilation?.PROCESS_ASSETS_STAGE_ADDITIONS ?? 1000;\n\n compilation.hooks.processAssets.tapPromise({ name: this.name, stage }, async () => {\n const context = compiler.options.context || process.cwd();\n const pluginInfo = getPluginInfo(context);\n const contractFileName = this.options.contractFileName ?? \"contract.d.ts\";\n const manifestFileName = this.options.manifestFileName ?? \"plugin.manifest.json\";\n\n const sourceContractPath = path.join(context, \"types\", contractFileName);\n\n let contractTypes: string;\n\n const tryReadFile = async (filePath: string): Promise<string | null> => {\n if (!fs.existsSync(filePath)) {\n return null;\n }\n const stats = fs.statSync(filePath);\n if (!stats.isFile()) {\n return null;\n }\n try {\n return await fs.promises.readFile(filePath, \"utf8\");\n } catch {\n return null;\n }\n };\n\n contractTypes = (await tryReadFile(sourceContractPath)) ?? \"\";\n\n if (!contractTypes) {\n const packageDir = context.split(\"/\").pop();\n const nestedPath = path.join(context, \"types\", packageDir ?? \"\", \"src\", contractFileName);\n\n contractTypes = (await tryReadFile(nestedPath)) ?? \"\";\n\n if (!contractTypes) {\n console.warn(\n `[EmitPluginManifest] Contract file not found at ${sourceContractPath} or ${nestedPath}. ` +\n `Skipping manifest generation.`,\n );\n return;\n }\n }\n\n const contractSha256 = crypto.createHash(\"sha256\").update(contractTypes).digest(\"hex\");\n const manifest = {\n schemaVersion: 1,\n kind: \"every-plugin/manifest\",\n plugin: {\n name: pluginInfo.name,\n version: pluginInfo.version,\n },\n runtime: {\n remoteEntry: \"./remoteEntry.js\",\n },\n contract: {\n kind: \"orpc\",\n types: {\n path: `./types/${contractFileName}`,\n exportName: \"contract\",\n typeName: \"ContractType\",\n sha256: contractSha256,\n },\n },\n };\n\n if (rawSource) {\n compilation.emitAsset(\n manifestFileName,\n new rawSource(`${JSON.stringify(manifest, null, 2)}\\n`),\n );\n compilation.emitAsset(`types/${contractFileName}`, new rawSource(`${contractTypes}`));\n }\n });\n });\n }\n}\n\nexport class EveryPluginDevServer implements RspackPluginInstance {\n name = \"EveryPluginDevServer\";\n\n constructor(private options: EveryPluginOptions = {}) {}\n\n apply(compiler: Compiler) {\n const pluginInfo = getPluginInfo(compiler.options.context || process.cwd());\n const devConfig = loadDevConfig(this.options.devConfigPath || \"./plugin.dev.ts\");\n const port = Number(process.env.PORT) || this.options.port || devConfig?.port || 3999;\n\n this.configureDefaults(compiler, pluginInfo);\n\n if (!compiler.options.devServer) {\n compiler.options.devServer = {};\n }\n\n this.configureDevServer(compiler, pluginInfo, devConfig, port);\n\n new ModuleFederationPlugin({\n name: pluginInfo.normalizedName,\n filename: \"remoteEntry.js\",\n dts: this.options.dts !== false,\n manifest: {},\n runtimePlugins: [require.resolve(\"@module-federation/node/runtimePlugin\")],\n library: { type: \"commonjs-module\" },\n exposes: {\n \"./plugin\": \"./src/index.ts\",\n },\n shared: buildSharedDependencies(pluginInfo),\n shareStrategy: \"version-first\",\n }).apply(compiler);\n\n if (this.options.dts === false) {\n compiler.options.plugins = (compiler.options.plugins ?? []).filter(\n (p) =>\n !p ||\n typeof p !== \"object\" ||\n ((p as any).name !== \"MFDevPlugin\" && (p as any).name !== \"ModuleFederationDtsPlugin\"),\n );\n }\n }\n\n private configureDefaults(compiler: Compiler, pluginInfo: any) {\n const context = compiler.options.context || process.cwd();\n\n if (!compiler.options.output) {\n compiler.options.output = {};\n }\n compiler.options.output.uniqueName = pluginInfo.normalizedName;\n compiler.options.output.publicPath = \"auto\";\n compiler.options.output.path = path.resolve(context, \"dist\");\n compiler.options.output.clean = true;\n compiler.options.output.library = { type: \"commonjs-module\" };\n\n if (!compiler.options.target) {\n compiler.options.target = \"async-node\";\n }\n\n if (!compiler.options.mode) {\n compiler.options.mode = process.env.NODE_ENV === \"development\" ? \"development\" : \"production\";\n }\n\n if (!compiler.options.devtool) {\n compiler.options.devtool = \"source-map\";\n }\n\n if (!compiler.options.infrastructureLogging) {\n compiler.options.infrastructureLogging = {\n level: \"warn\",\n };\n }\n\n this.ensureTypeScriptLoader(compiler);\n\n if (!compiler.options.resolve) {\n compiler.options.resolve = {};\n }\n compiler.options.resolve.extensions = [\"...\", \".tsx\", \".ts\"];\n compiler.options.resolve.conditionNames = [\n \"webpack\",\n \"import\",\n \"module\",\n \"require\",\n \"node\",\n \"default\",\n ];\n if (compiler.options.resolve.byDependency) {\n for (const depType of Object.keys(compiler.options.resolve.byDependency)) {\n const depConfig = (\n compiler.options.resolve.byDependency as Record<string, { conditionNames?: string[] }>\n )[depType];\n if (depConfig?.conditionNames) {\n depConfig.conditionNames = depConfig.conditionNames.filter((c) => c !== \"development\");\n }\n }\n }\n compiler.options.resolve.fallback = {\n ...compiler.options.resolve.fallback,\n bufferutil: false,\n \"utf-8-validate\": false,\n };\n }\n\n private ensureTypeScriptLoader(compiler: Compiler) {\n if (!compiler.options.module) {\n compiler.options.module = { rules: [] } as any;\n }\n\n if (!compiler.options.module.rules) {\n compiler.options.module.rules = [];\n }\n\n const hasTsLoader = compiler.options.module.rules.some(\n (rule: any) =>\n typeof rule === \"object\" &&\n rule !== null &&\n \"test\" in rule &&\n rule.test instanceof RegExp &&\n rule.test.test(\".ts\"),\n );\n\n if (!hasTsLoader) {\n compiler.options.module.rules.push({\n test: /\\.tsx?$/,\n use: \"builtin:swc-loader\",\n exclude: /node_modules/,\n });\n }\n }\n\n private configureDevServer(compiler: Compiler, pluginInfo: any, devConfig: any, port: number) {\n if (!compiler.options.devServer) {\n return;\n }\n\n const context = compiler.options.context || process.cwd();\n const originalSetup = compiler.options.devServer.setupMiddlewares;\n\n compiler.options.devServer.port = port;\n compiler.options.devServer.static = path.join(context, \"dist\");\n compiler.options.devServer.hot = true;\n compiler.options.devServer.devMiddleware = { writeToDisk: true };\n compiler.options.devServer.headers = {\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, DELETE, PATCH, OPTIONS\",\n \"Access-Control-Allow-Headers\": \"X-Requested-With, content-type, Authorization\",\n };\n\n compiler.options.devServer.client = {\n logging: \"warn\",\n overlay: {\n warnings: false,\n errors: true,\n },\n };\n\n compiler.options.devServer.setupMiddlewares = (middlewares, devServer) => {\n setupPluginMiddleware(devServer, pluginInfo, devConfig, port);\n return originalSetup ? originalSetup(middlewares, devServer) : middlewares;\n };\n }\n}\n"],"mappings":";;;;;;;;;;AAqBA,IAAa,qBAAb,MAAgE;CAC9D,OAAO;CAEP,YAAY,AAAQ,UAAwC,EAAE,EAAE;EAA5C;;CAEpB,MAAM,UAAoB;AACxB,WAAS,MAAM,gBAAgB,IAAI,KAAK,OAAO,gBAAgB;GAC7D,MAAM,UAAW,SAA0C;GAC3D,MAAM,YAAY,SAAS,SAAS;GACpC,MAAM,QAAQ,SAAS,aAAa,kCAAkC;AAEtE,eAAY,MAAM,cAAc,WAAW;IAAE,MAAM,KAAK;IAAM;IAAO,EAAE,YAAY;IACjF,MAAM,UAAU,SAAS,QAAQ,WAAW,QAAQ,KAAK;IACzD,MAAM,aAAa,cAAc,QAAQ;IACzC,MAAM,mBAAmB,KAAK,QAAQ,oBAAoB;IAC1D,MAAM,mBAAmB,KAAK,QAAQ,oBAAoB;IAE1D,MAAM,qBAAqB,KAAK,KAAK,SAAS,SAAS,iBAAiB;IAExE,IAAI;IAEJ,MAAM,cAAc,OAAO,aAA6C;AACtE,SAAI,CAAC,GAAG,WAAW,SAAS,CAC1B,QAAO;AAGT,SAAI,CADU,GAAG,SAAS,SAAS,CACxB,QAAQ,CACjB,QAAO;AAET,SAAI;AACF,aAAO,MAAM,GAAG,SAAS,SAAS,UAAU,OAAO;aAC7C;AACN,aAAO;;;AAIX,oBAAiB,MAAM,YAAY,mBAAmB,IAAK;AAE3D,QAAI,CAAC,eAAe;KAClB,MAAM,aAAa,QAAQ,MAAM,IAAI,CAAC,KAAK;KAC3C,MAAM,aAAa,KAAK,KAAK,SAAS,SAAS,cAAc,IAAI,OAAO,iBAAiB;AAEzF,qBAAiB,MAAM,YAAY,WAAW,IAAK;AAEnD,SAAI,CAAC,eAAe;AAClB,cAAQ,KACN,mDAAmD,mBAAmB,MAAM,WAAW,iCAExF;AACD;;;IAIJ,MAAM,iBAAiB,OAAO,WAAW,SAAS,CAAC,OAAO,cAAc,CAAC,OAAO,MAAM;IACtF,MAAM,WAAW;KACf,eAAe;KACf,MAAM;KACN,QAAQ;MACN,MAAM,WAAW;MACjB,SAAS,WAAW;MACrB;KACD,SAAS,EACP,aAAa,oBACd;KACD,UAAU;MACR,MAAM;MACN,OAAO;OACL,MAAM,WAAW;OACjB,YAAY;OACZ,UAAU;OACV,QAAQ;OACT;MACF;KACF;AAED,QAAI,WAAW;AACb,iBAAY,UACV,kBACA,IAAI,UAAU,GAAG,KAAK,UAAU,UAAU,MAAM,EAAE,CAAC,IAAI,CACxD;AACD,iBAAY,UAAU,SAAS,oBAAoB,IAAI,UAAU,GAAG,gBAAgB,CAAC;;KAEvF;IACF;;;AAIN,IAAa,uBAAb,MAAkE;CAChE,OAAO;CAEP,YAAY,AAAQ,UAA8B,EAAE,EAAE;EAAlC;;CAEpB,MAAM,UAAoB;EACxB,MAAM,aAAa,cAAc,SAAS,QAAQ,WAAW,QAAQ,KAAK,CAAC;EAC3E,MAAM,YAAY,cAAc,KAAK,QAAQ,iBAAiB,kBAAkB;EAChF,MAAM,OAAO,OAAO,QAAQ,IAAI,KAAK,IAAI,KAAK,QAAQ,QAAQ,WAAW,QAAQ;AAEjF,OAAK,kBAAkB,UAAU,WAAW;AAE5C,MAAI,CAAC,SAAS,QAAQ,UACpB,UAAS,QAAQ,YAAY,EAAE;AAGjC,OAAK,mBAAmB,UAAU,YAAY,WAAW,KAAK;AAE9D,MAAI,uBAAuB;GACzB,MAAM,WAAW;GACjB,UAAU;GACV,KAAK,KAAK,QAAQ,QAAQ;GAC1B,UAAU,EAAE;GACZ,gBAAgB,WAAS,QAAQ,wCAAwC,CAAC;GAC1E,SAAS,EAAE,MAAM,mBAAmB;GACpC,SAAS,EACP,YAAY,kBACb;GACD,QAAQ,wBAAwB,WAAW;GAC3C,eAAe;GAChB,CAAC,CAAC,MAAM,SAAS;AAElB,MAAI,KAAK,QAAQ,QAAQ,MACvB,UAAS,QAAQ,WAAW,SAAS,QAAQ,WAAW,EAAE,EAAE,QACzD,MACC,CAAC,KACD,OAAO,MAAM,YACX,EAAU,SAAS,iBAAkB,EAAU,SAAS,4BAC7D;;CAIL,AAAQ,kBAAkB,UAAoB,YAAiB;EAC7D,MAAM,UAAU,SAAS,QAAQ,WAAW,QAAQ,KAAK;AAEzD,MAAI,CAAC,SAAS,QAAQ,OACpB,UAAS,QAAQ,SAAS,EAAE;AAE9B,WAAS,QAAQ,OAAO,aAAa,WAAW;AAChD,WAAS,QAAQ,OAAO,aAAa;AACrC,WAAS,QAAQ,OAAO,OAAO,KAAK,QAAQ,SAAS,OAAO;AAC5D,WAAS,QAAQ,OAAO,QAAQ;AAChC,WAAS,QAAQ,OAAO,UAAU,EAAE,MAAM,mBAAmB;AAE7D,MAAI,CAAC,SAAS,QAAQ,OACpB,UAAS,QAAQ,SAAS;AAG5B,MAAI,CAAC,SAAS,QAAQ,KACpB,UAAS,QAAQ,OAAO,QAAQ,IAAI,aAAa,gBAAgB,gBAAgB;AAGnF,MAAI,CAAC,SAAS,QAAQ,QACpB,UAAS,QAAQ,UAAU;AAG7B,MAAI,CAAC,SAAS,QAAQ,sBACpB,UAAS,QAAQ,wBAAwB,EACvC,OAAO,QACR;AAGH,OAAK,uBAAuB,SAAS;AAErC,MAAI,CAAC,SAAS,QAAQ,QACpB,UAAS,QAAQ,UAAU,EAAE;AAE/B,WAAS,QAAQ,QAAQ,aAAa;GAAC;GAAO;GAAQ;GAAM;AAC5D,WAAS,QAAQ,QAAQ,iBAAiB;GACxC;GACA;GACA;GACA;GACA;GACA;GACD;AACD,MAAI,SAAS,QAAQ,QAAQ,aAC3B,MAAK,MAAM,WAAW,OAAO,KAAK,SAAS,QAAQ,QAAQ,aAAa,EAAE;GACxE,MAAM,YACJ,SAAS,QAAQ,QAAQ,aACzB;AACF,OAAI,WAAW,eACb,WAAU,iBAAiB,UAAU,eAAe,QAAQ,MAAM,MAAM,cAAc;;AAI5F,WAAS,QAAQ,QAAQ,WAAW;GAClC,GAAG,SAAS,QAAQ,QAAQ;GAC5B,YAAY;GACZ,kBAAkB;GACnB;;CAGH,AAAQ,uBAAuB,UAAoB;AACjD,MAAI,CAAC,SAAS,QAAQ,OACpB,UAAS,QAAQ,SAAS,EAAE,OAAO,EAAE,EAAE;AAGzC,MAAI,CAAC,SAAS,QAAQ,OAAO,MAC3B,UAAS,QAAQ,OAAO,QAAQ,EAAE;AAYpC,MAAI,CATgB,SAAS,QAAQ,OAAO,MAAM,MAC/C,SACC,OAAO,SAAS,YAChB,SAAS,QACT,UAAU,QACV,KAAK,gBAAgB,UACrB,KAAK,KAAK,KAAK,MAAM,CACxB,CAGC,UAAS,QAAQ,OAAO,MAAM,KAAK;GACjC,MAAM;GACN,KAAK;GACL,SAAS;GACV,CAAC;;CAIN,AAAQ,mBAAmB,UAAoB,YAAiB,WAAgB,MAAc;AAC5F,MAAI,CAAC,SAAS,QAAQ,UACpB;EAGF,MAAM,UAAU,SAAS,QAAQ,WAAW,QAAQ,KAAK;EACzD,MAAM,gBAAgB,SAAS,QAAQ,UAAU;AAEjD,WAAS,QAAQ,UAAU,OAAO;AAClC,WAAS,QAAQ,UAAU,SAAS,KAAK,KAAK,SAAS,OAAO;AAC9D,WAAS,QAAQ,UAAU,MAAM;AACjC,WAAS,QAAQ,UAAU,gBAAgB,EAAE,aAAa,MAAM;AAChE,WAAS,QAAQ,UAAU,UAAU;GACnC,+BAA+B;GAC/B,gCAAgC;GAChC,gCAAgC;GACjC;AAED,WAAS,QAAQ,UAAU,SAAS;GAClC,SAAS;GACT,SAAS;IACP,UAAU;IACV,QAAQ;IACT;GACF;AAED,WAAS,QAAQ,UAAU,oBAAoB,aAAa,cAAc;AACxE,yBAAsB,WAAW,YAAY,WAAW,KAAK;AAC7D,UAAO,gBAAgB,cAAc,aAAa,UAAU,GAAG"}
@@ -4,7 +4,7 @@ let node_module = require("node:module");
4
4
 
5
5
  //#region src/runtime/mf-config.ts
6
6
  (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
7
- const PLUGIN_VERSION = "2.2.4";
7
+ const PLUGIN_VERSION = "2.2.6";
8
8
  const SHARE_CONFIG = {
9
9
  singleton: true,
10
10
  requiredVersion: false,
@@ -2,7 +2,7 @@ import { createRequire } from "node:module";
2
2
 
3
3
  //#region src/runtime/mf-config.ts
4
4
  createRequire(import.meta.url);
5
- const PLUGIN_VERSION = "2.2.4";
5
+ const PLUGIN_VERSION = "2.2.6";
6
6
  const SHARE_CONFIG = {
7
7
  singleton: true,
8
8
  requiredVersion: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "every-plugin",
3
- "version": "2.2.4",
3
+ "version": "2.2.6",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -10,118 +10,66 @@
10
10
  "types": "./dist/index.d.mts",
11
11
  "exports": {
12
12
  ".": {
13
- "development": {
14
- "types": "./src/index.ts",
15
- "import": "./src/index.ts"
16
- },
17
13
  "types": "./dist/index.d.mts",
18
14
  "import": "./dist/index.mjs",
19
15
  "require": "./dist/index.cjs"
20
16
  },
21
17
  "./runtime": {
22
- "development": {
23
- "types": "./src/runtime/index.ts",
24
- "import": "./src/runtime/index.ts"
25
- },
26
18
  "types": "./dist/runtime/index.d.mts",
27
19
  "import": "./dist/runtime/index.mjs",
28
20
  "require": "./dist/runtime/index.cjs"
29
21
  },
30
22
  "./testing": {
31
- "development": {
32
- "types": "./src/testing/index.ts",
33
- "import": "./src/testing/index.ts"
34
- },
35
23
  "types": "./dist/testing/index.d.mts",
36
24
  "import": "./dist/testing/index.mjs",
37
25
  "require": "./dist/testing/index.cjs"
38
26
  },
39
27
  "./normalize": {
40
- "development": {
41
- "types": "./src/runtime/services/normalize.ts",
42
- "import": "./src/runtime/services/normalize.ts"
43
- },
44
28
  "types": "./dist/runtime/services/normalize.d.mts",
45
29
  "import": "./dist/runtime/services/normalize.mjs",
46
30
  "require": "./dist/runtime/services/normalize.cjs"
47
31
  },
48
32
  "./effect": {
49
- "development": {
50
- "types": "./src/effect.ts",
51
- "import": "./src/effect.ts"
52
- },
53
33
  "types": "./dist/effect.d.mts",
54
34
  "import": "./dist/effect.mjs",
55
35
  "require": "./dist/effect.cjs"
56
36
  },
57
37
  "./zod": {
58
- "development": {
59
- "types": "./src/zod.ts",
60
- "import": "./src/zod.ts"
61
- },
62
38
  "types": "./dist/zod.d.mts",
63
39
  "import": "./dist/zod.mjs",
64
40
  "require": "./dist/zod.cjs"
65
41
  },
66
42
  "./zod/v4/core": {
67
- "development": {
68
- "types": "./src/zod-core.ts",
69
- "import": "./src/zod-core.ts"
70
- },
71
43
  "types": "./dist/zod-core.d.mts",
72
44
  "import": "./dist/zod-core.mjs",
73
45
  "require": "./dist/zod-core.cjs"
74
46
  },
75
47
  "./orpc": {
76
- "development": {
77
- "types": "./src/orpc.ts",
78
- "import": "./src/orpc.ts"
79
- },
80
48
  "types": "./dist/orpc.d.mts",
81
49
  "import": "./dist/orpc.mjs",
82
50
  "require": "./dist/orpc.cjs"
83
51
  },
84
52
  "./orpc/client": {
85
- "development": {
86
- "types": "./src/orpc-client.ts",
87
- "import": "./src/orpc-client.ts"
88
- },
89
53
  "types": "./dist/orpc-client.d.mts",
90
54
  "import": "./dist/orpc-client.mjs",
91
55
  "require": "./dist/orpc-client.cjs"
92
56
  },
93
57
  "./orpc/openapi": {
94
- "development": {
95
- "types": "./src/orpc-openapi.ts",
96
- "import": "./src/orpc-openapi.ts"
97
- },
98
58
  "types": "./dist/orpc-openapi.d.mts",
99
59
  "import": "./dist/orpc-openapi.mjs",
100
60
  "require": "./dist/orpc-openapi.cjs"
101
61
  },
102
62
  "./errors": {
103
- "development": {
104
- "types": "./src/errors.ts",
105
- "import": "./src/errors.ts"
106
- },
107
63
  "types": "./dist/errors.d.mts",
108
64
  "import": "./dist/errors.mjs",
109
65
  "require": "./dist/errors.cjs"
110
66
  },
111
67
  "./types": {
112
- "development": {
113
- "types": "./src/types.ts",
114
- "import": "./src/types.ts"
115
- },
116
68
  "types": "./dist/types.d.mts",
117
69
  "import": "./dist/types.mjs",
118
70
  "require": "./dist/types.cjs"
119
71
  },
120
72
  "./build/rspack": {
121
- "development": {
122
- "types": "./src/build/rspack/index.ts",
123
- "import": "./src/build/rspack/index.ts"
124
- },
125
73
  "types": {
126
74
  "import": "./dist/build/rspack/index.d.mts",
127
75
  "require": "./dist/build/rspack/index.d.cts"
@@ -184,6 +184,24 @@ export class EveryPluginDevServer implements RspackPluginInstance {
184
184
  compiler.options.resolve = {};
185
185
  }
186
186
  compiler.options.resolve.extensions = ["...", ".tsx", ".ts"];
187
+ compiler.options.resolve.conditionNames = [
188
+ "webpack",
189
+ "import",
190
+ "module",
191
+ "require",
192
+ "node",
193
+ "default",
194
+ ];
195
+ if (compiler.options.resolve.byDependency) {
196
+ for (const depType of Object.keys(compiler.options.resolve.byDependency)) {
197
+ const depConfig = (
198
+ compiler.options.resolve.byDependency as Record<string, { conditionNames?: string[] }>
199
+ )[depType];
200
+ if (depConfig?.conditionNames) {
201
+ depConfig.conditionNames = depConfig.conditionNames.filter((c) => c !== "development");
202
+ }
203
+ }
204
+ }
187
205
  compiler.options.resolve.fallback = {
188
206
  ...compiler.options.resolve.fallback,
189
207
  bufferutil: false,