Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
julia-amake committed Aug 4, 2024
0 parents commit 9e73a02
Show file tree
Hide file tree
Showing 398 changed files with 35,406 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[production]
defaults
not IE 11

[development]
last 2 Chrome versions
last 2 Firefox versions
last 1 Safari version
3 changes: 3 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
build
dist
157 changes: 157 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
{
"env": {
"browser": true,
"node": true,
"commonjs": true,
"es2021": true
},
"extends": [
"plugin:react/jsx-runtime",
// позволяет не импортировать реакт
"plugin:import/recommended",
// подсказки при импорте
// "airbnb",
"plugin:jest/recommended",
"eslint:recommended",
"plugin:react/recommended",
"plugin:react-hooks/recommended",
//поддержка хуков
"plugin:@typescript-eslint/recommended",
"prettier",
// отключает конфликты с prettier
"plugin:prettier/recommended"
],
"overrides": [],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest"
},
"plugins": [
"react",
"react-hooks",
"@typescript-eslint",
"unused-imports",
"prettier"
],
"rules": {
"prettier/prettier": "error",
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "error",
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/triple-slash-reference": "error",
"@typescript-eslint/no-unused-vars": "warn",
"react/no-unstable-nested-components": "warn",
"react/jsx-uses-vars": "error",
"react/jsx-uses-react": "error",
"unused-imports/no-unused-imports": "error",
"sort-imports": [
"error",
{
"ignoreCase": true,
"ignoreDeclarationSort": true
}
],
"import/order": [
"error",
{
"groups": [
"builtin",
"external",
"internal",
"parent",
"sibling"
],
"pathGroups": [
{
"pattern": "react",
"group": "external",
"position": "before"
},
{
"pattern": "src/*.*",
"group": "external",
"position": "after"
},
{
"pattern": "src/**/*.*",
"group": "internal",
"position": "after"
},
{
"pattern": "src/shared/**/*.*",
"group": "internal",
"position": "after"
},
{
"pattern": "src/entities/**/*.*",
"group": "internal",
"position": "after"
},
{
"pattern": "src/features/**/*.*",
"group": "internal",
"position": "after"
},
{
"pattern": "src/widgets/**/*.*",
"group": "internal",
"position": "after"
},
{
"pattern": "src/app/**/*.*",
"group": "internal",
"position": "after"
},
{
"pattern": "./**/*.*",
"group": "sibling",
"position": "after"
},
{
"pattern": "./**.module.*",
"group": "sibling",
"position": "after"
}
],
"pathGroupsExcludedImportTypes": [
"react"
],
"newlines-between": "never",
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
}
],
"import/no-cycle": "warn",
"import/no-unresolved": [
"error",
{
"ignore": [
"\\.svg\\?url$"
]
}
]
},
"settings": {
"react": {
"version": "detect"
},
"import/resolver": {
"node": {
"paths": [
"."
],
"extensions": [
".js",
".jsx",
".ts",
".tsx"
]
}
}
},
"globals": {
"__IS_DEV__": true
}
}
63 changes: 63 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Test, Lint, Build and Deploy on Github Pages

on:
push:
branches: [ "master", "main" ]

# Позволяет запустить этот рабочий процесс вручную на вкладке Actions
workflow_dispatch:

permissions:
contents: write

jobs:
build-and-deploy:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [ 18.x ]

steps:
- uses: actions/checkout@v3

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

# Устанавливаем зависимости
- name: Install dependencies
run: npm install

# Запускаем тесты и линтер
- name: Run tests and linter
run: npm run lint && npm test

# Собираем приложение
- name: Build Application
run: npm run build

# Публикуем приложение на Github Pages
- name: Deploy to Github Pages
uses: JamesIves/[email protected]
with:
branch: gh-pages
folder: dist

# Собираем Storybook
# - name: Build Storybook
# run: npm run build-storybook
#
# # Публикуем Storybook на Github Pages
# - name: Deploy Storybook to Github Pages
# uses: JamesIves/[email protected]
# with:
# branch: gh-pages
# folder: storybook-static
# commit-message: "Automatically publish Storybook"

# Останавливаем выполнение строго при неудачных тестах
- name: Fail on failed tests
run: |
if [ ${{ job.status }} == 'failure' ]; then exit 1; fi;
135 changes: 135 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

.idea
.jest
storybook-static

.DS_Store
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm run lint && npm run test
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
build
dist
8 changes: 8 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"useTabs": false,
"tabWidth": 2,
"singleQuote": true,
"printWidth": 100,
"trailingComma": "es5",
"bracketSpacing": true
}
Loading

0 comments on commit 9e73a02

Please sign in to comment.