Skip to content

Commit 9421244

Browse files
author
Elad Ben-Israel
authoredJul 5, 2020
chore: migrate to projen (#132)
Migrate the project to [projen] [projen]: https://github.com/eladb/projen
1 parent 1c174f7 commit 9421244

27 files changed

+2157
-926
lines changed
 

‎.eslintignore

Lines changed: 0 additions & 8 deletions
This file was deleted.

‎.eslintrc.js

Lines changed: 0 additions & 26 deletions
This file was deleted.

‎.eslintrc.json

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
{
2+
"env": {
3+
"jest": true,
4+
"node": true
5+
},
6+
"plugins": [
7+
"@typescript-eslint",
8+
"import"
9+
],
10+
"parser": "@typescript-eslint/parser",
11+
"parserOptions": {
12+
"ecmaVersion": "2018",
13+
"sourceType": "module"
14+
},
15+
"extends": [
16+
"plugin:import/typescript"
17+
],
18+
"settings": {
19+
"import/parsers": {
20+
"@typescript-eslint/parser": [
21+
".ts",
22+
".tsx"
23+
]
24+
},
25+
"import/resolver": {
26+
"node": {},
27+
"typescript": {
28+
"directory": "./tsconfig.json"
29+
}
30+
}
31+
},
32+
"ignorePatterns": [
33+
"*.js",
34+
"*.d.ts",
35+
"node_modules/",
36+
"*.generated.ts",
37+
"coverage"
38+
],
39+
"rules": {
40+
"@typescript-eslint/no-require-imports": [
41+
"error"
42+
],
43+
"indent": [
44+
"off"
45+
],
46+
"@typescript-eslint/indent": [
47+
"error",
48+
2
49+
],
50+
"quotes": [
51+
"error",
52+
"single",
53+
{
54+
"avoidEscape": true
55+
}
56+
],
57+
"comma-dangle": [
58+
"error",
59+
"always-multiline"
60+
],
61+
"quote-props": [
62+
"error",
63+
"consistent-as-needed",
64+
{
65+
"unnecessary": true
66+
}
67+
],
68+
"import/no-extraneous-dependencies": [
69+
"error",
70+
{
71+
"devDependencies": [
72+
"**/build-tools/**",
73+
"**/test/**"
74+
],
75+
"optionalDependencies": false,
76+
"peerDependencies": true
77+
}
78+
],
79+
"import/no-unresolved": [
80+
"error"
81+
]
82+
}
83+
}

‎.github/workflows/build.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
1+
# Generated by projen. To modify, edit .projenrc.js and run "npx projen".
12
name: Build
23
on:
3-
- pull_request
4-
4+
pull_request: {}
55
jobs:
66
build:
77
runs-on: ubuntu-latest
8-
container:
9-
image: jsii/superchain
10-
118
steps:
129
- uses: actions/checkout@v2
13-
- run: yarn install
10+
- uses: actions/setup-node@v1
11+
with:
12+
node-version: 10.17.0
13+
- run: npx projen@0.2.5
14+
- run: yarn install --frozen-lockfile
1415
- run: yarn build
16+
- name: Anti-tamper check
17+
run: git diff --exit-code
18+
container:
19+
image: jsii/superchain

‎.github/workflows/release.yml

Lines changed: 72 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,93 @@
1+
# Generated by projen. To modify, edit .projenrc.js and run "npx projen".
12
name: Release
23
on:
34
push:
45
branches:
56
- master
67
- 2.x
7-
88
jobs:
99
build:
1010
runs-on: ubuntu-latest
11-
container:
12-
image: jsii/superchain
13-
1411
steps:
1512
- uses: actions/checkout@v2
16-
- run: yarn install
13+
- uses: actions/setup-node@v1
14+
with:
15+
node-version: 10.17.0
16+
- run: npx projen@0.2.5
17+
- run: yarn install --frozen-lockfile
1718
- run: yarn build
18-
- run: yarn release
19+
- name: Anti-tamper check
20+
run: git diff --exit-code
21+
- name: Upload artifact
22+
uses: actions/upload-artifact@v1
23+
with:
24+
name: dist
25+
path: dist
26+
container:
27+
image: jsii/superchain
28+
release_npm:
29+
name: Release to NPM
30+
needs: build
31+
runs-on: ubuntu-latest
32+
container:
33+
image: jsii/superchain
34+
steps:
35+
- name: Download build artifacts
36+
uses: actions/download-artifact@v1
37+
with:
38+
name: dist
39+
- name: Release
40+
run: npx -p jsii-release jsii-release-npm
1941
env:
20-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2142
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
43+
NPM_DIST_TAG: latest
44+
release_maven:
45+
name: Release to Maven
46+
needs: build
47+
runs-on: ubuntu-latest
48+
container:
49+
image: jsii/superchain
50+
steps:
51+
- name: Download build artifacts
52+
uses: actions/download-artifact@v1
53+
with:
54+
name: dist
55+
- name: Release
56+
run: npx -p jsii-release jsii-release-maven
57+
env:
2258
MAVEN_GPG_PRIVATE_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
2359
MAVEN_GPG_PRIVATE_KEY_PASSPHRASE: ${{ secrets.MAVEN_GPG_PRIVATE_KEY_PASSPHRASE }}
2460
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
2561
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
2662
MAVEN_STAGING_PROFILE_ID: ${{ secrets.MAVEN_STAGING_PROFILE_ID }}
27-
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
63+
release_pypi:
64+
name: Release to PyPi
65+
needs: build
66+
runs-on: ubuntu-latest
67+
container:
68+
image: jsii/superchain
69+
steps:
70+
- name: Download build artifacts
71+
uses: actions/download-artifact@v1
72+
with:
73+
name: dist
74+
- name: Release
75+
run: npx -p jsii-release jsii-release-pypi
76+
env:
2877
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
2978
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
79+
release_nuget:
80+
name: Release to Nuget
81+
needs: build
82+
runs-on: ubuntu-latest
83+
container:
84+
image: jsii/superchain
85+
steps:
86+
- name: Download build artifacts
87+
uses: actions/download-artifact@v1
88+
with:
89+
name: dist
90+
- name: Release
91+
run: npx -p jsii-release jsii-release-nuget
92+
env:
93+
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}

0 commit comments

Comments
 (0)