super-lemon-bid v1.1.3
https://www.youtube.com/watch?v=esyS87NfBOw
1- npm init
2- entry point: ./build/index.js
3- add in package.json: "scripts": { "build": "webpack", "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "@babel/core": "^7.22.15", "@babel/preset-env": "^7.22.15", "@babel/preset-react": "^7.22.15", "babel-loader": "^9.1.3", "css-loader": "^6.8.1", "react": "^18.2.0", "style-loader": "^3.3.3", "webpack": "^5.88.2", "webpack-cli": "^5.1.4" }
4- npm install
5- create: .babelrc { "presets": "@babel/preset-react", "@babel/preset-env" }
6- create: webpack.config.js var path = require("path");
module.exports = {
mode: "production",
entry: "./src/index.js",
output: {
path: path.resolve("build"),
filename: "index.js",
libraryTarget: "commonjs2"
},
module: {
rules: [
{ test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" },
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}
]
},
externals: {
react: "react"
}
};
7- create: .gitignore /node_modules
8- create: .npmignore /src .babelrc .webpack.config.js
9- create: index.d.ts declare module 'super-lemon';
10- npm run build
11- npm login
12- npm publish (if error 403 then probably you need to change the package name because it's not unique)
13- npm version | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git