Я опубликовал npm модуль, написанный на ES6. Я использовал Babel для переноса его в ES5 и веб-пакет для его связывания.
Теперь, когда я импортирую модуль в свое приложение React и когда я go добавляю в объявление, открывается код ES5.
module.exports = (function (e) {
var t = {};
function r(n) {}
...
Я хочу показать код ES6 при открытии объявления в IDE , а не в ES5.
import React from 'react';
export class RerenderTracker extends React.Component {
componentWillUnmount() {}
...
Вот мой пакет. json
{
"name": "rerender-tracker",
"version": "1.0.10",
"description": "Component for tracking react rerenders",
"main": "./build/index.js",
"scripts": {
"build": "webpack --mode production",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com/mtroskot/rerender-tracker.git"
},
"keywords": [
"react",
"render",
"rerender",
"tracker"
],
"author": "Marko Troskot",
"license": "MIT",
"bugs": {
"url": "https://github.com/mtroskot/rerender-tracker/issues"
},
"homepage": "https://github.com/mtroskot/rerender-tracker#readme",
"peerDependencies": {
"react": ">=16"
},
"dependencies": {
"react": "^16.13.1"
},
"devDependencies": {
"@babel/core": "^7.9.6",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/preset-env": "^7.9.6",
"@babel/preset-react": "^7.9.4",
"babel-loader": "^8.1.0",
"babel-runtime": "^6.26.0",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.11"
}
}
мой .babelr c
{
"presets": ["@babel/preset-env", "@babel/preset-react"],
"plugins": ["@babel/plugin-proposal-class-properties"]
}
мой webpack.config. js
var path= require("path");
module.exports = {
entry:"./src/index.js",
output:{
path:path.resolve("build"),
filename:"index.js",
libraryTarget:"commonjs2"
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}
]
},
externals:{
react:"react"
}
};
Примечание
Это мой первый npm модуль, поэтому, если что-то не так в конфигах или не соответствует рекомендациям, пожалуйста, дайте мне знать.