
Learn how npm packages enable code reuse in a monorepo, creating a common package for logic, errors, and events across services, and set up TypeScript, documentation, linting, and CI.
Explore the course structure and what to expect as you build a base converter package with TypeScript, document thoroughly, and learn about monorepos, workspaces, and deploying to an npm organization.
Learn to set up a project with asdf, install node 15.4.0, and configure a local version alongside a global one for consistent runtimes.
Explore how to create a public npm package by configuring package.json with name, version 1.0.0, main file, author, MIT license, and keywords, and decide on public versus private settings.
Configure ESLint, Prettier, and TypeScript in a project, initialize configs, add a TypeScript parser, extend recommended rules, and set up a Prettier config with semicolons, single quotes, and trailing commas.
Configure jest for npm packages and monorepos by creating a TypeScript config file, exporting a default config, collecting coverage from .ts sources, ignoring index, and enforcing 100% thresholds.
Configure TypeScript with tsconfig.json, setting target ES5 and module as commonjs, enable declaration files, and output to a built folder while enforcing strict checks and consistent casing.
Configure the package.json to publish only the build folder, include needed files, and set scripts for type checks, tests, and coverage; add pre-commit and pre-push hooks.
Implement a base conversion from bases greater than 10 to decimal, map digits a to f to numbers, add a letters-to-numbers utility, and refine tests to cover all cases.
Implement a decimal-to-base conversion method with tests, build a utils inverse object to swap keys and values, map remainders to digits or letters, and achieve full test coverage.
Extend a base-to-decimal converter to handle decimal parts, using a delimiter, processing fractional digits with negative powers, and validating with tests.
Explore validations in npm packages by modeling tests and errors for inputs, ensuring strings are used for base conversions, and handling issues like invalid numbers and multiple delimiters.
Fix the convert from decimal to base N method by trimming leading zeros and validating decimal-to-base conversions, such as 10 in base 16, to ensure correct results across tests.
Explore converting decimal parts to a base with a given precision, handling both integer and fractional parts using the convert from decimal to base-n method.
Learn to validate integers and decimal numbers in a base conversion utility, enforce integer bases and positions, and achieve 100 percent test coverage through focused unit tests.
Learn to implement a base-to-base convert method in TypeScript with tests-first development, converting through decimal and supporting precision via a convert options interface.
Explore TypeDoc workflows for TypeScript projects, learn to document functions and classes with comments, configure a TypeDoc JSON, set entry points and exclusions, and build and serve interactive API docs.
Document the base converter class with typedoc-style comments, detailing the convert method, its parameters object, and return value, while distinguishing public and private methods for clearer package docs.
Set up a new public GitHub repository for an npm package, configure package.json fields, link remotes, and ensure a pre-push hook and 100% coverage.
Learn how to rename and publish an npm package, including updating references to a new package name like 'super bass converter' across code and tests, and understanding scoped packages.
Create an npm account, enable two-factor authentication, and log in with npm login in the terminal using your username, password, email, and one-time password.
Publish your npm package and verify built-in TypeScript declarations, zero dependencies, and versioning, then test the converter in a playground before automating deployment.
Install and test a local npm package by running npm install in an empty directory, verify only the built folder is included via package.json, and run a quick converter example.
Automate your npm workflow with GitHub actions to build, test, and deploy code via pull requests, enabling continuous integration and deployment, while installing dependencies from the lockfile and running tests.
Automate the build and deployment workflow for npm packages by triggering on master, running on ubuntu, and publishing to an IBM registry with a secured npm token.
Publish a new version by patching npm version patch, tag the commit, merge to master, and deploy via pull request, GitHub actions, and npm registry.
Add badges to your readme and showcase deployment status, donations, and documentation by using a GitHub action workflow to publish to the npm registry.
Explore next steps, adding extra validations and an optional constructor parameter to support bases beyond two to sixteen by supplying a custom letters-to-numbers map.
Explore Yarn workspaces and monorepos to manage multiple packages, including common and server, with shared dependencies and internal references like @mycompany/common.
Explore the advantages and disadvantages of monorepos, including centralized ownership, easier onboarding, and global feature refactors, contrasted with access control, performance, and build-time challenges.
Create organizations in npm and GitHub to group packages, set public or private access, invite collaborators, and understand free tier limits like five hundred megabytes of packages and repositories.
Set up a basic express app with npm init and install express, create a get / route, then dockerize using a Dockerfile and Docker Compose mapping port 80 to 88.
Create a common package within the npm packages directory, set the scope to your organization, initialize, add an index, commit, and publish with public access.
Initialize a root npm monorepo and add git submodules for a python service and an express service. Configure remotes, push to GitHub, and trace commits linking packages.
Leverage local development by wiring npm scripts to start multiple services—Express, Python, and Django—containerizing the app for a unified, service-isolated monorepo workflow.
Learn how changes in a subpackage update the root monorepo by tracing commit hashes, as edits in an express service alter the referenced commit without changing the root code.
In this wrap-up, the speaker argues that monorepos with isolated services and dockerized components improve access control, reduce git noise, and streamline cross-repo refactoring.
Learn to implement npm packages with best practices, read documentation, and manage multiple language versions using asdf. Explore monorepos and their drawbacks, plus practical collaboration approaches.
In this course, we are going to deep dive in how to implement a NPM package with best practices. Sounds boring? Well, we are going to learn:
Typescript
Typedoc
ESLint, Prettier, Typescript, Jest and Husky configuration
Github Actions for CI/CD
Best practices FTW!
In the second part of this course, we are going to learn about monorepos:
Yarn workspaces
Monorepos: advantages vs disadvantages
Git submodules
NPM and Github organizations