Skip to content

Commit

Permalink
perf: ⚡ init package
Browse files Browse the repository at this point in the history
init package. first version
  • Loading branch information
Tal Rofe committed Apr 9, 2022
0 parents commit 2b99045
Show file tree
Hide file tree
Showing 46 changed files with 6,848 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .cz.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"path": "./dist/index.js"
}
4 changes: 4 additions & 0 deletions .depcheckrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"ignores": ["@commitlint/cli", "commitizen", "lint-staged"],
"skipMissing": true
}
17 changes: 17 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Editor configuration, see http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = tab
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false

[*.mdx]
max_line_length = off
trim_trailing_whitespace = false
8 changes: 8 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.eslintrc.js
.prettierrc.js
commitlint.config.js
lint-staged.config.js
release.config.js
jest.config.js
czvinyl.config.js
dist
159 changes: 159 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
module.exports = {
root: true,
env: {
es2021: true,
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:import/typescript',
'prettier',
],
parserOptions: {
ecmaVersion: 12,
project: 'tsconfig.json',
sourceType: 'module',
},
plugins: ['@typescript-eslint', 'unused-imports', 'node', 'import'],
rules: {
'indent': ['error', 'tab'],
'quotes': ['error', 'single', { avoidEscape: true }],
'semi': ['error', 'always'],
'no-empty': [
'error',
{
allowEmptyCatch: true,
},
],
'no-duplicate-imports': 'error',
'no-promise-executor-return': 'error',
'no-self-compare': 'error',
'no-template-curly-in-string': 'error',
'no-unreachable-loop': 'error',
'no-use-before-define': 'error',
'no-multiple-empty-lines': 'error',
'no-trailing-spaces': 'error',
'require-await': 'error',
'no-var': 'error',
'no-labels': 'error',
'no-inline-comments': 'error',
'eqeqeq': 'error',
'no-console': 'warn',
'no-eval': 'error',
'no-implicit-globals': 'error',
'no-useless-call': 'error',
'jsx-quotes': ['error', 'prefer-double'],
'curly': ['error', 'all'],
'padding-line-between-statements': [
'error',
{
blankLine: 'always',
prev: [
'import',

'let',
'const',
'var',

'return',
'throw',
'if',
'for',
'switch',
'continue',
'break',
'class',
'do',
'try',
'export',
'function',
'while',
'block',
],
next: '*',
},
{
blankLine: 'any',
prev: ['singleline-let', 'singleline-const', 'singleline-var'],
next: ['singleline-let', 'singleline-const', 'singleline-var'],
},
{
blankLine: 'any',
prev: 'import',
next: 'import',
},
{
blankLine: 'always',
prev: '*',
next: [
'return',
'throw',
'if',
'for',
'switch',
'continue',
'break',
'class',
'do',
'try',
'export',
'function',
'while',
'block',
],
},
],
'no-restricted-imports': [
'error',
{
name: 'lodash',
message: 'The year is not 2015 anymore',
},
],

'@typescript-eslint/no-unused-vars': ['error'],
'@typescript-eslint/no-empty-interface': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': ['error'],
'@typescript-eslint/ban-ts-comment': ['error'],
'@typescript-eslint/ban-tslint-comment': ['error'],
'@typescript-eslint/no-require-imports': ['error'],
'@typescript-eslint/no-non-null-assertion': 'off',

'unused-imports/no-unused-imports': 'error',

'import/default': ['error'],
'import/no-absolute-path': ['error'],
'import/no-self-import': ['error'],
'import/no-cycle': ['error'],
'import/no-useless-path-segments': ['error'],
'import/export': ['error'],
'import/no-deprecated': ['error'],
'import/no-extraneous-dependencies': ['error'],
'import/no-mutable-exports': ['error'],
'import/no-unused-modules': ['error'],
'import/no-commonjs': ['error'],
'import/no-amd': ['error'],
'import/first': ['error'],
'import/exports-last': ['error'],
'import/no-duplicates': ['error'],
'import/newline-after-import': ['error'],
'import/no-named-default': ['error'],
'import/no-anonymous-default-export': ['error'],
'import/order': [
'error',
{
pathGroups: [
{
pattern: '@/**',
group: 'external',
position: 'after',
},
],
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object'],
},
],

'node/no-sync': 'error',
},
};
4 changes: 4 additions & 0 deletions .gitconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[init]
defaultBranch = main
[alias]
cmt = "!npx cz"
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/1-bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Bug Report
description: Report a bug

body:
- type: dropdown
id: is-regression
attributes:
label: Is this a regression?
options:
- 'Yes'
- 'No'
validations:
required: true

- type: textarea
id: description
attributes:
label: Description
validations:
required: true

- type: input
id: reproduction
attributes:
label: Please provide a link to a minimal reproduction of the bug

- type: textarea
id: exception-or-error
attributes:
label: Please provide the exception or error you saw
render: true

- type: textarea
id: environment
attributes:
label: Please provide the environment you discovered this bug in
render: true

- type: textarea
id: other
attributes:
label: Anything else?

- type: dropdown
id: contribute
attributes:
label: Do you want to create a pull request?
options:
- 'Yes'
- 'No'
validations:
required: true
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/2-feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: 'Feature Request'
description: Suggest a feature

body:
- type: textarea
id: description
attributes:
label: Description
validations:
required: true

- type: textarea
id: proposed-solution
attributes:
label: Proposed solution

- type: textarea
id: alternatives-considered
attributes:
label: Alternatives considered

- type: dropdown
id: contribute
attributes:
label: Do you want to create a pull request?
options:
- 'Yes'
- 'No'
validations:
required: true
6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/3-support-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
name: 'Support Request'
about: Questions and requests for support
---

You may ask some considerations / advices / support. Whatever.
40 changes: 40 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
## PR Checklist

Please check if your PR fulfills the following requirements:

- [ ] Tests for the changes have been added (for bug fixes / features)
- [ ] UI changes have been reviewed
- [ ] No UI review needed

## PR Type

What kind of change does this PR introduce?

<!-- Please check the one that applies to this PR using "x". -->

- [ ] Bugfix
- [ ] Feature
- [ ] Code style update (formatting, local variables)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] CI related changes
- [ ] Documentation content changes
- [ ] Other... Please describe:

## What is the current behavior?

<!-- Please describe the current behavior that you are modifying, or link to a relevant issue. -->

Issue Number: N/A

## What is the new behavior?

## Does this PR introduce a breaking change?

- [ ] Yes
- [ ] No


<!-- If this PR contains a breaking change, please describe the impact and migration path for existing applications below. -->

## Other information
11 changes: 11 additions & 0 deletions .github/workflows/commitlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Lint Commit Messages
on: [pull_request]

jobs:
commitlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@v4
40 changes: 40 additions & 0 deletions .github/workflows/integrate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Integration

on:
pull_request:
branches: [main]

jobs:
test_pull_request:
name: Testing & Checking the code
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 16

- name: Installing dependencies
run: yarn install --immutable --immutable-cache --check-cache

- name: Check unused dependencies
run: yarn run depcheck

- name: Check Files and Directories Linter
run: yarn run lslint

- name: Check Typescript
run: yarn run type-check

- name: Check ESLint
run: yarn run lint

- name: Testing with coverage
run: yarn run test:cov

- name: Check build command
run: yarn run build
Loading

0 comments on commit 2b99045

Please sign in to comment.