npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

tiny-npm-deploy-swap

v1.0.0

Published

Publish the project to NPM: cli --> NPM Registry(cli) local-api --> NPM Registry(local-api) local-client --> NPM Registry(local-client)

Downloads

7

Readme

Publish the project to NPM: cli --> NPM Registry(cli) local-api --> NPM Registry(local-api) local-client --> NPM Registry(local-client)

--> npm install -g jbook

--> User' machine
    cli -- uses
        local-api -- uses
            local-client

Note the dependency here between the modules.

tiny-npm-deploy -- this package should start up an express server listening on port 3005 index.ts --> Typescript complier --> index.js

Create directory: D:\Self-Learning\TypeScript-Redux\react\big-project>mkdir tiny-npm-deploy D:\Self-Learning\TypeScript-Redux\react\big-project>cd tiny-npm-deploy

Create package.json: D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>npm init -y Wrote to D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy\package.json:

{
"name": "tiny-npm-deploy",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}

Install typescript and express: D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>npm install typescript express npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/ npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN [email protected] No description npm WARN [email protected] No repository field.

+ [email protected]
+ [email protected]
added 58 packages from 43 contributors in 13.954s

7 packages are looking for funding
run `npm fund` for details

Install Express @types: D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>npm install @types/express npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/ npm WARN [email protected] No repository field.

+ @types/[email protected]
added 9 packages from 72 contributors in 48.819s

7 packages are looking for funding
run `npm fund` for details

Create tsconfig file:

D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>npx tsc --init
Created a new tsconfig.json with:
target: es2016
module: commonjs
strict: true
esModuleInterop: true
skipLibCheck: true
forceConsistentCasingInFileNames: true

Enable properties in tsconfig file: "declaration": true, "outDir": "./dist",

Create dist directory for generating JS of relevant TS: D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>npm run build > [email protected] build D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy > tsc

Changes needed in package.json: 1. Remove from scripts object: "test": "echo "Error: no test specified" && exit 1" 2. Add to scripts object: "build": "tsc" 3. Change the name to something unique which is not already present on NPM 4. Add following piece to specify what files needs to ge to NPM: "files": [ "dist" ], 5. Move "@types/express": "^4.17.13" and "typescript": "^4.7.4" from dependencies to devDependencies: Since, we don't want User to download those dependecies on his/her machine as we are using it internally and already generating required JS "dependencies": {
"express": "^4.18.1" }, "devDependencies": { "@types/express": "^4.17.13", "typescript": "^4.7.4" } 6. Add section to publish project publicly: "publishConfig": { "access": "public" }, 7. Specify which file to load on server start: "bin": "dist/index.js", 8. Add in scripts by default to run npm build: "scripts": { "build": "tsc", "prepublishOnly": "npm run build" },

Add in index.ts file: This will allow to directly execute this file from terminal #!/usr/bin/env node

Commit to GIT: 1. D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>git init Initialized empty Git repository in D:/Self-Learning/TypeScript-Redux/react/big-project/tiny-npm-deploy/.git/

2. Note: We should not commit the node_modules and dist directory to GIT as they are not part of source code.
    To do so create .gitignore file with contents of both directory names: dist and node_modules

3. D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>git status
    On branch master
    No commits yet
    Untracked files:
    (use "git add <file>..." to include in what will be committed)
            .gitignore
            package-lock.json
            package.json
            readMe.txt
            src/
            tsconfig.json
    nothing added to commit but untracked files present (use "git add" to track)

4. D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>git add .
    warning: LF will be replaced by CRLF in package-lock.json.
    The file will have its original line endings in your working directory
    warning: LF will be replaced by CRLF in package.json.
    The file will have its original line endings in your working directory

5. D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>git commit -m "initial commit"
    [master (root-commit) 1cf4623] initial commit
    6 files changed, 764 insertions(+)
    create mode 100644 .gitignore
    create mode 100644 package-lock.json
    create mode 100644 package.json
    create mode 100644 readMe.txt
    create mode 100644 src/index.ts
    create mode 100644 tsconfig.json

NPM Publish: 1. To publish you need to be logged into NPM a. Create your account on NPM JS (https://www.npmjs.com/) Remember the credentials used while login

    b. D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>npm login
        npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/
        Username: <username>
        Password: <password>
        Email: (this IS public) [email protected]
        npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/
        npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/
        npm ERR! code E426
        npm ERR! 426 Upgrade Required - PUT http://registry.npmjs.org/-/user/org.couchdb.user:swapneil99

        npm ERR! A complete log of this run can be found in:
        npm ERR!     C:\Users\work\AppData\Roaming\npm-cache\_logs\2022-06-26T14_20_45_649Z-debug.log
    
    You might see this nasty error here. This is error is basically related to https. By default http is used in our app which is causing the issue.
    We need to set the registry to use https instead as provided in next step.

    c. To get rid of above error hit following command:
        D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>npm config set registry https://registry.npmjs.org/

    d. D:\Self-Learning\TypeScript-Redux\react\big-project\tiny-npm-deploy>npm login
        Username: <username>
        Password: <password>
        Email: (this IS public) [email protected]
        npm notice Please check your email for a one-time password (OTP)
        Enter one-time password from your authenticator app: <otp goes here>
        Logged in as swapneil99 on https://registry.npmjs.org/.

    OTP will be sent to your registered email ID. You should now be successfully logged into NPM on your terminal.