Skip to content
This repository has been archived by the owner on Jun 22, 2020. It is now read-only.

Commit

Permalink
feat(*): implement a TypeScript path mapper
Browse files Browse the repository at this point in the history
The binary converts TypeScript configuration path mapiings
into the correct paths
  • Loading branch information
mattyclarkson committed Feb 6, 2018
0 parents commit aab64b5
Show file tree
Hide file tree
Showing 35 changed files with 6,603 additions and 0 deletions.
196 changes: 196 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
# CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details

version: 2

.working-directory: &working_directory
working_directory: ~/repo

.docker: &docker
docker:
- image: circleci/node:8

.restore-cache: &restore_cache
restore_cache:
name: Restoring Node Modules Cache
keys:
- v1-node_modules-{{ checksum "yarn.lock" }}
# fallback to using the latest cache if no exact match is found
- v1-node_modules-

.setup-junit-environment: &setup_junit_environment
run:
name: Setting up JUnit Environment
command: |
echo "CIRCLE_TEST_REPORTS=${CIRCLE_TEST_REPORTS:-/tmp/circle-test-reports}" >> "${BASH_ENV}"
echo "TEST_REPORT_FILENAME=${TEST_REPORT_FILENAME:-junit.xml}" >> "${BASH_ENV}"
source "${BASH_ENV}"
echo "TEST_REPORT_PATH=${CIRCLE_TEST_REPORTS}/${CIRCLE_JOB}" >> "${BASH_ENV}"
source "${BASH_ENV}"
echo "TEST_REPORT_FILEPATH=${TEST_REPORT_PATH}/${TEST_REPORT_FILENAME}" >> "${BASH_ENV}"
source "${BASH_ENV}"
mkdir -p "${TEST_REPORT_PATH}"
when: always

.junit-store-test-results: &junit_store_test_results
store_test_results:
path: /tmp/circle-test-reports

jobs:
dependencies:
<<: *working_directory
<<: *docker
steps:
- checkout
- run:
name: Node version
command: |
node --version
yarn --version
- <<: *restore_cache
- run:
name: Installing Dependencies
command: yarn install
- save_cache:
name: Saving Node Modules Cache
paths:
- node_modules
key: v1-node_modules-{{ checksum "yarn.lock" }}

lint:format:
<<: *working_directory
<<: *docker
steps:
- checkout
- <<: *restore_cache
- run:
name: lint:format
command: yarn lint:format

lint:commit:
<<: *working_directory
<<: *docker
steps:
- checkout
- <<: *restore_cache
- run:
name: lint:commit
command: yarn lint:commit

build:
<<: *working_directory
<<: *docker
steps:
- checkout
- <<: *restore_cache
- run:
name: Building
command: yarn build

lint:ts:
<<: *working_directory
<<: *docker
steps:
- checkout
- <<: *restore_cache
- <<: *setup_junit_environment
- run:
name: Linting
command: yarn lint:ts
- run:
name: JUnit Output
environment:
JUNIT_FORMATTER: node_modules/tslint-junit-formatter/formatters
command: |
yarn lint:ts --formatters-dir "${JUNIT_FORMATTER}" --format junit --out "${TEST_REPORT_FILEPATH}" --force
when: always
- <<: *junit_store_test_results

docs:
<<: *working_directory
<<: *docker
steps:
- checkout
- <<: *restore_cache
- run:
name: Documentation
command: yarn docs
- store_artifacts:
path: dist/docs
destination: documentation

test:
<<: *working_directory
<<: *docker
steps:
- checkout
- <<: *restore_cache
- <<: *setup_junit_environment
- run:
name: Tests
command: yarn test --ci
- run:
name: JUnit Output
environment:
JUNIT_REPORTER: ./node_modules/jest-junit-reporter
command: yarn test --ci --silent "--testResultsProcessor=${JUNIT_REPORTER}"
when: always
- <<: *junit_store_test_results

coverage:
<<: *working_directory
<<: *docker
steps:
- checkout
- <<: *restore_cache
- run:
name: Coverage
command: yarn coverage
- run:
name: Upload
command: yarn codecov

release:
<<: *working_directory
<<: *docker
steps:
- checkout
- <<: *restore_cache
- run:
name: Release
command: npx semantic-release

workflows:
version: 2
build:
jobs:
- dependencies
- lint:ts:
requires:
- dependencies
- lint:format:
requires:
- dependencies
- lint:commit:
requires:
- dependencies
- docs:
requires:
- lint:ts
- build:
requires:
- lint:ts
- test:
requires:
- build
- coverage:
requires:
- test
- release:
requires:
- test
filters:
branches:
only:
- master
5 changes: 5 additions & 0 deletions .commitlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"extends": [
"@commitlint/config-conventional"
]
}
192 changes: 192 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
## GITATTRIBUTES FOR WEB PROJECTS
#
# These settings are for any web project.
#
# Details per file setting:
# text These files should be normalized (i.e. convert CRLF to LF).
# binary These files are binary and should be left untouched.
#
# Note that binary is a macro for -text -diff.
######################################################################

## AUTO-DETECT
## Handle line endings automatically for files detected as
## text and leave all files detected as binary untouched.
## This will handle all files NOT defined below.
* text=auto

## SOURCE CODE
*.bat text eol=crlf
*.coffee text
*.css text
*.htm text
*.html text
*.inc text
*.ini text
*.js text
*.json text
*.jsx text
*.less text
*.od text
*.onlydata text
*.php text
*.pl text
*.py text
*.rb text
*.sass text
*.scm text
*.scss text
*.sh text eol=lf
*.sql text
*.styl text
*.tag text
*.ts text eol=lf
*.tsx text eol=lf
*.xml text
*.xhtml text

## DOCKER
*.dockerignore text
Dockerfile text

## DOCUMENTATION
*.markdown text
*.md text
*.mdwn text
*.mdown text
*.mkd text
*.mkdn text
*.mdtxt text
*.mdtext text
*.txt text
AUTHORS text
CHANGELOG text
CHANGES text
CONTRIBUTING text
COPYING text
copyright text
*COPYRIGHT* text
INSTALL text
license text
LICENSE text
NEWS text
readme text
*README* text
TODO text

## TEMPLATES
*.dot text
*.ejs text
*.haml text
*.handlebars text
*.hbs text
*.hbt text
*.jade text
*.latte text
*.mustache text
*.njk text
*.phtml text
*.tmpl text
*.tpl text
*.twig text

## LINTERS
.csslintrc text
.eslintrc text
.htmlhintrc text
.jscsrc text
.jshintrc text
.jshintignore text
.stylelintrc text

## CONFIGS
*.bowerrc text
*.cnf text
*.conf text
*.config text
.browserslistrc text
.editorconfig text
.gitattributes text
.gitconfig text
.gitignore text
.htaccess text
*.npmignore text
*.yaml text
*.yml text
browserslist text
Makefile text
makefile text

## HEROKU
Procfile text
.slugignore text

## GRAPHICS
*.ai binary
*.bmp binary
*.eps binary
*.gif binary
*.ico binary
*.jng binary
*.jp2 binary
*.jpg binary
*.jpeg binary
*.jpx binary
*.jxr binary
*.pdf binary
*.png binary
*.psb binary
*.psd binary
*.svg text
*.svgz binary
*.tif binary
*.tiff binary
*.wbmp binary
*.webp binary

## AUDIO
*.kar binary
*.m4a binary
*.mid binary
*.midi binary
*.mp3 binary
*.ogg binary
*.ra binary

## VIDEO
*.3gpp binary
*.3gp binary
*.as binary
*.asf binary
*.asx binary
*.fla binary
*.flv binary
*.m4v binary
*.mng binary
*.mov binary
*.mp4 binary
*.mpeg binary
*.mpg binary
*.ogv binary
*.swc binary
*.swf binary
*.webm binary

## ARCHIVES
*.7z binary
*.gz binary
*.jar binary
*.rar binary
*.tar binary
*.zip binary

## FONTS
*.ttf binary
*.eot binary
*.otf binary
*.woff binary
*.woff2 binary

## EXECUTABLES
*.exe binary
*.pyc binary
Loading

0 comments on commit aab64b5

Please sign in to comment.