Ts-lib-template A starter template for typescript library.
# init project
yarn
# build
yarn build
# tag and version
make version
# publish to npm
make publish
# dev
yarn startThis is a template for typescript library base on esbuild/parcel. This template includes followings:
-
TypeScript
-
Esbuild / Parcel
-
Makefile
-
Dev server
-
Env
-
Prettier
-
Eslint
-
Jest
-
Sass/scss & Autoprefixer
-
Github action
-
Create your repository by clicking 'Use this template' top of the page. Then, check the
Include all branchesoption. -
Select a branch and rename it as
main, then mark that branch asdefaultat github repository settings:esbuildThis branch is based on Esbuild with a lot of customization.parcelThis branch is based on Parcel, it's more simple and easy to understand.mainSame asesbuild, but it will move to parcel when parcel is complete.
This just an example, please refer to the content on the specific branch.
// .sh.js
const { MY_ENV, PORT, NODE_ENV, npm_package_name } = process.env;
// the customized ENV, just pick what you need
const env = {
MY_ENV,
PORT,
NODE_ENV,
npm_package_name,
};
module.exports = {
// your lib global name
globalName: "tsLibTemplate",
// the output prefix name, default is 'main', please check your package.json after this option changed.
outputFileName: "main",
// devServer option
devServer: {
host: HOST || "localhost",
port: PORT || 2021,
proxy: {
"^/api": {
target: "http://192.168.0.123:1234",
pathRewrite: { "^/api": "" },
},
},
},
// jsx options direct set to esbuild
jsxFactory: "React.createElement",
jsxFragment: "React.Fragment",
// if env is false, default is all process env
env,
};raulanatol / template-ts-package
The MIT License (MIT)