Skip to content

Commit efe4814

Browse files
committed
Initial setup
1 parent ee1d853 commit efe4814

Some content is hidden

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

87 files changed

+16886
-24
lines changed

.eslintignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules/
2+
reports/
3+
test/

.eslintrc.yml

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
root: true
3+
# https://eslint.org/docs/rules/
4+
env:
5+
node: true
6+
es2022: true
7+
globals:
8+
sap: false
9+
SELECT: false
10+
INSERT: false
11+
UPDATE: false
12+
DELETE: false
13+
CREATE: false
14+
DROP: false
15+
STREAM: false
16+
plugins:
17+
- jest
18+
extends:
19+
- eslint:recommended
20+
- plugin:jest/recommended
21+
- prettier
22+
rules:
23+
no-unused-vars: [off]
24+
require-atomic-updates: [off]
25+
jest/no-conditional-expect: [off]
26+
jest/no-done-callback: [off]
27+
no-restricted-modules: [error, child_process] # security
28+
no-eval: [error] # security
29+
no-implied-eval: [error] # security
30+
no-console: [error] # ops
31+
strict: [error]
32+
curly: [error]
33+
no-constant-condition: [error, { checkLoops: false }]
34+
no-prototype-builtins: off

.github/dependabot.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
2+
3+
version: 2
4+
updates:
5+
- package-ecosystem: npm
6+
directory: "/"
7+
schedule:
8+
interval: daily
9+
time: "11:00"
10+
timezone: "Europe/Berlin"
11+
allow:
12+
- dependency-type: production
13+
14+
- package-ecosystem: github-actions
15+
directory: "/"
16+
schedule:
17+
interval: daily
18+
time: "11:00"
19+
timezone: "Europe/Berlin"

.github/workflows/inactivity.yml

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Close inactive issues
2+
on:
3+
schedule:
4+
- cron: "30 1 * * *"
5+
6+
jobs:
7+
close-issues:
8+
runs-on: ubuntu-latest
9+
permissions:
10+
issues: write
11+
pull-requests: write
12+
steps:
13+
- uses: actions/stale@v9
14+
with:
15+
days-before-issue-stale: 14
16+
days-before-issue-close: 7
17+
stale-issue-label: "stale"
18+
stale-issue-message: "This issue is stale because it has been open for 14 days with no activity."
19+
close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale."
20+
days-before-pr-stale: -1
21+
days-before-pr-close: -1
22+
repo-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/main-ci.yml

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
2+
# This workflow will protect the main branch by testing and linting new PRs and commits
3+
4+
name: Main CI
5+
6+
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push
7+
on:
8+
push:
9+
branches:
10+
- main
11+
12+
jobs:
13+
test:
14+
runs-on: ubuntu-latest
15+
strategy:
16+
matrix:
17+
node-version: [18, 20]
18+
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
19+
20+
name: test - node.js ${{ matrix.node-version }}
21+
steps:
22+
- uses: actions/checkout@v4
23+
- uses: actions/setup-node@v4
24+
with:
25+
node-version: ${{ matrix.node-version }}
26+
cache: npm
27+
- run: npm ci --package-lock
28+
- run: npm test
29+
30+
lint:
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v4
34+
- uses: actions/setup-node@v4
35+
with:
36+
node-version: 20
37+
cache: npm
38+
- run: npm ci --package-lock
39+
- run: npm run lint:ci

.github/workflows/main-pr.yml

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
2+
# This workflow will protect the main branch by testing and linting new PRs and commits
3+
4+
name: Main PR
5+
6+
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request
7+
on:
8+
pull_request:
9+
branches:
10+
- main
11+
12+
jobs:
13+
test:
14+
runs-on: ubuntu-latest
15+
strategy:
16+
matrix:
17+
node-version: [18, 20]
18+
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
19+
20+
name: test - node.js ${{ matrix.node-version }}
21+
steps:
22+
- uses: actions/checkout@v4
23+
- uses: actions/setup-node@v4
24+
with:
25+
node-version: ${{ matrix.node-version }}
26+
cache: npm
27+
- run: npm ci --package-lock
28+
- run: npm test
29+
30+
lint:
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v4
34+
- uses: actions/setup-node@v4
35+
with:
36+
node-version: 20
37+
cache: npm
38+
- run: npm ci --package-lock
39+
- run: npm run lint:ci

.github/workflows/publish.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# This workflow will publish any new release to the npmjs registry
2+
3+
name: Publish
4+
5+
on:
6+
release:
7+
types: [released]
8+
9+
jobs:
10+
publish:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: actions/setup-node@v4
15+
with:
16+
node-version: 20
17+
cache: npm
18+
registry-url: https://registry.npmjs.org/
19+
- run: npm ci --package-lock
20+
- run: npm test
21+
- run: npm run lint:ci
22+
- run: npm publish --access public
23+
env:
24+
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

.gitignore

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.idea/
2+
.DS_Store
3+
node_modules/
4+
reports/
5+
temp/
6+
gen/
7+
test/_env/test.sqlite
8+
test/_env/test.sqlite-journal
9+
test/_env/default-env.json
10+
test/_env/approuter/default-services.json
11+
test/_env/backend/app
12+
test/_env/backend/db
13+
test/_env/backend/srv

.npmignore

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.idea/
2+
node_modules/
3+
reports/
4+
test/
5+
.eslintignore
6+
.eslintrc.yml
7+
.gitignore
8+
.npmignore
9+
.prettierignore
10+
.prettierrc.yml
11+
CONTRIBUTING.md
12+
jest.config.js
13+
jest.setup.js
14+

.npmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package-lock=false

.prettierignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules/
2+
reports/

.prettierrc.yml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
printWidth: 120

CHANGELOG.md

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6+
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7+
8+
## Version 0.1.0 - tbd
9+
10+
### Added
11+
12+
- Initial release

CODE_OF_CONDUCT.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
1717
Examples of behavior that contributes to a positive environment for our
1818
community include:
1919

20-
* Demonstrating empathy and kindness toward other people
21-
* Being respectful of differing opinions, viewpoints, and experiences
22-
* Giving and gracefully accepting constructive feedback
23-
* Accepting responsibility and apologizing to those affected by our mistakes,
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Accepting responsibility and apologizing to those affected by our mistakes,
2424
and learning from the experience
25-
* Focusing on what is best not just for us as individuals, but for the overall
25+
- Focusing on what is best not just for us as individuals, but for the overall
2626
community
2727

2828
Examples of unacceptable behavior include:
2929

30-
* The use of sexualized language or imagery, and sexual attention or advances of
30+
- The use of sexualized language or imagery, and sexual attention or advances of
3131
any kind
32-
* Trolling, insulting or derogatory comments, and personal or political attacks
33-
* Public or private harassment
34-
* Publishing others' private information, such as a physical or email address,
32+
- Trolling, insulting or derogatory comments, and personal or political attacks
33+
- Public or private harassment
34+
- Publishing others' private information, such as a physical or email address,
3535
without their explicit permission
36-
* Other conduct which could reasonably be considered inappropriate in a
36+
- Other conduct which could reasonably be considered inappropriate in a
3737
professional setting
3838

3939
## Enforcement Responsibilities

CONTRIBUTING.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ Instances of abusive, harassing, or otherwise unacceptable behavior may be repor
1010

1111
We use GitHub to manage reviews of pull requests.
1212

13-
* If you are a new contributor, see: [Steps to Contribute](#steps-to-contribute)
13+
- If you are a new contributor, see: [Steps to Contribute](#steps-to-contribute)
1414

15-
* Before implementing your change, create an issue that describes the problem you would like to solve or the code that should be enhanced. Please note that you are willing to work on that issue.
15+
- Before implementing your change, create an issue that describes the problem you would like to solve or the code that should be enhanced. Please note that you are willing to work on that issue.
1616

17-
* The team will review the issue and decide whether it should be implemented as a pull request. In that case, they will assign the issue to you. If the team decides against picking up the issue, the team will post a comment with an explanation.
17+
- The team will review the issue and decide whether it should be implemented as a pull request. In that case, they will assign the issue to you. If the team decides against picking up the issue, the team will post a comment with an explanation.
1818

1919
## Steps to Contribute
2020

@@ -28,11 +28,11 @@ You are welcome to contribute code in order to fix a bug or to implement a new f
2828

2929
The following rule governs code contributions:
3030

31-
* Contributions must be licensed under the [Apache 2.0 License](./LICENSE)
32-
* Due to legal reasons, contributors will be asked to accept a Developer Certificate of Origin (DCO) when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/).
31+
- Contributions must be licensed under the [Apache 2.0 License](./LICENSE)
32+
- Due to legal reasons, contributors will be asked to accept a Developer Certificate of Origin (DCO) when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/).
3333

3434
## Issues and Planning
3535

36-
* We use GitHub issues to track bugs and enhancement requests.
36+
- We use GitHub issues to track bugs and enhancement requests.
3737

38-
* Please provide as much context as possible when you open an issue. The information you provide must be comprehensive enough to reproduce that issue for the assignee.
38+
- Please provide as much context as possible when you open an issue. The information you provide must be comprehensive enough to reproduce that issue for the assignee.

0 commit comments

Comments
 (0)