# erisl-crm-cli

> CRM CLI Tools

Latest version **1.0.73** (published 2021-02-08) · ISC license · 0 weekly downloads

## Install

```sh
npm install erisl-crm-cli
pnpm add erisl-crm-cli
yarn add erisl-crm-cli
bun add erisl-crm-cli
```

Provides the command `erisl-crm-cli`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.73 |
| Published | 2021-02-08 |
| First published | 2021-01-27 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 28 |
| Unpacked size | 103.4 KB |
| Known vulnerabilities | 0 (+45 in 4 direct dependencies) |
| Install scripts | no |
| Author | Erishen Sun |
| Maintainers | erishen1 |
| Keywords | npm, cli |

## Links

- npm: https://www.npmjs.com/package/erisl-crm-cli
- Repository: https://github.com/erishen/crm-cli
- Homepage: https://github.com/erishen/crm-cli#readme
- Issues: https://github.com/erishen/crm-cli/issues
- npm.io page: https://npm.io/package/erisl-crm-cli

## Dependencies (28)

- [antd](https://npm.io/package/antd.md) ^4.11.2
- [next](https://npm.io/package/next.md) ^10.0.6
- [xlsx](https://npm.io/package/xlsx.md) ^0.16.9
- [axios](https://npm.io/package/axios.md) ^0.21.1
- [mysql](https://npm.io/package/mysql.md) ^2.18.1
- [react](https://npm.io/package/react.md) ^17.0.1
- [redux](https://npm.io/package/redux.md) ^4.0.5
- [lodash](https://npm.io/package/lodash.md) ^4.17.20
- [moment](https://npm.io/package/moment.md) ^2.29.1
- [express](https://npm.io/package/express.md) ^4.17.1
- [graphql](https://npm.io/package/graphql.md) ^15.5.0
- [replace](https://npm.io/package/replace.md) ^1.2.0
- [shelljs](https://npm.io/package/shelljs.md) ^0.8.4
- [webpack](https://npm.io/package/webpack.md) ^4.44.1
- [react-dom](https://npm.io/package/react-dom.md) ^17.0.1
- [uglify-es](https://npm.io/package/uglify-es.md) ^3.3.9
- [typescript](https://npm.io/package/typescript.md) ^4.1.3
- [body-parser](https://npm.io/package/body-parser.md) ^1.19.0
- [markdown-it](https://npm.io/package/markdown-it.md) ^12.0.4
- [react-redux](https://npm.io/package/react-redux.md) ^7.2.2
- [redux-thunk](https://npm.io/package/redux-thunk.md) ^2.3.0
- [express-graphql](https://npm.io/package/express-graphql.md) ^0.12.0
- [replace-in-file](https://npm.io/package/replace-in-file.md) ^6.2.0
- [styled-components](https://npm.io/package/styled-components.md) ^5.2.1
- [express-fileupload](https://npm.io/package/express-fileupload.md) ^1.2.1
- [terser-webpack-plugin](https://npm.io/package/terser-webpack-plugin.md) ^4.2.3
- [redux-devtools-extension](https://npm.io/package/redux-devtools-extension.md) ^2.13.8
- [webpack-simple-progress-plugin](https://npm.io/package/webpack-simple-progress-plugin.md) 0.0.4

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 1.0.73 (latest) — 2021-02-08
- 1.0.72 — 2021-02-05
- 1.0.71 — 2021-02-05
- 1.0.70 — 2021-02-05
- 1.0.69 — 2021-02-05
- 1.0.68 — 2021-02-05
- 1.0.67 — 2021-02-05
- 1.0.66 — 2021-02-05
- 1.0.65 — 2021-02-05
- 1.0.64 — 2021-02-05
- 1.0.63 — 2021-02-05
- 1.0.62 — 2021-02-05
- 1.0.61 — 2021-02-05
- 1.0.60 — 2021-02-05
- 1.0.59 — 2021-02-05
- … 58 more at https://npm.io/package/erisl-crm-cli/versions

## README

# ERISL CRM CLI

## 命令
- erisl-crm-cli init    初始化项目
- erisl-crm-cli create  创建模板页面
- erisl-crm-cli delete  删除模板页面
- erisl-crm-cli dev     开发模式
- erisl-crm-cli start   生产模式
- erisl-crm-cli build   编译
- erisl-crm-cli export  导出静态页面
        
## 参数
- dictionary: 在 export/init 的时候使用, 默认 out, 譬如: erisl-crm-cli init|export dictionary=webapp 或者 erisl-crm-cli init|export webapp
- controller: 在 create/delete 的时候使用， 必须有。譬如： erisl-crm-cli create|delete math
- action:     在 create/delete 的时候使用， 默认 manage, 跟在 controller 后面， 譬如 erisl-crm-cli create|delete math test


## 根目录新增 next.config.js
```
const { nextConfig } = require('erisl-crm-cli')
const projectConfig = require('./project.config')

const { version, prefix, protocol, host, port } = projectConfig 

module.exports = (phase, defaultConfig) => {
    let configObj = nextConfig(phase, defaultConfig, { 
        version, prefix, protocol, host, port
    })

    return configObj
}
```

## 根目录新增 mysql.config.js
```
const { mysqlConfig } = require('erisl-crm-cli')
const { mysqlOptions } = mysqlConfig
const { user, password, host, port, database } = mysqlOptions

module.exports = {
    mysqlOptions: {
        user,
        password,
        host,
        port,
        database
    }
}
```

## 根目录新增 project.config.js
```
const { projectConfig } = require('erisl-crm-cli')

const { version, prefix, protocol, host, port } = projectConfig

module.exports = {
    version,
    prefix,
    protocol,
    host, 
    port
}
```

## 根目录新增 server 
- apis    存放 Rest Api 
- modules 存放 graphql 的 resolver 和 schema
- plugins 存放 graphql 的 plugin
- *.js  举例： test.js =>  用于响应 /test/*, ${prefix}/test/* 请求

```
  const express = require('express')
  const moment = require('moment')

  const router = express.Router()

  router.use((req, res, next) => {
      const fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl
      console.log(moment().format('YYYY-MM-DD HH:mm:ss') + ' ' + fullUrl)
      next()
  })

  router.get('/*', (req, res) => {
      res.statusCode = 200
      res.json({ name: 'TEST' })
  })

  module.exports = router
```

- apis/hello.js
```
const express = require('express')
const router = express.Router()

router.get('/*', (req, res) => {
    res.statusCode = 200
    res.json({ name: 'Hello' })
})

module.exports = router
```

- modules/link/schema.js
```
module.exports = {
    query: `
        link: String
    `,
    mutation: `
        linkUpdate(link: Date): String
    `,
    subscription: ``,
    type: ``
} 
```

- modules/link/resolver.js
```
let localLink = ''

module.exports = {
    link: () => {
        return localLink
    },
    linkUpdate: ({ link }) =>{
        console.log('link', link)
        localLink = link
        return localLink
    }
}
```

- plugins/date.js
```
const moment = require('moment')
const { Kind } = require('graphql/language')
const { GraphQLScalarType } = require('graphql')

const customScalarDate = new GraphQLScalarType({
    name: 'Date',
    description: 'Date custom scalar type',
    parseValue: value => moment(value).valueOf(),
    serialize: value => moment(value).format('YYYY-MM-DD HH:mm:ss:SSS'),
    parseLiteral: ast => (ast.kind === Kind.INT)
        ? parseInt(ast.value, 10)
        : null
})

module.exports = { Date: customScalarDate }
```

---
_Source: https://npm.io/package/erisl-crm-cli · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
