@empjs/plugin-react 3.12.0 → 4.0.0-alpha.1
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.d.ts +3 -36
- package/dist/index.js +1 -1
- package/dist/types.d.ts +62 -0
- package/package.json +14 -18
- package/dist/index.cjs +0 -1
- package/dist/index.d.cts +0 -40
package/dist/index.d.ts
CHANGED
|
@@ -1,40 +1,7 @@
|
|
|
1
|
-
import { GlobalStore } from '@empjs/cli';
|
|
2
|
-
|
|
3
|
-
type PluginReactType = {
|
|
4
|
-
/**
|
|
5
|
-
* 是否启动 热更 默认为 true
|
|
6
|
-
*/
|
|
7
|
-
hmr?: boolean;
|
|
8
|
-
/**
|
|
9
|
-
* 是否启动 Svg React Component
|
|
10
|
-
* @default ?react
|
|
11
|
-
*/
|
|
12
|
-
svgrQuery?: string;
|
|
13
|
-
/**
|
|
14
|
-
* React Runtime 手动切换jsx模式
|
|
15
|
-
* 当 external react时需要设置
|
|
16
|
-
* 本地安装时会自动判断 不需要设置
|
|
17
|
-
* @default undefined
|
|
18
|
-
*/
|
|
19
|
-
reactRuntime?: string;
|
|
20
|
-
splickChunks?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* react version 适配cdn 加载环境
|
|
23
|
-
* 不安装 react 必须手动输入版本号 以便适配配置
|
|
24
|
-
* @default 18
|
|
25
|
-
*/
|
|
26
|
-
version?: number;
|
|
27
|
-
import?: {
|
|
28
|
-
src: string;
|
|
29
|
-
externals?: {
|
|
30
|
-
[key: string]: string;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
|
|
1
|
+
import type { GlobalStore } from '@empjs/cli';
|
|
2
|
+
import type { PluginReactType } from './types';
|
|
35
3
|
declare const _default: (o?: PluginReactType) => {
|
|
36
4
|
name: string;
|
|
37
5
|
rsConfig(store: GlobalStore): Promise<void>;
|
|
38
6
|
};
|
|
39
|
-
|
|
40
|
-
export { _default as default };
|
|
7
|
+
export default _default;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{createRequire as e}from"node:module";import{ReactRefreshRspackPlugin as r}from"@rspack/plugin-react-refresh";let t=e(import.meta.url);export default((e={})=>({name:"@empjs/plugin-react",async rsConfig(s){let{chain:o,deepAssign:c}=s;!1===s.empConfig.server.hot&&(e.hmr=!1),!1===e.hmr&&(s.empConfig.server.hot=!1);let a="18.0.0";(e=c({hmr:!0,svgrQuery:"react",splickChunks:!1},e)).version?a=`${e.version}`:(s.pkg.dependencies.react||s.pkg.devDependencies.react)&&(a=s.pkg.dependencies.react||s.pkg.devDependencies.react),e.import&&(s.injectTags([{attributes:{src:e.import.src},tagName:"script"}]),e.import.externals&&o.merge({externals:e.import.externals}));let i={react:{runtime:a?e.reactRuntime?e.reactRuntime:s.vCompare(a,"17")>-1?"automatic":"classic":e.reactRuntime,development:s.isDev,refresh:s.isDev&&e.hmr}},m=e=>(e.jsc.transform=c(e.jsc.transform,i),e);if(o.module.rule("javascript").use("swc").tap(m),o.module.rule("typescript").use("swc").tap(m),s.isDev&&e.hmr){let e=`${s.uniqueName}_emp_hmr_${s.empConfig.server.port||"default"}`;s.chain.plugin("plugin-react-refresh").use(r,[{include:[/\.(?:js|jsx|mjs|cjs|ts|tsx|mts|cts)$/],exclude:[/node_modules/,/\.css$/,/__federation_expose.*\.js$/],library:e,reloadOnRuntimeErrors:!0}])}o.module.rule("svg").delete("type");let n=RegExp(`${e.svgrQuery}`);s.chain.merge({module:{rule:{svg:{test:/\.svg$/,oneOf:[{issuer:/\.[jt]sx?$/,resourceQuery:n,use:[{loader:t.resolve("@svgr/webpack"),options:{}}]},{resourceQuery:{not:[n]},type:"asset/resource"}]}}}}),e.splickChunks&&s.chain.optimization.merge({splitChunks:{cacheGroups:{react:{name:"common-react",test:s.isDev?/node_modules[\\/](?:react|react-dom|scheduler|react-refresh|@rspack[\\/]plugin-react-refresh)[\\/]/:/node_modules[\\/](?:react|react-dom|scheduler)[\\/]/,priority:0},reactRouter:{name:"common-react-router",test:/node_modules[\\/](?:react-router|react-router-dom|history|@remix-run[\\/]router)[\\/]/,priority:0}}}})}}));
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export type PluginReactType = {
|
|
2
|
+
/**
|
|
3
|
+
* 是否启动 热更 默认为 true
|
|
4
|
+
*/
|
|
5
|
+
hmr?: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* 是否启动 Svg React Component
|
|
8
|
+
* @default ?react
|
|
9
|
+
*/
|
|
10
|
+
svgrQuery?: string;
|
|
11
|
+
/**
|
|
12
|
+
* React Runtime 手动切换jsx模式
|
|
13
|
+
* 当 external react时需要设置
|
|
14
|
+
* 本地安装时会自动判断 不需要设置
|
|
15
|
+
* @default undefined
|
|
16
|
+
*/
|
|
17
|
+
reactRuntime?: string;
|
|
18
|
+
splickChunks?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* react version 适配cdn 加载环境
|
|
21
|
+
* 不安装 react 必须手动输入版本号 以便适配配置
|
|
22
|
+
* @default 18
|
|
23
|
+
*/
|
|
24
|
+
version?: number;
|
|
25
|
+
import?: {
|
|
26
|
+
src: string;
|
|
27
|
+
externals?: {
|
|
28
|
+
[key: string]: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* React Refresh 插件配置选项
|
|
34
|
+
* 参考: https://github.com/rspack-contrib/rspack-plugin-react-refresh
|
|
35
|
+
*/
|
|
36
|
+
export type PluginReactConfigType = {
|
|
37
|
+
include?: RegExp | RegExp[];
|
|
38
|
+
exclude?: RegExp | RegExp[];
|
|
39
|
+
library?: string;
|
|
40
|
+
overlay?: boolean | {
|
|
41
|
+
entry?: string | string[];
|
|
42
|
+
module?: string | string[];
|
|
43
|
+
sockIntegration?: 'wds' | 'whm';
|
|
44
|
+
sockHost?: string;
|
|
45
|
+
sockPort?: number;
|
|
46
|
+
sockPath?: string;
|
|
47
|
+
sockProtocol?: 'http' | 'https';
|
|
48
|
+
};
|
|
49
|
+
useLegacyWDSSockets?: boolean;
|
|
50
|
+
forceEnable?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Whether to inject the builtin:react-refresh-loader
|
|
53
|
+
* @default true
|
|
54
|
+
*/
|
|
55
|
+
injectLoader?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Whether to inject the client/reactRefreshEntry.js
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
60
|
+
injectEntry?: boolean;
|
|
61
|
+
reloadOnRuntimeErrors?: boolean;
|
|
62
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empjs/plugin-react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-alpha.1",
|
|
4
4
|
"description": "emp react plugin",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -22,35 +22,31 @@
|
|
|
22
22
|
"keywords": [
|
|
23
23
|
"react"
|
|
24
24
|
],
|
|
25
|
-
"main": "dist/index.js",
|
|
26
|
-
"types": "dist/index.d.ts",
|
|
25
|
+
"main": "./dist/index.js",
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
27
|
"exports": {
|
|
28
28
|
".": {
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
},
|
|
33
|
-
"require": {
|
|
34
|
-
"types": "./dist/index.d.cts",
|
|
35
|
-
"default": "./dist/index.cjs"
|
|
36
|
-
}
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"import": "./dist/index.js",
|
|
31
|
+
"default": "./dist/index.js"
|
|
37
32
|
}
|
|
38
33
|
},
|
|
39
34
|
"engines": {
|
|
40
|
-
"node": "
|
|
35
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
41
36
|
},
|
|
42
37
|
"author": "Ken",
|
|
43
38
|
"devDependencies": {
|
|
44
|
-
"@types/react": "^
|
|
45
|
-
"@empjs/cli": "
|
|
39
|
+
"@types/react": "^19.2.10",
|
|
40
|
+
"@empjs/cli": "4.0.0-alpha.1"
|
|
46
41
|
},
|
|
47
42
|
"dependencies": {
|
|
48
|
-
"@rspack/plugin-react-refresh": "
|
|
43
|
+
"@rspack/plugin-react-refresh": "^2.0.0",
|
|
49
44
|
"@svgr/webpack": "8.1.0",
|
|
50
|
-
"react-refresh": "0.
|
|
45
|
+
"react-refresh": "0.18.0"
|
|
51
46
|
},
|
|
52
47
|
"scripts": {
|
|
53
|
-
"build": "
|
|
54
|
-
"dev": "
|
|
48
|
+
"build": "rslib build --env-mode production",
|
|
49
|
+
"dev": "rslib build --watch --env-mode development",
|
|
50
|
+
"test": "node test/react-refresh-plugin.test.mjs"
|
|
55
51
|
}
|
|
56
52
|
}
|
package/dist/index.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var d=Object.create;var c=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var R=(e,r)=>{for(var t in r)c(e,t,{get:r[t],enumerable:!0})},m=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of h(r))!y.call(e,s)&&s!==t&&c(e,s,{get:()=>r[s],enumerable:!(n=g(r,s))||n.enumerable});return e};var p=(e,r,t)=>(t=e!=null?d(v(e)):{},m(r||!e||!e.__esModule?c(t,"default",{value:e,enumerable:!0}):t,e)),j=e=>m(c({},"__esModule",{value:!0}),e);var k={};R(k,{default:()=>x});module.exports=j(k);var x=(e={})=>({name:"@empjs/plugin-react",async rsConfig(r){let{chain:t,deepAssign:n}=r;r.empConfig.server.hot===!1&&(e.hmr=!1),e.hmr===!1&&(r.empConfig.server.hot=!1),e=n({hmr:!0,svgrQuery:"react",splickChunks:!1},e);let s="18.0.0";e.version?s=`${e.version}`:(r.pkg.dependencies.react||r.pkg.devDependencies.react)&&(s=r.pkg.dependencies.react||r.pkg.devDependencies.react),e.import&&(r.injectTags([{attributes:{src:e.import.src},tagName:"script"}]),e.import.externals&&t.merge({externals:e.import.externals}));function l(){return s?e.reactRuntime?e.reactRuntime:r.vCompare(s,"17")>-1?"automatic":"classic":e.reactRuntime}let o={react:{runtime:l(),development:r.isDev,refresh:r.isDev&&e.hmr}},a=i=>(i.jsc.transform=n(i.jsc.transform,o),i);if(t.module.rule("javascript").use("swc").tap(a),t.module.rule("typescript").use("swc").tap(a),r.isDev&&e.hmr){let i=`${r.uniqueName}_emp_hmr_${r.empConfig.server.port||"default"}`,f={include:[/\.(?:js|jsx|mjs|cjs|ts|tsx|mts|cts)$/],exclude:[/node_modules/,/\.css$/,/__federation_expose.*\.js$/],library:i};r.chain.plugin("plugin-react-refresh").use(require.resolve("@rspack/plugin-react-refresh"),[f])}t.module.rule("svg").delete("type");let u=new RegExp(`${e.svgrQuery}`);r.chain.merge({module:{rule:{svg:{test:/\.svg$/,oneOf:[{issuer:/\.[jt]sx?$/,resourceQuery:u,use:[{loader:require.resolve("@svgr/webpack"),options:{}}]},{resourceQuery:{not:[u]},type:"asset/resource"}]}}}}),e.splickChunks&&r.chain.optimization.merge({splitChunks:{cacheGroups:{react:{name:"common-react",test:r.isDev?/node_modules[\\/](?:react|react-dom|scheduler|react-refresh|@rspack[\\/]plugin-react-refresh)[\\/]/:/node_modules[\\/](?:react|react-dom|scheduler)[\\/]/,priority:0},reactRouter:{name:"common-react-router",test:/node_modules[\\/](?:react-router|react-router-dom|history|@remix-run[\\/]router)[\\/]/,priority:0}}}})}});
|
package/dist/index.d.cts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { GlobalStore } from '@empjs/cli';
|
|
2
|
-
|
|
3
|
-
type PluginReactType = {
|
|
4
|
-
/**
|
|
5
|
-
* 是否启动 热更 默认为 true
|
|
6
|
-
*/
|
|
7
|
-
hmr?: boolean;
|
|
8
|
-
/**
|
|
9
|
-
* 是否启动 Svg React Component
|
|
10
|
-
* @default ?react
|
|
11
|
-
*/
|
|
12
|
-
svgrQuery?: string;
|
|
13
|
-
/**
|
|
14
|
-
* React Runtime 手动切换jsx模式
|
|
15
|
-
* 当 external react时需要设置
|
|
16
|
-
* 本地安装时会自动判断 不需要设置
|
|
17
|
-
* @default undefined
|
|
18
|
-
*/
|
|
19
|
-
reactRuntime?: string;
|
|
20
|
-
splickChunks?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* react version 适配cdn 加载环境
|
|
23
|
-
* 不安装 react 必须手动输入版本号 以便适配配置
|
|
24
|
-
* @default 18
|
|
25
|
-
*/
|
|
26
|
-
version?: number;
|
|
27
|
-
import?: {
|
|
28
|
-
src: string;
|
|
29
|
-
externals?: {
|
|
30
|
-
[key: string]: string;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
declare const _default: (o?: PluginReactType) => {
|
|
36
|
-
name: string;
|
|
37
|
-
rsConfig(store: GlobalStore): Promise<void>;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
export { _default as default };
|