New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

ai-install

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ai-install

Say goodbye to `npm install`, no need `npm install`, throw away `npm install`.

latest
Source
npmnpm
Version
1.1.1
Version published
Maintainers
1
Created
Source

ai-install

Say goodbye to npm install, no need npm install, throw away npm install.

example

In your project,

  • add npx -y ai-install (npm>=7) to package.json->scripts->start/build.

    use npx ai-install (npm<=6).

{
  "name": "ai-install-demo",
  "scripts": {
    "start": "npx -y ai-install && xxx serve --open",
    "build": "npx -y ai-install && xxx build"
  },
  "devDependencies": {
    "xxx": "x.y.z"
  }
}
  • add a new file npm-start.sh, the content is:
npm start 

After git clone, just double click npm-start.sh to start, no typing command.

because

npx -y ai-install

executing npm install if not installed.

npx run an arbitrary command from an npm package (either one installed locally, or fetched remotely).

think

Does it save a second of typing npm i? no!

After the installation of npm i, it was not seamlessly connected to npm start, which wasted 10 ~ 60 seconds.

If you use npx -y ai-install, then npm start will likely start a minute earlier.

yarn & pnpm

npx -y ai-install

In yarn project, auto executing yarn install if not installed.

In pnpm project, auto executing pnpm install if not installed.

src

package.json defined a commond ai-install.

{
  "name": "ai-install",
  "version": "1.0.0",
  "description": "Say goodbay to `npm install`, no need `npm install`, throw away `npm install`.",
  "main": "index.js",
  "bin": {
    "ai-install": "index.js"
  }
}

index.js executing npm/yarm/pnpm install if not installed.

#!/usr/bin/env node

var fs = require('fs');
var child_process = require('child_process');

if (!fs.existsSync('node_modules')) {
  if(fs.existsSync('yarn.lock')){
    child_process.execSync('yarn install', { stdio: 'inherit' });
  } else if (fs.existsSync('pnpm-lock.yaml')){
    child_process.execSync('pnpm install', { stdio: 'inherit' });
  } else if (fs.existsSync('package-lock.json') || fs.existsSync('npm-shrinkwrap.json')){
    // 'npm ci' is faster than 'npm i'.
    child_process.execSync('npm ci', { stdio: 'inherit' });
  } else {
    child_process.execSync('npm i', { stdio: 'inherit' });
  }
}

Keywords

npx

FAQs

Package last updated on 01 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts