-
Notifications
You must be signed in to change notification settings - Fork 79
npm faq
NPM is a web development tool for installing a project's dependencies and running scripts for building, testing, starting dev server, etc.
When installing a pack
GitHub is used to host the source code for a development project, and uses Git behind the scenes for version tracking. NPM is used for hosting the build files that are produced from the source code. The build files are for consumers, and the source code is for the developers.
The vast majority of Calcite consumers work on web projects, since we don't offer components for other platforms. Almost all web development projects use NPM; either through NodeJS or a Content Delivery Network (CDN) that's published via NPM deployments.
Packages are reusable bits of code that are published to NPM. Developers can install packages and use them as building blocks in their projects/applications. All packages need a package.json
. For more info, see NPM's documentation.
Terminal is required to run NPM commands. The most important command is npm install
. A few other common commands are npm start
, npm test
, and npm run build
.
The Calcite monorepo has automated publishing packages to NPM using release-please and lerna for prereleases. To publish a new package outside of the Calcite monorepo, follow NPM's documentation.
The Calcite consumer would run npm install @esri/calcite-ui-icons@latest
to install the latest version. For more info, see the npm install
documentation.
- https://docs.npmjs.com/about-npm
- https://nodejs.org/en/learn/getting-started/an-introduction-to-the-npm-package-manager
A lot of teams (including Calcite) use tools like Renovate or Dependabot, which automatically create pull requests to update NPM packages.
You can reach out to Ben directly, or ask questions in one of the Calcite Teams channels.