Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kopach committed Nov 4, 2024
0 parents commit 2d379d5
Show file tree
Hide file tree
Showing 933 changed files with 73,536 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Editor configuration, see http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
44 changes: 44 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"root": true,
"ignorePatterns": ["**/*"],
"plugins": ["@nrwl/nx", "graphql"],
"rules": {
"graphql/template-strings": "off",
"graphql/named-operations": "off"
},
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
"rules": {
"@nrwl/nx/enforce-module-boundaries": [
"error",
{
"enforceBuildableLibDependency": true,
"allow": [],
"depConstraints": [
{
"sourceTag": "*",
"onlyDependOnLibsWithTags": ["*"]
}
]
}
]
}
},
{
"files": ["*.ts", "*.tsx"],
"extends": ["plugin:@nrwl/nx/typescript"],
"rules": {}
},
{
"files": ["*.js", "*.jsx"],
"extends": ["plugin:@nrwl/nx/javascript"],
"rules": {}
},
{
"files": "*.json",
"parser": "jsonc-eslint-parser",
"rules": {}
}
]
}
41 changes: 41 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Pull Request Guidelines

Thank you for contributing to our project! To help streamline the review process, please ensure that your pull request adheres to the following guidelines.

## PR Title Format

All pull requests must follow the Conventional Commits format. This is crucial for automated changelog generation and semantic versioning. Your PR title should look like one of the following:

- `feat(scope): description` for new features.
- `fix(scope): description` for bug fixes.
- `docs(scope): description` for documentation changes.
- `style(scope): description` for code style changes (formatting, missing semicolons, etc.).
- `refactor(scope): description` for code changes that neither fix a bug nor add a feature.
- `perf(scope): description` for performance improvements.
- `test(scope): description` for adding missing tests or correcting existing tests.
- `build(scope): description` for changes that affect the build system or external dependencies.
- `ci(scope): description` for changes to our CI configuration files and scripts.
- `chore(scope): description` for other changes that don't modify src or test files.
- `revert(scope): description` for reverting a previous commit.

### Scope

The `scope` should be the package or area of the project affected by the change, enclosed in parentheses. For changes affecting the entire project or where the scope is not applicable, you may omit the scope.

### Description

The `description` should be a concise explanation of the changes. Start with a lowercase letter and do not end with a period.

## Example PR Titles

- `feat(authentication): implement JWT authentication`
- `fix(database): resolve connection timeout issue`
- `docs(readme): update installation instructions`

## Additional Information

- Include any additional details about your PR in this section.
- If your PR includes multiple commits, consider squashing them into a single commit that follows the Conventional Commits format.
- Attach any relevant issue numbers or references.

Thank you for helping us improve our project!
12 changes: 12 additions & 0 deletions .github/actions/generators-integration-tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Run script and check stdout
description: Run a script from package.json and checks stdout for a success message
inputs:
packageCommand:
description: The package.json command to run
required: true
successRegexp:
description: The RegExp to match in stdout for success
required: true
runs:
using: 'node12'
main: 'index.js'
37 changes: 37 additions & 0 deletions .github/actions/generators-integration-tests/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
const core = require('@actions/core');
const {spawn} = require('child_process');

async function run() {
try {
const packageCommand = core.getInput('packageCommand', {required: true});
const successRegexp = core.getInput('successRegexp', {required: true});
let timeoutId;

const child = spawn(packageCommand, {
shell: true,
});

console.log('###', successRegexp);
child.stdout.on('data', data => {
console.log(data.toString());
if (data.toString().includes(successRegexp)) {
clearTimeout(timeoutId);
child.kill('SIGTERM');
core.setOutput('result', 'Success');
}
});

child.stderr.on('data', data => {
console.error(data.toString());
});

timeoutId = setTimeout(() => {
child.kill('SIGTERM');
core.setFailed('Command timeout');
}, 8 * 60 * 1000); // 8 minutes
} catch (error) {
core.setFailed(error.message);
}
}

run();
43 changes: 43 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
extends: [
'config:js-app', // https://docs.renovatebot.com/presets-config/#configjs-app
':semanticCommits',
':semanticCommitTypeAll(chore)',
'group:monorepos',
'group:allDigest',
'helpers:pinGitHubActionDigests',
],
rebaseWhen: 'never', // we use merge queue which will rebase PRs before merging
prConcurrentLimit: 3,
commitMessageAction: '🔗 update',
internalChecksFilter: 'strict', // required for packageRules[].stabilityDays
dependencyDashboard: true,
dependencyDashboardApproval: true, // require approval for all updates initially
pin: {
dependencyDashboardApproval: false,
automerge: false, // let's test it and change to true later
rebaseWhen: 'never', //
},
separateMinorPatch: true,
separateMajorMinor: true,
separateMultipleMajor: true,
packageRules: [
{
// group all patch updates together in a single PR
groupName: 'all patch dependencies',
groupSlug: 'all-patch',
matchPackageNames: ['*'],
matchUpdateTypes: ['patch'],
},
{
matchDatasources: ['npm'],
stabilityDays: 3, // npm packages less than 72 hours (3 days) old can be unpublished
},
{
matchCurrentVersion: '2.8.8', // [Prettier v3 doesn't work with jest-snapshots](https://github.com/jestjs/jest/issues/14305), remove after jest update to >=30
matchPackageNames: ['prettier'],
enabled: false,
},
],
}
64 changes: 64 additions & 0 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Deploy Documentation

on:
push:
branches: ["master"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9.12.0

- name: Setup Node.js
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: '18.20.0'
cache: 'pnpm'

- name: Install dependencies
run: pnpm install

- name: Build docs site
run: pnpm nx run docs-docs-site:build

- name: Export docs site
run: pnpm nx run docs-docs-site:export


- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./docs/docs-site/out

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

34 changes: 34 additions & 0 deletions .github/workflows/check-pr-semantic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Check Pull Request semantic

on:
pull_request:
types: [opened, edited, synchronize]

jobs:
check-pr-title:
runs-on: ubuntu-latest
steps:
- name: Check PR Title
uses: amannn/action-semantic-pull-request@505e44b4f33b4c801f063838b3f053990ee46ea7 # v4.6.0
with:
# Define the allowed types
types: |
feat
fix
docs
style
refactor
perf
test
build
ci
chore
revert
# Single commits also should be in that structure
validateSingleCommit: true
ignoreLabels: |
bot
internal
release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit 2d379d5

Please sign in to comment.