feat: add es2021 target (#6899)

* feat: add es2021 target

* chore:  add lint ignore

* fix: not define main field in exports field

* chore: changeset
This commit is contained in:
luhc228 2024-06-05 10:24:10 +08:00 committed by GitHub
parent 18c7e3eb07
commit 9926faae88
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 95 additions and 17 deletions

View File

@ -0,0 +1,5 @@
---
'rax-compat': minor
---
feat: export es2021 output

View File

@ -14,6 +14,7 @@ coverage/
/packages/*/lib/
/packages/*/esm/
/packages/*/es2017/
/packages/*/es2021/
**/tests/libs/*.js
# 忽略第三方包

View File

@ -1,3 +1,4 @@
es2017/
es2021/
dist/
esm/

View File

@ -5,4 +5,7 @@ export default defineConfig({
formats: ['esm', 'es2017'],
},
sourceMaps: process.env.NODE_ENV === 'development',
plugins: [
'./plugin.mjs',
],
});

View File

@ -4,28 +4,78 @@
"description": "Rax compatible mode, running rax project on the react runtime.",
"files": [
"esm",
"cjs",
"es2017",
"dist",
"build"
"es2021"
],
"type": "module",
"main": "esm/index.js",
"module": "esm/index.js",
"exports": {
".": "./esm/index.js",
"./children": "./esm/children.js",
"./clone-element": "./esm/clone-element.js",
"./create-class": "./esm/create-class.js",
"./create-factory": "./esm/create-factory.js",
"./create-portal": "./esm/create-portal.js",
"./find-dom-node": "./esm/find-dom-node.js",
"./is-valid-element": "./esm/is-valid-element.js",
"./unmount-component-at-node": "./esm/unmount-component-at-node.js",
"./runtime": "./esm/runtime/index.js",
"./runtime/jsx-dev-runtime": "./esm/runtime/jsx-dev-runtime.js",
"./runtime/jsx-runtime": "./esm/runtime/jsx-runtime.js",
"./es2017": "./es2017/index.js"
".": {
"es2021": "./es2021/index.js",
"es2017": "./es2017/index.js",
"default": "./esm/index.js"
},
"./children": {
"es2021": "./es2021/children.js",
"es2017": "./es2017/children.js",
"default": "./esm/children.js"
},
"./clone-element": {
"es2021": "./es2021/clone-element.js",
"es2017": "./es2017/clone-element.js",
"default": "./esm/clone-element.js"
},
"./create-class": {
"es2021": "./es2021/create-class.js",
"es2017": "./es2017/create-class.js",
"default": "./esm/create-class.js"
},
"./create-factory": {
"es2021": "./es2021/create-factory.js",
"es2017": "./es2017/create-factory.js",
"default": "./esm/create-factory.js"
},
"./create-portal": {
"es2021": "./es2021/create-portal.js",
"es2017": "./es2017/create-portal.js",
"default": "./esm/create-portal.js"
},
"./find-dom-node": {
"es2021": "./es2021/find-dom-node.js",
"es2017": "./es2017/find-dom-node.js",
"default": "./esm/find-dom-node.js"
},
"./is-valid-element": {
"es2021": "./es2021/is-valid-element.js",
"es2017": "./es2017/is-valid-element.js",
"default": "./esm/is-valid-element.js"
},
"./unmount-component-at-node": {
"es2021": "./es2021/unmount-component-at-node.js",
"es2017": "./es2017/unmount-component-at-node.js",
"default": "./esm/unmount-component-at-node.js"
},
"./runtime": {
"es2021": "./es2021/runtime/index.js",
"es2017": "./es2017/runtime/index.js",
"default": "./esm/runtime/index.js"
},
"./runtime/jsx-dev-runtime": {
"es2021": "./es2021/runtime/jsx-dev-runtime.js",
"es2017": "./es2017/runtime/jsx-dev-runtime.js",
"default": "./esm/runtime/jsx-dev-runtime.js"
},
"./runtime/jsx-runtime": {
"es2021": "./es2021/runtime/jsx-runtime.js",
"es2017": "./es2017/runtime/jsx-runtime.js",
"default": "./esm/runtime/jsx-runtime.js"
},
"./es2017": {
"es2021": "./es2021/index.js",
"es2017": "./es2017/index.js",
"default": "./esm/index.js"
}
},
"sideEffects": [
"dist/*",
@ -77,4 +127,4 @@
"author": "ice-admin@alibaba-inc.com",
"license": "MIT",
"homepage": "https://github.com/alibaba/ice#readme"
}
}

View File

@ -0,0 +1,18 @@
/**
* @type {import('@ice/pkg').Plugin}
*/
const plugin = (api) => {
api.registerTask('transform-es2021', {
type: 'transform',
formats: ['es2021'],
outputDir: 'es2021',
modifySwcCompileOptions: (options => {
options.jsc.target = 'es2021';
return options;
}),
entry: 'src/index',
sourcemap: false,
});
};
export default plugin;