1
0
Fork 0
Go to file
ssube 9f11653749
fix(build): use absolute path for rollup output
2019-09-18 07:32:45 -05:00
config fix(build): use absolute path for rollup output 2019-09-18 07:32:45 -05:00
docs/api fix(build): use absolute path for rollup output 2019-09-18 07:32:45 -05:00
scripts lint(scripts): make github status body readable 2019-09-18 06:08:19 -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): more consistent tense 2019-09-18 06:08:42 -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 MIT license

Renovate badge Known vulnerabilities Dependency status Dev dependency status

Maintainability score Test Coverage Technical debt ratio Quality issues

Contents

Features

  • build scripts with make
  • build pipeline with gitlab
    • update github commit status
    • publish docker images from branches & tags
    • publish npm packages from tags
  • bundled with rollup
  • type checked with typescript
  • style checked with tslint (and plugins)
  • tested with mocha (with source map support and helpers for async leak tracking)
  • code coverage measured with nyc
  • changelog generated with standard-release

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 pushes 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