1
0
Fork 0
Go to file
ssube 929b9e858c
chore(release): 0.2.1
2019-09-18 04:41:53 -05:00
config fix(build): move image tag into script for default 2019-09-17 18:46:01 -05:00
docs/api feat: copy template from other projects 2019-09-17 07:45:15 -05:00
scripts fix(build): add github status script and correct typedef path 2019-09-17 08:14:55 -05:00
src feat(bundle): add version info 2019-09-17 08:57:45 -05:00
test fix(test): spy on global console log 2019-09-17 07:47:12 -05:00
.codeclimate.yml feat(docs): add some badges 2019-09-17 08:49:35 -05:00
.dockerignore fix(build): add yarn lock to image before installing, add tmp files to docker ignore 2019-09-17 19:05:46 -05:00
.gitignore feat: copy template from other projects 2019-09-17 07:45:15 -05:00
.gitlab-ci.yml fix(build): reduce artifact retention 2019-09-17 08:18:30 -05:00
.npmignore fix(build): pick a unique package name 2019-09-18 03:56:31 -05:00
.npmrc feat(config): configure npm to use nexus mirror 2019-09-17 08:18:09 -05:00
CHANGELOG.md chore(release): 0.2.1 2019-09-18 04:41:53 -05:00
Dockerfile fix(build): add packages to image before output 2019-09-17 19:09:24 -05:00
LICENSE.md feat: copy template from other projects 2019-09-17 07:45:15 -05:00
Makefile feat: copy template from other projects 2019-09-17 07:45:15 -05:00
README.md fix(docs): note CC reporter ID 2019-09-18 04:11:02 -05:00
package.json chore(release): 0.2.1 2019-09-18 04:41:53 -05:00
renovate.json feat: copy template from other projects 2019-09-17 07:45:15 -05:00
tsconfig.json feat: copy template from other projects 2019-09-17 07:45:15 -05:00
yarn.lock update: pin dependency standard-version to 7.0.0 2019-09-18 04:06:58 -05:00

README.md

Rollup Template

This project contains the base configuration and build scripts for most of my Typescript/Rollup projects.

Pipeline status Test coverage MIT license

Renovate badge Known vulnerabilities Dependency status Dev dependency status

Maintainability score Technical debt ratio Quality issues Language grade: JavaScript Total alerts

Contents

Features

  • bundled with rollup
  • tested with mocha
  • type checking from typescript
  • style checking from tslint (with plugins)
  • code coverage with source maps from nyc
  • pipeline and published tags with gitlab CI
  • identical local and CI builds with make
  • test harness with source map support and helpers for async leak tracking

Intentionally Omitted Features

  • everything frontend: React, CSS, etc
  • heavy backend libraries: ORMs, etc

Usage

To Setup

To create a new repository from this template:

  • create your new repo on Github & Gitlab (your server or Gitlab.com)
  • git clone git@github.com:ssube/rollup-template.git your-project
  • cd your-project
  • git remote add github git@github.com:yourname/your-project.git
  • git remote add gitlab git@gitlab.com:yourname/your-project.git
  • set up repository mirroring in Gitlab
  • set up some maintenance bots
  • make git-push
  • install your dependencies
  • write some code

To Build

Once your project is set up:

  • make to bundle and test
  • commit
  • make git-push

The git-push target pushed to Github first, to avoid conflicts with changes from bots and other contributors.

To Release

When your project is ready to release:

  • make release-dry to make sure your changelog and options look right
  • make release

Additional options can be passed with the RELEASE_OPTS variable. Frequently-used options include --release-as minor and --prerelease.

External Services

This template works with or expects a few external services, namely a Gitlab CI server (self-hosted or using Gitlab.com).

Maintenance Bots

Good tests and clever bots can eliminate the most painful parts of project maintenance. This repository is configured to work with:

None of these are required, but Renovate and Snyk can be very helpful when dependencies release a security patch.

External Secrets

This template expects a few secrets to exist in the environment, including tokens for the external services.

Name Description
CC_TEST_REPORTER_ID code climate ID
CODECLIMATE_SECRET code climate token
CODECOV_SECRET codecov token
DOCKER_SECRET docker config, required for publishing images
GITHUB_SECRET github.com token, required for publishing status
NPM_SECRET npmjs.com token, required for publishing npm packages
SONAR_SECRET sonarcloud token