# create-gulpset-skeleton

> Gulp based project skeleton with modular tasks.

Latest version **4.0.0** (published 2018-12-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install create-gulpset-skeleton
pnpm add create-gulpset-skeleton
yarn add create-gulpset-skeleton
bun add create-gulpset-skeleton
```

Provides the command `create-gulpset-skeleton`.

## 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 | 4.0.0 |
| Published | 2018-12-14 |
| First published | 2018-12-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=8.0.0 |
| Dependencies | 8 |
| Unpacked size | 697 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | FOURDIGIT Inc., Nobuyuki NISHIGAKI |
| Maintainers | takuya_abe |
| Keywords | gulp, skeleton, modular, tasks |

## Links

- npm: https://www.npmjs.com/package/create-gulpset-skeleton
- Repository: https://github.com/fourdigitdesign/gulpset
- Homepage: https://github.com/fourdigitdesign/gulpset#readme
- Issues: https://github.com/fourdigitdesign/gulpset/issues
- npm.io page: https://npm.io/package/create-gulpset-skeleton

## Dependencies (8)

- [fs-extra](https://npm.io/package/fs-extra.md) ^7.0.1
- [minimist](https://npm.io/package/minimist.md) ^1.2.0
- [commander](https://npm.io/package/commander.md) ^2.19.0
- [ansi-color](https://npm.io/package/ansi-color.md) ^0.2.1
- [cross-spawn](https://npm.io/package/cross-spawn.md) ^6.0.5
- [@fourdigit/scss-utilities](https://npm.io/package/@fourdigit/scss-utilities.md) ^1.0.0
- [validate-npm-package-name](https://npm.io/package/validate-npm-package-name.md) ^3.0.0
- [@fourdigit/sanitize-4d.css](https://npm.io/package/@fourdigit/sanitize-4d.css.md) ^7.0.4

## Recent versions

- 4.0.0 (latest) — 2018-12-14
- 4.0.0-rc1 — 2018-12-14

## README

# gulpset

[![Greenkeeper badge](https://badges.greenkeeper.io/fourdigit/gulpset.svg)](https://greenkeeper.io/)

Gulp based project skeleton with modular tasks.

## tech stack

- Node.js (v8 or later is supported)
- gulp v4 (task-runner)
- webpack + babel + eslint (JS)
- Scss + PostCSS + stylelint (CSS)
- ejs (HTML)
- prettier (beatutifier)
- browser-sync (dev server)
- rsync (deploy)

## creating project
```
yarn global add create-gulpset-skeleton
create-gulpset-skeleton my-app
```

## starting development

```
yarn start
```

## want to generate production build(minified)

1. `yarn build:prod`

## each tasks

### js settings

- see `/webpack.config.js`, `/webpack.config.prod.js` & `/gulpset/tasks/scripts/index.js`

#### When you use ES5

1. `/.eslintrc`: modify `@fourdigit/eslint-config-fourdigit/esnext` => `@fourdigit/eslint-config-fourdigit/base`
2. modify `copy` task (add `js` ext)
3. remove `scripts` task from `gulpfile.js`

#### development & production

Gulpset has 2 webpack settings & corresponding 2 gulp tasks.

- webpack-watch

  - ./webpacck.config.js
  - `mode: development`
  - `process.env.NODE_ENV === 'development'`

- webpack
  - webpack.config.prod.js
  - `mode: production` => webpack 4 automatically optimize your code for production.
  - `process.env.NODE_ENV === 'production'` => you can use this environmental variable for environmental settings e.g. API key, endpoints.

### scss settings

- see `/gulpset/tasks/scss/index.js`
- some utility scss libs are loaded on `/src/assets/css/app.scss`

### ejs settings

- see `/gulpset/tasks/ejs/index.js`
- some utility functions are included here `/src/_utils.ejs`

### deployrsync settings

1. Open `/gulpset/tasks/deployrsync/index.js`
2. Set target user:hostname to `gulpset.confs.deployrsync.options.hostname`
3. Add private key of target server. e.g. `ssh-add ~/.ssh/xxxxxxxx_rsa`
4. Run `gulp deployrsync`

#### Deploy via bitbucket-pipelines

1. Create private key for target server.
2. Encode it into base 64. e.g `$ base64 gulpset_rsa| pbcopy`
3. On bitbucket web screen, enter repository settings
4. Go Pipelines settings > Enable Pipelines
5. Environment variables > make and set `PRIVATE_KEY` (make sure the to enable checkbox of "encrypt") and `TARGET_HOST`
6. Built files by newly pushed `develop` branch will be deployed to `TARGET_HOST`
7. if you want to use other branches, rewrite `branches` section on `bitbucket-pipelines.yml`

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