@sharyn/cli
[![npm](https://img.shields.io/npm/v/@sharyn/cli.svg)](https://www.npmjs.com/package/@sharyn/cli)
Last updated a month ago by sharyn .
MIT · Repository · Original npm · Tarball · package.json
$ cnpm install @sharyn/cli 
SYNC missed versions from official npm registry.

???? @sharyn/cli

npm

This package provides CLI tasks to use as your NPM scripts.

???? Install

npx install-peerdeps -o -Y @sharyn/cli-peer-deps && npx install-peerdeps -o -Y -d @sharyn/cli-peer-devdeps && yarn add @sharyn/cli

???? Usage

In your package.json, add the following scripts:

  "scripts": {
    "start": "sharyn dev",
    "ssr-only": "sharyn dev-ssr-only",
    "no-ssr": "sharyn dev-no-ssr",
    "local-prod": "sharyn local-prod",
    "lint": "sharyn lint",
    "test": "sharyn test",
    "stats": "sharyn stats",
    "heroku-postbuild": "sharyn build-prod"
  },

And if you have Husky:

  "husky": {
    "hooks": {
      "pre-commit": "sharyn lint-test"
    }
  },

???? Tasks

dev

Runs sequencially:

  • If a docker-compose.yml file is present:
    • docker-compose up -d
  • If a knex-config.js file is present at src/_db/knex-config.js or provided via @sharyn/db:
    • until docker run --rm --link db:pg --net sharyn-net postgres:latest pg_isready -U postgres -h pg; do sleep 1; done
    • knex --knexfile [path-to-knex-config.js] --cwd . migrate:latest
    • If a src/_db/seeds folder is present:
      • knex --knexfile [path-to-knex-config.js] --cwd . seed:run
  • rimraf dist/js/bundle.js

Then runs in parallel:

  • nodemon -w src -i dist -x "babel-node src/_server/server.js"
  • webpack-dev-server --mode=development --progress --hot [--config node_modules/[@]sharyn/webpack-config if [@]sharyn/webpack-config installed]

dev-ssr-only

Runs sequencially:

  • If a docker-compose.yml file is present:
    • docker-compose up -d
  • If a knex-config.js file is present at src/_db/knex-config.js or provided via @sharyn/db:
    • until docker run --rm --link db:pg --net sharyn-net postgres:latest pg_isready -U postgres -h pg; do sleep 1; done
    • knex --knexfile [path-to-knex-config.js] --cwd . migrate:latest
    • If a src/_db/seeds folder is present:
      • knex --knexfile [path-to-knex-config.js] --cwd . seed:run
  • cross-env SSR_ONLY=true nodemon -w src -i dist -x "babel-node src/_server/server.js"

dev-no-ssr

Runs sequencially:

  • If a docker-compose.yml file is present:
    • docker-compose up -d
  • If a knex-config.js file is present at src/_db/knex-config.js or provided via @sharyn/db:
    • until docker run --rm --link db:pg --net sharyn-net postgres:latest pg_isready -U postgres -h pg; do sleep 1; done
    • knex --knexfile [path-to-knex-config.js] --cwd . migrate:latest
    • If a src/_db/seeds folder is present:
      • knex --knexfile [path-to-knex-config.js] --cwd . seed:run
  • rimraf dist/js/bundle.js

Then runs in parallel:

  • cross-env NO_SSR=true nodemon -w src -i dist -x "babel-node src/_server/server.js"
  • webpack-dev-server --mode=development --progress --hot [--config node_modules/[@]sharyn/webpack-config if [@]sharyn/webpack-config installed]

local-prod

Runs sequencially:

  • If a docker-compose.yml file is present:
    • docker-compose up -d
  • If a knex-config.js file is present at src/_db/knex-config.js or provided via @sharyn/db:
    • until docker run --rm --link db:pg --net sharyn-net postgres:latest pg_isready -U postgres -h pg; do sleep 1; done
    • knex --knexfile [path-to-knex-config.js] --cwd . migrate:latest
    • If a src/_db/seeds folder is present:
      • knex --knexfile [path-to-knex-config.js] --cwd . seed:run
  • rimraf lib dist/js/bundle.js
  • cross-env NODE_ENV=production webpack --mode=production --progress [--config node_modules/[@]sharyn/webpack-config if [@]sharyn/webpack-config installed]
  • babel src -d lib
  • If a Procfile file is present:
    • cross-env NODE_ENV=production heroku local
  • If not:
    • node lib/_server/server.js

build-prod

Runs sequencially:

  • rimraf lib dist/js/bundle.js
  • cross-env NODE_ENV=production webpack --mode=production --progress [--config node_modules/[@]sharyn/webpack-config if [@]sharyn/webpack-config installed]
  • babel src -d lib

migrate-db

Runs knex --knexfile [path-to-knex-config.js] --cwd . migrate:latest

With [path-to-knex-config.js] being src/_db/knex-config.js or the one provided by @sharyn/db

Useful for the release command in Heroku's Procfile or on its own during local development.

lint

Runs sequencially:

  • eslint src
  • flow

test

Runs sequencially:

  • If a docker-compose.yml file is present:
    • If a Docker process is found matching the db-test name:
      • docker rm -f [db-test-id]
    • docker-compose up -d db-test
  • If a knex-config.js file is present at src/_db/knex-config.js or provided via @sharyn/db:
    • until docker run --rm --link db-test:pg --net sharyn-net postgres:latest pg_isready -U postgres -h pg; do sleep 1; done
    • cross-env NODE_ENV=test knex --knexfile [path-to-knex-config.js] --cwd . migrate:latest
  • jest --testMatch **/*.unit.test.js [--globalSetup ./src/_testing/global-setup.js --globalTeardown ./src/_testing/global-teardown.js if these files exist]
  • cross-env NODE_ENV=production webpack --mode=production --progress [--config node_modules/[@]sharyn/webpack-config if [@]sharyn/webpack-config installed]
  • jest --preset jest-puppeteer --testMatch **/*.e2e.test.js --runInBand [--globalSetup ./src/_testing/global-setup.js --globalTeardown ./src/_testing/global-teardown.js if these files exist]

lint-test

Runs sequencially:

  • eslint src
  • flow
  • If a docker-compose.yml file is present:
    • If a Docker process is found matching the db-test name:
      • docker rm -f [db-test-id]
    • docker-compose up -d db-test
  • If a knex-config.js file is present at src/_db/knex-config.js or provided via @sharyn/db:
    • until docker run --rm --link db-test:pg --net sharyn-net postgres:latest pg_isready -U postgres -h pg; do sleep 1; done
    • cross-env NODE_ENV=test knex --knexfile [path-to-knex-config.js] --cwd . migrate:latest
  • jest --testMatch **/*.unit.test.js [--globalSetup ./src/_testing/global-setup.js --globalTeardown ./src/_testing/global-teardown.js if these files exist]
  • cross-env NODE_ENV=production webpack --mode=production --progress [--config node_modules/[@]sharyn/webpack-config if [@]sharyn/webpack-config installed]
  • jest --preset jest-puppeteer --testMatch **/*.e2e.test.js --runInBand [--globalSetup ./src/_testing/global-setup.js --globalTeardown ./src/_testing/global-teardown.js if these files exist]

Useful as the precommit Git hook or on its own.

stats

  • cross-env NODE_ENV=production webpack --mode=production --progress --json [--config node_modules/[@]sharyn/webpack-config if [@]sharyn/webpack-config installed] > webpack-stats.json

Current Tags

  • 4.7.8                                ...           latest (a month ago)

133 Versions

  • 4.7.8                                ...           a month ago
  • 4.7.7                                ...           a month ago
  • 4.7.6                                ...           2 months ago
  • 4.7.5                                ...           5 months ago
  • 4.7.4                                ...           5 months ago
  • 4.7.3                                ...           5 months ago
  • 4.7.2                                ...           5 months ago
  • 4.7.1                                ...           5 months ago
  • 4.7.0                                ...           5 months ago
  • 4.6.3                                ...           7 months ago
  • 4.6.2                                ...           10 months ago
  • 4.6.1                                ...           a year ago
  • 4.6.0                                ...           a year ago
  • 4.5.2                                ...           a year ago
  • 4.5.1                                ...           a year ago
  • 4.5.0                                ...           a year ago
  • 4.4.0                                ...           a year ago
  • 4.3.0                                ...           a year ago
  • 4.2.0                                ...           a year ago
  • 4.1.0                                ...           a year ago
  • 4.0.8                                ...           a year ago
  • 4.0.7                                ...           a year ago
  • 4.0.6                                ...           a year ago
  • 4.0.5                                ...           a year ago
  • 4.0.4                                ...           a year ago
  • 4.0.3                                ...           a year ago
  • 4.0.2                                ...           a year ago
  • 4.0.1                                ...           a year ago
  • 4.0.0                                ...           a year ago
  • 3.3.5                                ...           a year ago
  • 3.3.4                                ...           a year ago
  • 3.3.3                                ...           a year ago
  • 3.3.1                                ...           a year ago
  • 3.3.0                                ...           a year ago
  • 3.2.3                                ...           a year ago
  • 3.2.2                                ...           a year ago
  • 3.2.1                                ...           a year ago
  • 3.2.0                                ...           a year ago
  • 3.1.6                                ...           a year ago
  • 3.1.5                                ...           a year ago
  • 3.1.4                                ...           a year ago
  • 3.1.3                                ...           a year ago
  • 3.1.2                                ...           a year ago
  • 3.1.1                                ...           a year ago
  • 3.1.0                                ...           a year ago
  • 3.0.1                                ...           a year ago
  • 3.0.0                                ...           a year ago
  • 2.16.1                                ...           a year ago
  • 2.16.0                                ...           a year ago
  • 2.15.2                                ...           a year ago
  • 2.15.1                                ...           a year ago
  • 2.15.0                                ...           a year ago
  • 2.14.1                                ...           a year ago
  • 2.14.0                                ...           a year ago
  • 2.13.2                                ...           a year ago
  • 2.13.1                                ...           a year ago
  • 2.13.0                                ...           a year ago
  • 2.12.0                                ...           a year ago
  • 2.11.0                                ...           a year ago
  • 2.11.0-0                                ...           a year ago
  • 2.10.0                                ...           a year ago
  • 2.9.1                                ...           a year ago
  • 2.9.0                                ...           a year ago
  • 2.8.4                                ...           a year ago
  • 2.8.3                                ...           a year ago
  • 2.8.2                                ...           a year ago
  • 2.8.1                                ...           a year ago
  • 2.8.0                                ...           a year ago
  • 2.7.3                                ...           a year ago
  • 2.7.2                                ...           a year ago
  • 2.7.1                                ...           a year ago
  • 2.7.0                                ...           a year ago
  • 2.6.0                                ...           a year ago
  • 2.5.3                                ...           a year ago
  • 2.5.1                                ...           a year ago
  • 2.5.0                                ...           a year ago
  • 2.4.0                                ...           a year ago
  • 2.3.3                                ...           a year ago
  • 2.3.2                                ...           a year ago
  • 2.3.1                                ...           a year ago
  • 2.3.0                                ...           a year ago
  • 2.2.0                                ...           a year ago
  • 2.1.1                                ...           a year ago
  • 2.1.0                                ...           a year ago
  • 2.0.0                                ...           a year ago
  • 1.9.1                                ...           a year ago
  • 1.9.0                                ...           a year ago
  • 1.8.0                                ...           a year ago
  • 1.7.2                                ...           a year ago
  • 1.7.1                                ...           a year ago
  • 1.7.0                                ...           a year ago
  • 1.6.8                                ...           a year ago
  • 1.6.7                                ...           a year ago
  • 1.6.6                                ...           a year ago
  • 1.6.5                                ...           a year ago
  • 1.6.4                                ...           a year ago
  • 1.6.3                                ...           a year ago
  • 1.6.2                                ...           a year ago
  • 1.6.1                                ...           a year ago
  • 1.6.0                                ...           a year ago
  • 1.5.3                                ...           a year ago
  • 1.5.2                                ...           a year ago
  • 1.5.1                                ...           a year ago
  • 1.5.0                                ...           a year ago
  • 1.4.7                                ...           a year ago
  • 1.4.6                                ...           a year ago
  • 1.4.5                                ...           a year ago
  • 1.4.4                                ...           a year ago
  • 1.4.3                                ...           a year ago
  • 1.4.2                                ...           a year ago
  • 1.4.0                                ...           a year ago
  • 1.3.0                                ...           a year ago
  • 1.2.3                                ...           a year ago
  • 1.2.2                                ...           a year ago
  • 1.2.1                                ...           a year ago
  • 1.2.0                                ...           a year ago
  • 1.1.2                                ...           a year ago
  • 1.1.1                                ...           a year ago
  • 1.1.0                                ...           a year ago
  • 1.0.0                                ...           a year ago
  • 0.2.5                                ...           a year ago
  • 0.2.4                                ...           a year ago
  • 0.2.3                                ...           a year ago
  • 0.2.2                                ...           a year ago
  • 0.2.1                                ...           a year ago
  • 0.2.0                                ...           a year ago
  • 0.1.6                                ...           a year ago
  • 0.1.5                                ...           a year ago
  • 0.1.4                                ...           a year ago
  • 0.1.3                                ...           a year ago
  • 0.1.2                                ...           a year ago
  • 0.1.1                                ...           a year ago
  • 0.1.0                                ...           a year ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 41
Dependencies (6)
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |