Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .angulardoc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"repoId": "9fdd7850-6aef-4fca-8ed3-168e1f1d9473",
"lastSync": 0
}
4 changes: 0 additions & 4 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@ indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.ts]
quote_type = single
ij_typescript_use_double_quotes = false

[*.md]
max_line_length = off
trim_trailing_whitespace = false
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: "🐞 Bug Report"
description: "Create a report to help us improve."
title: "fix: [Brief bug description]"
labels: ["bug"]
name: '🐞 Bug Report'
description: 'Create a report to help us improve.'
title: 'fix: [Brief bug description]'
labels: ['bug']
---

### Bug Description
Expand Down
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/chore.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: "πŸ› οΈ Technical Task / Chore"
description: "Tasks related to project setup, refactoring, or documentation."
title: "chore: [Brief task description]"
labels: ["chore"]
name: 'πŸ› οΈ Technical Task / Chore'
description: 'Tasks related to project setup, refactoring, or documentation.'
title: 'chore: [Brief task description]'
labels: ['chore']
---

### Goal
Expand Down
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: "πŸš€ New Feature"
description: "Suggest an idea or new functionality for this project."
title: "feat: [Brief feature title]"
labels: ["enhancement", "feature"]
name: 'πŸš€ New Feature'
description: 'Suggest an idea or new functionality for this project.'
title: 'feat: [Brief feature title]'
labels: ['enhancement', 'feature']
---

### Goal
Expand Down
20 changes: 10 additions & 10 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: "weekly"
target-branch: "develop"
interval: 'weekly'
target-branch: 'develop'
groups:
dev-dependencies:
dependency-type: "development"
- package-ecosystem: "github-actions"
directory: "/"
dependency-type: 'development'
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: "weekly"
target-branch: "develop"
interval: 'weekly'
target-branch: 'develop'
groups:
github-actions:
dependency-type: "production" # Π£ actions Ρ‚ΠΈΠΏ всСгда production
dependency-type: 'production' # Π£ actions Ρ‚ΠΈΠΏ всСгда production
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: "20"
node-version: '20'

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand All @@ -28,7 +28,7 @@ jobs:
run: pnpm install

- name: Lint code
run: pnpm run lint
run: pnpm run lint:check

- name: Run tests
run: pnpm run test:ci
Expand Down
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
npx lint-staged
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-manager=pnpm
14 changes: 14 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"singleQuote": true,
"trailingComma": "all",
"printWidth": 80,
"plugins": ["prettier-plugin-organize-imports"],
"overrides": [
{
"files": "*.html",
"options": {
"parser": "angular"
}
}
]
}
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
6 changes: 3 additions & 3 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"newProjectRoot": "projects",
"projects": {
"client": {
"app-rsschool-clone": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
Expand Down Expand Up @@ -61,10 +61,10 @@
"builder": "@angular/build:dev-server",
"configurations": {
"production": {
"buildTarget": "client:build:production"
"buildTarget": "app-rsschool-clone:build:production"
},
"development": {
"buildTarget": "client:build:development"
"buildTarget": "app-rsschool-clone:build:development"
}
},
"defaultConfiguration": "development"
Expand Down
84 changes: 50 additions & 34 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,43 +1,59 @@
// @ts-check
const eslint = require("@eslint/js");
const tseslint = require("typescript-eslint");
const angular = require("angular-eslint");
import js from '@eslint/js';
import angular from 'angular-eslint';
import prettierConfig from 'eslint-config-prettier';
import globals from 'globals';
import tseslint from 'typescript-eslint';

module.exports = tseslint.config(
export default [
{
files: ["**/*.ts"],
extends: [
eslint.configs.recommended,
...tseslint.configs.recommended,
...tseslint.configs.stylistic,
...angular.configs.tsRecommended,
],
ignores: ['dist/', '.angular/', 'node_modules/', 'coverage/'],
},
js.configs.recommended,
...tseslint.configs.recommended.map((config) => ({
...config,
files: ['**/*.ts'],
})),
...tseslint.configs.stylistic.map((config) => ({
...config,
files: ['**/*.ts'],
})),

...angular.configs.tsRecommended.map((config) => ({
...config,
files: ['**/*.ts'],
})),

{
files: ['**/*.ts'],
languageOptions: {
parserOptions: {
project: './tsconfig.eslint.json',
sourceType: 'module',
},
globals: {
...globals.browser,
...globals.jasmine,
},
},
processor: angular.processInlineTemplates,
rules: {
"@angular-eslint/directive-selector": [
"error",
{
type: "attribute",
prefix: "app",
style: "camelCase",
},
],
"@angular-eslint/component-selector": [
"error",
{
type: "element",
prefix: "app",
style: "kebab-case",
},
],
'@typescript-eslint/no-explicit-any': 'error',
},
},

...angular.configs.templateRecommended.map((config) => ({
...config,
files: ['**/*.html'],
})),
...angular.configs.templateAccessibility.map((config) => ({
...config,
files: ['**/*.html'],
})),

{
files: ["**/*.html"],
extends: [
...angular.configs.templateRecommended,
...angular.configs.templateAccessibility,
],
files: ['**/*.html'],
rules: {},
},
);

prettierConfig,
];
38 changes: 22 additions & 16 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,42 +1,41 @@
{
"name": "client",
"name": "app-rsschool-clone",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test",
"test:ci": "ng test --no-watch --browsers=ChromeHeadless",
"format": "prettier --write .",
"format:check": "prettier --check .",
"format:write": "prettier --write .",
"prepare": "husky",
"lint": "ng lint"
"lint:check": "ng lint",
"lint:fix": "ng lint --fix",
"lint:styles": "stylelint '**/*.scss' --fix"
},
"lint-staged": {
"*.{ts,js,json,html,scss,css,md}": [
"prettier --write"
],
"*.{ts,js}": [
"ng lint client --fix"
]
},
"prettier": {
"overrides": [
{
"files": "*.html",
"options": {
"parser": "angular"
}
}
"*.{ts,html}": [
"eslint --fix"
],
"*.scss": [
"stylelint --fix"
]
},
"private": true,
"dependencies": {
"@angular/cdk": "20.2.2",
"@angular/common": "^20.0.0",
"@angular/compiler": "^20.0.0",
"@angular/core": "^20.0.0",
"@angular/fire": "20.0.1",
"@angular/forms": "^20.0.0",
"@angular/material": "20.2.2",
"@angular/platform-browser": "^20.0.0",
"@angular/router": "^20.0.0",
"rxjs": "~7.8.0",
Expand All @@ -52,9 +51,13 @@
"@types/jasmine": "~5.1.0",
"angular-eslint": "20.2.0",
"eslint": "^9.35.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsdoc": "^55.0.0",
"eslint-plugin-prefer-arrow": "^1.2.3",
"eslint-plugin-prettier": "^5.5.4",
"eslint-plugin-unicorn": "^61.0.2",
"globals": "^16.3.0",
"husky": "^9.1.7",
"jasmine-core": "~5.10.0",
"karma": "~6.4.0",
Expand All @@ -64,6 +67,9 @@
"karma-jasmine-html-reporter": "~2.1.0",
"prettier": "^3.6.2",
"prettier-plugin-organize-imports": "^4.2.0",
"stylelint": "^16.24.0",
"stylelint-config-standard-scss": "^15.0.1",
"stylelint-prettier": "^5.0.3",
"typescript": "~5.9.2",
"typescript-eslint": "8.43.0"
}
Expand Down
Loading