\(
\newcommand{\P}[]{\unicode{xB6}}
\newcommand{\AA}[]{\unicode{x212B}}
\newcommand{\empty}[]{\emptyset}
\newcommand{\O}[]{\emptyset}
\newcommand{\Alpha}[]{Α}
\newcommand{\Beta}[]{Β}
\newcommand{\Epsilon}[]{Ε}
\newcommand{\Iota}[]{Ι}
\newcommand{\Kappa}[]{Κ}
\newcommand{\Rho}[]{Ρ}
\newcommand{\Tau}[]{Τ}
\newcommand{\Zeta}[]{Ζ}
\newcommand{\Mu}[]{\unicode{x039C}}
\newcommand{\Chi}[]{Χ}
\newcommand{\Eta}[]{\unicode{x0397}}
\newcommand{\Nu}[]{\unicode{x039D}}
\newcommand{\Omicron}[]{\unicode{x039F}}
\DeclareMathOperator{\sgn}{sgn}
\def\oiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x222F}\,}{\unicode{x222F}}{\unicode{x222F}}{\unicode{x222F}}}\,}\nolimits}
\def\oiiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x2230}\,}{\unicode{x2230}}{\unicode{x2230}}{\unicode{x2230}}}\,}\nolimits}
\)
NPM is a package manager for JavaScript and TypeScript projects.
Usage
# Install packages from package.json
npm install
# Install versioned packages from package-lock.json
npm ci
package.json
Example package.json
{
"name": "@david18284/ddns-cloudflare",
"version": "1.0.0",
"description": "A DDNS Updater for Cloudflare.<br>\r This will scan for all \"A\" records and update their IPs.",
"main": "./build/index.js",
"bin": {
"ddns-cloudflare": "./bin/cli.js"
},
"scripts": {
"start": "npm run compile && node build/index.js",
"compile": "babel src -d build",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/dli7319/ddns-cloudflare-javascript.git"
},
"author": "David Li",
"license": "MIT",
"bugs": {
"url": "https://github.com/dli7319/ddns-cloudflare-javascript/issues"
},
"homepage": "https://github.com/dli7319/ddns-cloudflare-javascript#readme",
"dependencies": {
"node-fetch": "^2.3.0"
},
"devDependencies": {
"@babel/cli": "^7.10.5",
"@babel/core": "^7.11.4",
"@babel/preset-env": "^7.11.0"
}
}
scripts
contains JS commands you can run with npm run
bin
contains binaries or scripts which get installed globally.
Publishing
- Create an account at https://npmjs.org.
- Login to npm using
npm login
.
- Initialize a
package.json
using npm init
.
- I recommend using a scoped name
@username/package-name
.
- Make a UMD build e.g. using webpack.
- Fill in all the details in
package.json
.
- For publishing the most important are: name, version, description, main, module, author, repository, license, files, homepage.
- Test your package.
- Run your own tests using
npm run test
.
- Install to another package using `npm install [dir]`.
- Version and upload to npm
npm version [major|minor|patch]
- npm publish --access public
Resources