As TypeScript grows in popularity, many developers are creating statically typed packages to take advantage of the benefits the language offers. In this post, we will cover the process of creating and publishing an NPM package using TypeScript.
Make sure you have Node.js, NPM, and TypeScript installed. You can install TypeScript globally with:
npm install -g typescript
Check that everything is installed correctly:
node -v npm -v tsc -v
Start by creating a directory for your project:
mkdir meu-pacote-typescript cd meu-pacote-typescript
Initialize a Node.js project:
npm init
This will create the package.json file where you can define the basic package information.
Now, initialize a TypeScript project:
tsc --init
This will create a tsconfig.json file. Edit it as needed, but a common setting is as follows:
{ "compilerOptions": { "target": "ES6", "module": "CommonJS", "declaration": true, "outDir": "./dist", "strict": true }, "include": ["src/**/*"] }
Here, we are configuring the TypeScript compiler to generate ES6 code, with CommonJS modules, and include type declarations (declaration: true). The compiled code will be placed in the dist.
directoryCreate a src directory and inside it a file index.ts:
mkdir src touch src/index.ts
In the index.ts file, write your package code. Let's create a simple function to convert strings to uppercase:
export function toUpperCase(str: string): string { return str.toUpperCase(); }
Compile TypeScript to JavaScript:
tsc
This will generate the JavaScript files and type declarations in the dist directory.
To test your package, you can install it locally in another project:
npm install ../caminho-para-o-diretorio-do-seu-pacote/dist
import { toUpperCase } from 'nome-do-seu-pacote'; console.log(toUpperCase('hello world')); // "HELLO WORLD"
This ensures that both JavaScript code and type declarations work correctly.
If everything is working correctly, you are ready to publish your package.
If you don't already have an NPM account, create one and log in:
npm login
Before publishing, add a build script to package.json:
"scripts": { "build": "tsc" }
And add the output path in package.json:
"main": "dist/index.js", "types": "dist/index.d.ts"
Now compile and publish:
npm run build npm publish
If the package name already exists, you will need to choose a new name.
To publish a new version, change the version in package.json, run npm run build again, and publish:
npm publish
Creating and publishing TypeScript packages on NPM not only improves code quality, it also provides typing benefits to those consuming your package. By following this guide, you'll be ready to share your solutions with the JavaScript and TypeScript community, contributing to a stronger, more robust development ecosystem.
Now that you know the process, how about starting to build your next TypeScript package?
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3