hello-world-npm-tutorial
v0.0.1
Published
This is a sample package to learn how to publish an npm package
Downloads
2
Maintainers
Readme
hello-world
A simple TypeScript package that demonstrates how to publish an npm package. This package provides a basic "Hello, World!" functionality with TypeScript support and modern build tooling.
Features
- 🚀 TypeScript support with full type definitions
- 📦 Dual package support (ESM and CommonJS)
- 🔧 Modern build tooling with tsup
- 🌐 Works in both Node.js and browser environments
- 📝 MIT licensed
Installation
npm install hello-worldUsage
ES Modules (ESM)
import print from 'hello-world';
// Prints "Hello, World! Your message here"
print(' Your message here');CommonJS
const print = require('hello-world').default;
// Prints "Hello, World! Your message here"
print(' Your message here');Importing the constant
import { HELLO_WORLD_MESSAGE } from 'hello-world';
console.log(HELLO_WORLD_MESSAGE); // "Hello, World!"API
print(message: string): void
The default export function that prints "Hello, World!" followed by your custom message.
Parameters:
message(string): The message to append after "Hello, World!"
Returns: void
HELLO_WORLD_MESSAGE
A constant string containing "Hello, World!" that can be imported separately.
Type: string
Development
Prerequisites
- Node.js (version 14 or higher)
- npm or yarn
Setup
- Clone the repository:
git clone https://github.com/jnhowe/hello-world.git
cd hello-world- Install dependencies:
npm installScripts
npm run build- Build the package for productionnpm run dev- Build the package in watch mode for development
Build Output
The build process generates:
dist/index.js- ES module builddist/index.cjs- CommonJS builddist/index.d.ts- TypeScript type definitions
Package Structure
hello-world/
├── src/
│ └── index.ts # Main source file
├── dist/ # Build output (generated)
├── package.json # Package configuration
├── tsup.config.ts # Build configuration
├── LICENSE # MIT license
└── README.md # This fileKeywords
- event-loop
- performance
- monitoring
- lag
- javascript
- typescript
- browser
- nodejs
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
Jafar Howe
- Email: [email protected]
- GitHub: @jnhowe
Issues
If you encounter any issues or have questions, please file them in the GitHub Issues section.
This package serves as a learning example for publishing npm packages with TypeScript and modern tooling.
