Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
MM25Zamanian committed Mar 4, 2024
0 parents commit aeafb12
Show file tree
Hide file tree
Showing 38 changed files with 9,073 additions and 0 deletions.
20 changes: 20 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# EditorConfig is awesome: https://EditorConfig.org

root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120

[*.{js,ts}]
block_comment_start = /**
block_comment = *
block_comment_end = */

[*.md]
trim_trailing_whitespace = false
87 changes: 87 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"root": true,
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/strict",
"plugin:@typescript-eslint/stylistic",
// "plugin:@typescript-eslint/strict-type-checked",
// "plugin:@typescript-eslint/stylistic-type-checked",
"plugin:import/recommended",
"plugin:import/typescript"
],
"env": {
"shared-node-browser": true,
"es2023": true
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": true,
"ecmaVersion": 2023,
"sourceType": "module"
},
"plugins": ["@typescript-eslint", "import"],
"settings": {
"import/resolver": {
"typescript": {
"alwaysTryTypes": true,
"ecmaVersion": 2023,
"project": ["**/tsconfig.json"],
"projectFolderIgnoreList": ["**/node_modules/**"]
},
"node": true
}
},
"rules": {
"max-len": ["error", {"code": 120}],
"no-eval": ["error", {"allowIndirect": true}],
"no-floating-decimal": "error",
"space-infix-ops": "error",
"new-cap": ["error", {"capIsNewExceptionPattern": "Mixin$"}],
"brace-style": ["error", "stroustrup", {"allowSingleLine": true}],
"indent": "off",
"@typescript-eslint/indent": [
"error",
2,
{
"SwitchCase": 1,
"VariableDeclarator": 1,
"outerIIFEBody": 1,
"MemberExpression": 1,
"FunctionDeclaration": {"parameters": 1, "body": 1},
"FunctionExpression": {"parameters": 1, "body": 1},
"CallExpression": {"arguments": 1},
"ArrayExpression": 1,
"ObjectExpression": 1,
"ImportDeclaration": 1,
"flatTernaryExpressions": false,
"ignoreComments": false,
"ignoredNodes": [
"TemplateLiteral *",
"TSTypeParameterInstantiation",
"FunctionExpression > .params[decorators.length > 0]",
"FunctionExpression > .params > :matches(Decorator, :not(:first-child))",
"ClassBody.body > PropertyDefinition[decorators.length > 0] > .key"
]
}
],
"operator-linebreak": ["error", "after", {"overrides": {"?": "before", ":": "before"}}],
"import/order": [
"error",
{
"groups": ["builtin", "external", "internal", ["parent", "sibling", "index"], "object", "unknown", "type"],
"newlines-between": "always",
"warnOnUnassignedImports": true,
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
}
],
"@typescript-eslint/prefer-string-starts-ends-with": "off",
"@typescript-eslint/no-dynamic-delete": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"no-throw-literal": "off",
"require-jsdoc": "off",
"valid-jsdoc": "off"
}
}
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**/secret/** filter=crypt diff=crypt merge=crypt
*.env filter=crypt diff=crypt merge=crypt
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @MM25Zamanian
33 changes: 33 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: github-actions
directory: /
open-pull-requests-limit: 20
reviewers:
- MM25Zamanian
schedule:
interval: daily
labels:
- ci
- priority-low
- maintenance
groups:
github-actions:
patterns:
- '*'

- package-ecosystem: npm
directory: /
versioning-strategy: increase
open-pull-requests-limit: 20
reviewers:
- MM25Zamanian
schedule:
interval: daily
labels:
- dependencies
- ci
- priority-low
- maintenance
90 changes: 90 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
- name: 'bug-report'
color: ee0811
description: 'Inconsistencies or issues which will cause a problem for users or implementors.'
- name: 'feature-request'
color: 0e9a26
description: 'Request new features or options.'

- name: 'breaking-change'
color: ee0701
description: 'A change that changes the API or breaks backward compatibility for users.'
- name: 'bugfix'
color: ee0701
description: 'Inconsistencies or issues which will cause a problem for users or implementors.'
- name: 'documentation'
color: 0052cc
description: 'Solely about the documentation of the project.'
- name: 'enhancement'
color: 1d76db
description: 'Enhancement of the code, not introducing new features.'
- name: 'refactor'
color: 1d76db
description: 'Updating the code with simpler, easier to understand or more efficient syntax or methods.'
- name: 'performance'
color: 1d76db
description: 'Improving performance of the project, not introducing new features.'
- name: 'new-feature'
color: 0e8a16
description: 'New features or options.'
- name: 'maintenance'
color: 2af79e
description: 'Generic maintenance tasks.'
- name: 'ci'
color: 1d76db
description: 'Work that improves the continuous integration.'
- name: 'dependencies'
color: 1d76db
description: 'Change in project dependencies.'

- name: 'in-progress'
color: fbca04
description: 'Issue is currently being worked on by a developer.'
- name: 'stale'
color: fef2c0
description: 'No activity for quite some time.'
- name: 'no-stale'
color: fef2c0
description: 'This is exempt from the stale bot.'
- name: 'auto-closed'
color: fef2c0
description: 'No activity for quite some time.'

- name: 'security'
color: ee0701
description: 'Addressing a vulnerability or security risk in this project.'
- name: 'incomplete'
color: fef2c0
description: 'Missing information.'
- name: 'invalid'
color: fef2c0
description: "This is off-topic, spam, or otherwise doesn't apply to this project."

- name: 'good first issue'
color: 0e8a16
description: 'Good first issue for people wanting to contribute to this project.'
- name: 'help-wanted'
color: 0e8a16
description: 'We need some extra helping hands or expertise in order to resolve this!'

- name: 'priority-critical'
color: ee0701
description: 'Must be addressed as soon as possible.'
- name: 'priority-high'
color: b60205
description: 'After critical issues are fixed, these should be dealt with before any further issues.'
- name: 'priority-medium'
color: 0e8a16
description: 'This issue may be useful, and needs some attention.'
- name: 'priority-low'
color: e4ea8a
description: 'Nice addition, maybe... someday...'

- name: 'major'
color: b60205
description: 'This PR causes a major bump in the version number.'
- name: 'minor'
color: 0e8a16
description: 'This PR causes a minor bump in the version number.'
- name: 'release'
color: 5319E7
description: 'Release PR from next to main.'
58 changes: 58 additions & 0 deletions .github/workflows/build-lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: Build & Lint

on:
workflow_dispatch:

pull_request:

push:
branches:
- next
- main

env:
NODE_VERSION: lts/*

jobs:
build-lint-ts:
name: Build & Lint Typescript
runs-on: ubuntu-latest

permissions:
contents: read

steps:
- name: ⤵️ Checkout repository
uses: actions/[email protected]

- name: 🏗 Setup nodejs
uses: actions/[email protected]
with:
node-version: ${{ env.NODE_VERSION }}

- name: 🏗 Setup nodejs corepack
run: corepack enable

- name: 🏗 Get yarn config
id: yarn_config
run: echo "cache_folder=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT

- name: 🏗 Cache Layer
uses: actions/[email protected]
# id: yarn_cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn_config.outputs.cache_folder }}
key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: 🏗 Install dependencies
run: yarn install --immutable

- name: 🚀 Build Typescript
run: yarn build

- name: 🚀 Run ESLint
run: yarn lint
48 changes: 48 additions & 0 deletions .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: CodeQL

on:
workflow_dispatch:

schedule:
- cron: '0 7 * */2 *'
# │ │ │ │ │
# │ │ │ │ └─── day of the week (0 - 6 or SUN-SAT)
# │ │ │ └────── month (1 - 12 or JAN-DEC)
# │ │ └───────── day of the month (1 - 31)
# │ └─────────── hour (0 - 23)
# └───────────── minute (0 - 59)

jobs:
analyze-code-ql:
name: CodeQL Analyze
runs-on: ubuntu-latest

permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: ['TypeScript']
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: ⤵️ Checkout repository
uses: actions/[email protected]

- name: 🏗 Initialize CodeQL
uses: github/codeql-action/[email protected]
with:
languages: ${{ matrix.language }}
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality

- name: 🏗 Auto build
uses: github/codeql-action/[email protected]

- name: 🚀 Perform CodeQL Analysis
uses: github/codeql-action/[email protected]
23 changes: 23 additions & 0 deletions .github/workflows/dependency-review.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: Dependency Review

on:
workflow_dispatch:

pull_request:

jobs:
dependency-review:
name: Dependency Review
runs-on: ubuntu-latest

permissions:
contents: read

steps:
- name: ⤵️ Checkout repository
uses: actions/[email protected]

- name: 🚀 Dependency Review
uses: actions/[email protected]
Loading

0 comments on commit aeafb12

Please sign in to comment.