Skip to content

Commit 0f6fbb2

Browse files
doosuuDennis Meister
authored andcommitted
feat: Initial commit
Signed-off-by: Dennis Meister <[email protected]>
0 parents  commit 0f6fbb2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+22039
-0
lines changed

.editorconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 2
6+
charset = utf-8
7+
trim_trailing_whitespace = true
8+
insert_final_newline = true
9+
10+
[*.md]
11+
trim_trailing_whitespace = false

.eslintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/dist

.eslintrc

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"root": true,
3+
"parser": "@typescript-eslint/parser",
4+
"parserOptions": {
5+
"ecmaVersion": 6,
6+
"sourceType": "module"
7+
},
8+
"plugins": [
9+
"@typescript-eslint"
10+
],
11+
"rules": {
12+
"camelcase": "off",
13+
"@typescript-eslint/naming-convention": [
14+
"warn",
15+
{
16+
"selector": "default",
17+
"format": ["camelCase"]
18+
},
19+
{
20+
"selector": "variable",
21+
"format": ["camelCase", "UPPER_CASE"]
22+
},
23+
{
24+
"selector": "parameter",
25+
"format": ["camelCase"],
26+
"leadingUnderscore": "allow"
27+
},
28+
{
29+
"selector": "memberLike",
30+
"modifiers": ["private"],
31+
"format": ["camelCase"],
32+
"leadingUnderscore": "require"
33+
},
34+
{
35+
"selector": "typeLike",
36+
"format": ["PascalCase"]
37+
},
38+
{
39+
"selector": "typeProperty",
40+
"format": ["camelCase", "UPPER_CASE", "PascalCase"]
41+
},
42+
{
43+
"selector": "objectLiteralProperty",
44+
"format": null
45+
}
46+
],
47+
"@typescript-eslint/semi": "warn",
48+
"curly": "warn",
49+
"eqeqeq": "warn",
50+
"no-throw-literal": "warn",
51+
"semi": "off"
52+
},
53+
"ignorePatterns": [
54+
"out",
55+
"dist",
56+
"**/*.d.ts"
57+
]
58+
}

.github/dependabot.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: 'npm'
4+
directory: '/'
5+
schedule:
6+
interval: 'weekly'
7+
day: 'saturday'
8+
versioning-strategy: 'increase'
9+
labels:
10+
- 'dependencies'
11+
open-pull-requests-limit: 5
12+
pull-request-branch-name:
13+
separator: '-'
14+
commit-message:
15+
# cause a release for non-dev-deps
16+
prefix: fix(deps)
17+
# no release for dev-deps
18+
prefix-development: chore(dev-deps)
19+
ignore:
20+
- dependency-name: '@salesforce/dev-scripts'
21+
- dependency-name: '*'
22+
update-types: ['version-update:semver-major']

.github/workflows/build-exe.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Copyright (c) 2022 Robert Bosch GmbH
2+
#
3+
# This program and the accompanying materials are made available under the
4+
# terms of the Apache License, Version 2.0 which is available at
5+
# https://www.apache.org/licenses/LICENSE-2.0.
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10+
# License for the specific language governing permissions and limitations
11+
# under the License.
12+
#
13+
# SPDX-License-Identifier: Apache-2.0
14+
15+
name: Build executables
16+
concurrency:
17+
group: ${{ github.ref }}
18+
cancel-in-progress: true
19+
on:
20+
workflow_call:
21+
workflow_dispatch:
22+
23+
jobs:
24+
compile:
25+
strategy:
26+
matrix:
27+
arch: [arm64, x64]
28+
runs-on: ubuntu-22.04
29+
steps:
30+
- uses: actions/checkout@v3
31+
- uses: actions/setup-node@v3
32+
with:
33+
node-version: 18
34+
- run: npm install .
35+
- name: Set up QEMU
36+
uses: docker/setup-qemu-action@v2
37+
- name: Compile EXE for ${{ matrix.arch }}
38+
run: TARGET=node18-linux-${{ matrix.arch }} ARCH=${{ matrix.arch }} npm run compile-exe
39+
- uses: actions/upload-artifact@v3
40+
with:
41+
name: ${{ matrix.arch }}
42+
path: velocitas-linux-${{ matrix.arch }}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Copyright (c) 2022 Robert Bosch GmbH
2+
#
3+
# This program and the accompanying materials are made available under the
4+
# terms of the Apache License, Version 2.0 which is available at
5+
# https://www.apache.org/licenses/LICENSE-2.0.
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10+
# License for the specific language governing permissions and limitations
11+
# under the License.
12+
#
13+
# SPDX-License-Identifier: Apache-2.0
14+
15+
# _Summary_
16+
#
17+
# Scans the repository for all 3rd party dependencies
18+
# and generates a notice file containing all used software within
19+
# the project.
20+
21+
name: Check licenses
22+
23+
on:
24+
workflow_dispatch:
25+
pull_request:
26+
branches:
27+
- main
28+
29+
jobs:
30+
check-licenses:
31+
runs-on: ubuntu-latest
32+
name: Check Software Licenses
33+
34+
steps:
35+
- name: Checkout repository
36+
uses: actions/checkout@v3
37+
38+
- name: Clone License Check Repo
39+
uses: actions/checkout@v3
40+
with:
41+
repository: eclipse-velocitas/license-check
42+
ref: v1.2.0
43+
path: .github/actions/license-check
44+
45+
- name: Run License Checker
46+
uses: ./.github/actions/license-check
47+
with:
48+
config-file-path: ./.licensechecker.yml
49+
fail-on-violation: false
50+
notice-file-name: "NOTICE-3RD-PARTY-CONTENT"

.github/workflows/release.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Copyright (c) 2022 Robert Bosch GmbH
2+
#
3+
# This program and the accompanying materials are made available under the
4+
# terms of the Apache License, Version 2.0 which is available at
5+
# https://www.apache.org/licenses/LICENSE-2.0.
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10+
# License for the specific language governing permissions and limitations
11+
# under the License.
12+
#
13+
# SPDX-License-Identifier: Apache-2.0
14+
15+
name: Trigger Manual Release
16+
17+
on:
18+
workflow_dispatch:
19+
20+
jobs:
21+
bump-version:
22+
runs-on: ubuntu-latest
23+
outputs:
24+
packageVersion: ${{ steps.version.outputs.prop }}
25+
steps:
26+
- uses: actions/checkout@v3
27+
28+
- name: Conventional Changelog Action
29+
id: changelog
30+
uses: TriPSs/conventional-changelog-action@d360fad3a42feca6462f72c97c165d60a02d4bf2
31+
with:
32+
skip-on-empty: false
33+
tag-prefix: 'v'
34+
35+
- uses: notiz-dev/github-action-json-property@2192e246737701f108a4571462b76c75e7376216
36+
id: version
37+
with:
38+
path: 'package.json'
39+
prop_path: 'version'
40+
41+
- run: echo ${{steps.version.outputs.prop}}
42+
43+
compile:
44+
uses: ./.github/workflows/build-exe.yml
45+
needs: [bump-version]
46+
47+
create-release:
48+
runs-on: ubuntu-latest
49+
needs: [bump-version, compile]
50+
steps:
51+
- uses: actions/download-artifact@v3
52+
53+
- uses: ncipollo/release-action@v1
54+
with:
55+
artifacts: "arm64/*,x64/*"
56+
tag: v${{ needs.bump-version.outputs.packageVersion }}

.github/workflows/test.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Copyright (c) 2022 Robert Bosch GmbH
2+
#
3+
# This program and the accompanying materials are made available under the
4+
# terms of the Apache License, Version 2.0 which is available at
5+
# https://www.apache.org/licenses/LICENSE-2.0.
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10+
# License for the specific language governing permissions and limitations
11+
# under the License.
12+
#
13+
# SPDX-License-Identifier: Apache-2.0
14+
15+
name: Run tests
16+
on:
17+
workflow_dispatch:
18+
push:
19+
branches:
20+
- main
21+
pull_request:
22+
branches:
23+
- main
24+
25+
jobs:
26+
cli-tests:
27+
strategy:
28+
matrix:
29+
os: ["ubuntu-latest"]
30+
node_version: [lts/-1, lts/*, latest]
31+
fail-fast: false
32+
runs-on: ${{ matrix.os }}
33+
steps:
34+
- uses: actions/checkout@v3
35+
- uses: actions/setup-node@v3
36+
with:
37+
node-version: ${{ matrix.node_version }}
38+
cache: npm
39+
- run: npm install
40+
- run: npm run build
41+
- run: npm run coverage

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
*-debug.log
2+
*-error.log
3+
/.nyc_output
4+
/dist
5+
/lib
6+
/tmp
7+
/yarn.lock
8+
node_modules
9+
oclif.manifest.json
10+
11+
tsconfig.tsbuildinfo
12+
13+
.DS_Store

.licensechecker.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2022 Robert Bosch GmbH and Microsoft Corporation
2+
#
3+
# This program and the accompanying materials are made available under the
4+
# terms of the Apache License, Version 2.0 which is available at
5+
# https://www.apache.org/licenses/LICENSE-2.0.
6+
#
7+
# Unless required by applicable law or agreed to in writing, software
8+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10+
# License for the specific language governing permissions and limitations
11+
# under the License.
12+
#
13+
# SPDX-License-Identifier: Apache-2.0
14+
15+
whitelist-file-path: ./whitelisted-licenses.txt
16+
scan-dirs:
17+
- path: ./

0 commit comments

Comments
 (0)