# npm
# Publish の方法
# webpack
# output
ライブラリターゲットは commonjs2 にする。(umd でも可)
const output = {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
libraryTarget: 'commonjs2',
publicPath: '/dist/',
};
# externals
バンドルしないファイルを記載する。特に react 関係は必ず外すこと。
const externals = {
// Don't bundle external libraries
react: {
commonjs: 'react',
commonjs2: 'react',
amd: 'React',
root: 'React',
},
'react-dom': {
commonjs: 'react-dom',
commonjs2: 'react-dom',
amd: 'ReactDOM',
root: 'ReactDOM',
},
emotion: {
commonjs: 'emotion',
commonjs2: 'emotion',
},
};
# .npmignore
yarn add したときに、node_modules に入る必要のないファイルを記載する。 なお、下記のファイルには ignore が効かず、強制的にインストールされる。
- package.json
- README.md
- LICENSE
# package.json
# scripts
npm に publish する前に必要なコマンドを記載する。
"prepublish": "del-cli dist/**/* && npm run build"
# main
npm package の default export になるべきファイルを記載する。
"main": "dist/bundle.js",
# peerDepenencies
警告表示のみで実際にインストールはしないものを記載(react はこちら)
# dependencies
実際にインストールするものを記載(絶対に必要なパッケージはこちら)
# npm への publish
npm login
npm publish