Skip to content

Commit fa35c38

Browse files
committed
feat(BOOTSTRAP): prepare all components for the new version with bootstrap
1 parent e94bfc8 commit fa35c38

444 files changed

Lines changed: 5979 additions & 40146 deletions

File tree

Some content is hidden

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

.browserslistrc

100644100755
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,5 @@
99
# npx browserslist
1010

1111
last 1 Chrome version
12-
last 1 Firefox version
13-
last 2 Edge major versions
1412
last 2 Safari major versions
1513
last 2 iOS major versions
16-
Firefox ESR

.commitlintrc.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": ["@commitlint/config-conventional"]
3+
}

.editorconfig

100644100755
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,6 @@ quote_type = single
1414
[*.md]
1515
max_line_length = off
1616
trim_trailing_whitespace = false
17+
18+
[*.xlf]
19+
insert_final_newline = false

.eslintrc.json

100644100755
Lines changed: 94 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,37 @@
11
{
22
"root": true,
3-
"ignorePatterns": [
4-
"projects/**/*"
5-
],
3+
"ignorePatterns": ["projects/**/*"],
64
"overrides": [
75
{
8-
"files": [
9-
"*.ts"
10-
],
6+
"files": ["*.ts"],
117
"parserOptions": {
12-
"project": [
13-
"tsconfig.json",
14-
"e2e/tsconfig.json"
15-
],
8+
"project": ["tsconfig.json"],
169
"createDefaultProgram": true
1710
},
18-
"extends": [
19-
"plugin:@angular-eslint/ng-cli-compat",
20-
"plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
21-
"plugin:@angular-eslint/template/process-inline-templates"
22-
],
2311
"plugins": [
24-
"sonarjs"
12+
"eslint-comments",
13+
"import",
14+
"optimize-regex",
15+
"promise",
16+
"security",
17+
"sonarjs",
18+
"rxjs-angular"
19+
],
20+
"extends": [
21+
"eslint:recommended",
22+
"plugin:@typescript-eslint/recommended",
23+
"plugin:eslint-comments/recommended",
24+
"plugin:import/warnings",
25+
"plugin:import/typescript",
26+
"plugin:optimize-regex/all",
27+
"plugin:sonarjs/recommended",
28+
"plugin:prettier/recommended",
29+
"plugin:promise/recommended",
30+
"plugin:regexp/recommended",
31+
"plugin:security/recommended",
32+
"plugin:@angular-eslint/recommended"
2533
],
2634
"rules": {
27-
"@angular-eslint/component-selector": [
28-
"error",
29-
{
30-
"type": "element",
31-
"prefix": "app",
32-
"style": "kebab-case"
33-
}
34-
],
35-
"@angular-eslint/directive-selector": [
36-
"error",
37-
{
38-
"type": "attribute",
39-
"prefix": "app",
40-
"style": "camelCase"
41-
}
42-
],
4335
"@typescript-eslint/await-thenable": "error",
4436
"@typescript-eslint/ban-types": [
4537
"error",
@@ -78,90 +70,98 @@
7870
"ignoreStringArrays": true
7971
}
8072
],
81-
"brace-style": [
82-
"error",
83-
"1tbs",
84-
{ "allowSingleLine": true }
85-
],
73+
"@typescript-eslint/quotes": "off",
74+
"@typescript-eslint/naming-convention": "off",
75+
"@typescript-eslint/member-ordering": "off",
76+
"@typescript-eslint/no-shadow": ["error"],
77+
"@typescript-eslint/no-unused-expressions": "off",
78+
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
8679
"default-case-last": "error",
8780
"dot-notation": "off",
8881
"id-denylist": "off",
8982
"id-match": "off",
90-
"complexity": ["error", { "max": 6 }],
83+
"complexity": ["error", { "max": 8 }],
9184
"max-len": [
9285
"error",
9386
{
94-
"code": 180
87+
"code": 600
9588
}
9689
],
9790
"max-lines-per-function": [
9891
"error",
9992
{
100-
"max": 300
93+
"max": 30
10194
}
10295
],
10396
"max-params": [
10497
"error",
10598
{
106-
"max": 10
99+
"max": 3
107100
}
108101
],
109-
"no-empty-function": "off",
110-
"no-empty-pattern": "error",
111-
"no-extra-semi": "error",
112-
"no-multi-str": "off",
113-
"no-self-assign": "error",
114-
"no-shadow": "off",
115-
"no-underscore-dangle": "off",
116-
"no-unused-expressions": ["error", { "allowTernary": true }],
117-
"no-use-before-define": "off",
118-
"semi": "off",
119-
"sonarjs/cognitive-complexity": "error",
120-
"sonarjs/max-switch-cases": "error",
121-
"sonarjs/no-all-duplicated-branches": "error",
122-
"sonarjs/no-collapsible-if": "error",
123-
"sonarjs/no-collection-size-mischeck": "error",
124-
"sonarjs/no-duplicate-string": "error",
125-
"sonarjs/no-duplicated-branches": "error",
126-
"sonarjs/no-element-overwrite": "error",
127-
"sonarjs/no-identical-conditions": "error",
128-
"sonarjs/no-identical-expressions": "error",
129-
"sonarjs/no-identical-functions": "error",
130-
"sonarjs/no-inverted-boolean-check": "error",
131-
"sonarjs/no-one-iteration-loop": "error",
132-
"sonarjs/no-redundant-boolean": "error",
133-
"sonarjs/no-redundant-jump": "error",
134-
"sonarjs/no-same-line-conditional": "error",
135-
"sonarjs/no-small-switch": "error",
136-
"sonarjs/no-unused-collection": "error",
137-
"sonarjs/no-use-of-empty-return-value": "error",
138-
"sonarjs/no-useless-catch": "error",
139-
"sonarjs/prefer-immediate-return": "error",
140-
"@typescript-eslint/quotes": "off",
141-
"@typescript-eslint/naming-convention": "off",
142-
"@typescript-eslint/member-ordering": "off",
143-
"@typescript-eslint/no-shadow": ["error"],
144-
"@typescript-eslint/no-unused-expressions": "off",
145-
"id-blacklist": "off",
146-
"quote-props": [
147-
"off",
148-
"as-needed"
102+
"@angular-eslint/directive-selector": "error",
103+
"@angular-eslint/use-injectable-provided-in": "error",
104+
"@angular-eslint/use-lifecycle-interface": "error",
105+
"@angular-eslint/no-pipe-impure": "error",
106+
"@angular-eslint/prefer-on-push-component-change-detection": "error",
107+
"@angular-eslint/no-conflicting-lifecycle": "error",
108+
"@angular-eslint/no-forward-ref": "error",
109+
"@angular-eslint/no-input-prefix": "error",
110+
"@angular-eslint/no-input-rename": "error",
111+
"@angular-eslint/no-output-on-prefix": "error",
112+
"@angular-eslint/no-output-rename": "error",
113+
"@angular-eslint/prefer-output-readonly": "error",
114+
"@angular-eslint/relative-url-prefix": "error",
115+
"@angular-eslint/use-component-selector": "error",
116+
"@angular-eslint/use-component-view-encapsulation": "error",
117+
"@angular-eslint/use-pipe-transform-interface": "error",
118+
"@angular-eslint/component-class-suffix": "error",
119+
"@angular-eslint/directive-class-suffix": "error",
120+
"@angular-eslint/no-host-metadata-property": "error",
121+
"@angular-eslint/no-inputs-metadata-property": "error",
122+
"@angular-eslint/no-outputs-metadata-property": "error",
123+
"@angular-eslint/no-queries-metadata-property": "error",
124+
"@angular-eslint/pipe-prefix": "error",
125+
"@angular-eslint/component-selector": [
126+
"error",
127+
{
128+
"type": "element",
129+
"prefix": "app",
130+
"style": "kebab-case"
131+
}
149132
],
150-
"object-shorthand": "off",
151-
"import/no-extraneous-dependencies": "off",
152-
"no-extra-parens": "off",
153-
"arrow-body-style": ["off", "as-needed"],
154-
"prefer-arrow/prefer-arrow-functions": "off",
155-
"one-var": "off" }
133+
"rxjs-angular/prefer-takeuntil": [
134+
"error",
135+
{
136+
"alias": ["untilDestroyed"],
137+
"checkComplete": true,
138+
"checkDecorators": ["Component"],
139+
"checkDestroy": false
140+
}
141+
]
142+
}
156143
},
157144
{
158-
"files": [
159-
"*.html"
160-
],
161-
"extends": [
162-
"plugin:@angular-eslint/template/recommended"
163-
],
164-
"rules": {}
145+
"files": ["*.html"],
146+
"extends": ["plugin:@angular-eslint/template/recommended"],
147+
"rules": {
148+
"@angular-eslint/template/no-call-expression": "error",
149+
"@angular-eslint/template/no-any": "error",
150+
"@angular-eslint/template/no-autofocus": "error",
151+
"@angular-eslint/template/no-distracting-elements": "error",
152+
"@angular-eslint/template/accessibility-alt-text": "error",
153+
"@angular-eslint/template/no-positive-tabindex": "error",
154+
"@angular-eslint/template/no-negated-async": "error",
155+
"@angular-eslint/template/accessibility-valid-aria": "error",
156+
"@angular-eslint/template/accessibility-elements-content": "error",
157+
"@angular-eslint/template/accessibility-label-for": "error",
158+
"@angular-eslint/template/click-events-have-key-events": "error",
159+
"@angular-eslint/template/mouse-events-have-key-events": "error",
160+
"@angular-eslint/template/accessibility-table-scope": "error",
161+
"@angular-eslint/template/conditional-complexity": "error",
162+
"@angular-eslint/template/use-track-by-function": "error",
163+
"@angular-eslint/template/i18n": "off"
164+
}
165165
}
166166
]
167167
}

.github/ISSUE_TEMPLATE/bug_report.md

100644100755
File mode changed.

.github/ISSUE_TEMPLATE/feature_request.md

100644100755
File mode changed.

.gitignore

100644100755
Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,42 @@
11
# See http://help.github.com/ignore-files/ for more about ignoring files.
22

3-
# compiled output
4-
dist
5-
dist-ssr
3+
# Compiled output
4+
/dist
65
/tmp
76
/out-tsc
8-
public
7+
/bazel-out
98

10-
# dependencies
11-
node_modules
12-
functions/node_modules
13-
functions/lib
9+
# Node
10+
/node_modules
11+
npm-debug.log
12+
yarn-error.log
1413

1514
# IDEs and editors
16-
/.idea
15+
.idea/
1716
.project
1817
.classpath
1918
.c9/
2019
*.launch
2120
.settings/
2221
*.sublime-workspace
2322

24-
# IDE - VSCode
23+
# Visual Studio Code
2524
.vscode/*
2625
!.vscode/settings.json
2726
!.vscode/tasks.json
2827
!.vscode/launch.json
2928
!.vscode/extensions.json
29+
.history/*
3030

31-
# misc
31+
# Miscellaneous
3232
/.angular/cache
33-
/.sass-cache
33+
.sass-cache/
3434
/connect.lock
3535
/coverage
3636
/libpeerconnection.log
37-
npm-debug.log
3837
testem.log
3938
/typings
40-
yarn-error.log
41-
42-
# e2e
43-
/e2e/*.js
44-
!/e2e/protractor.conf.js
45-
/e2e/*.map
4639

47-
# System Files
40+
# System files
4841
.DS_Store
4942
Thumbs.db
50-
51-
# log Files
52-
*.log

.husky/commit-msg

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
[ -n "$CI" ] && exit 0
5+
6+
npx commitlint --edit

.husky/pre-push

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33

44
[ -n "$CI" ] && exit 0
55

6-
npm run ci
6+
npm run lint && npm run test && npm run check:coverage

.husky/scripts/check-coverage.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/sh
2+
3+
targetCoverage=1
4+
5+
coverageHTML="$(sed 's:^ *::g' < coverage/index.html | tr -d \\n)"
6+
linesCoverageString=$(sed 's:.*<span class="strong">\([^<]*\)<.*:\1:' <<<"$coverageHTML")
7+
linesCoverage=${linesCoverageString/%??/}
8+
if [ 1 -eq "$(echo "${linesCoverage} < ${targetCoverage}" | bc)" ]
9+
then
10+
echo "Coverage is going down! ${linesCoverage}/${targetCoverage}"
11+
exit 1
12+
fi

0 commit comments

Comments
 (0)