Skip to content

Commit 3e404e7

Browse files
committed
initial commit
0 parents  commit 3e404e7

Some content is hidden

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

49 files changed

+10869
-0
lines changed

.babelrc.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
module.exports = api => {
2+
api.cache.never();
3+
4+
return {
5+
presets: [
6+
'@babel/react',
7+
[
8+
'@babel/env',
9+
{
10+
useBuiltIns: 'entry',
11+
shippedProposals: true,
12+
spec: true,
13+
debug: false,
14+
},
15+
],
16+
],
17+
plugins: [
18+
['@babel/proposal-decorators', { legacy: true }],
19+
['@babel/proposal-class-properties', { loose: true }],
20+
'@babel/proposal-function-bind',
21+
'@babel/proposal-object-rest-spread',
22+
'react-hot-loader/babel',
23+
],
24+
};
25+
};

.browserslistrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
last 1 chrome version

.editorconfig

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
root = true
2+
insert_final_newline = true
3+
charset = utf-8
4+
indent_style = space
5+
indent_size = 4

.eslintignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/public
2+
/scripts
3+
/config

.eslintrc.yaml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
extends:
3+
- '@lectrum/eslint-config-core'
4+
5+
parserOptions:
6+
sourceType: 'module'
7+
ecmaFeatures:
8+
legacyDecorators: true
9+
10+
rules:
11+
no-console: 0

.gitignore

+95
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# == Core ==
2+
3+
node_modules/
4+
build/
5+
coverage/
6+
7+
*.log
8+
9+
10+
# == VIM ==
11+
12+
# ctags
13+
.tags
14+
.tags*
15+
16+
# Swap
17+
[._]*.s[a-v][a-z]
18+
[._]*.sw[a-p]
19+
[._]s[a-v][a-z]
20+
[._]sw[a-p]
21+
22+
# Session
23+
Session.vim
24+
25+
# Temporary
26+
.netrwhist
27+
*~
28+
# Auto-generated tag files
29+
tags
30+
31+
32+
# == JetBrains ==
33+
34+
# Main
35+
.idea/
36+
37+
# CMake
38+
cmake-build-debug/
39+
cmake-build-release/
40+
41+
# File-based project format:
42+
*.iws
43+
44+
# Plugin-specific files:
45+
46+
# IntelliJ
47+
out/
48+
49+
# mpeltonen/sbt-idea plugin
50+
.idea_modules/
51+
52+
# JIRA plugin
53+
atlassian-ide-plugin.xml
54+
55+
# Crashlytics plugin (for Android Studio and IntelliJ)
56+
com_crashlytics_export_strings.xml
57+
crashlytics.properties
58+
crashlytics-build.properties
59+
fabric.properties
60+
61+
62+
# == VSCode ==
63+
64+
# Main
65+
.vscode/*
66+
67+
68+
# == macOS ==
69+
70+
# Main
71+
.DS_Store
72+
.AppleDouble
73+
.LSOverride
74+
75+
# Icon must end with two \r
76+
Icon
77+
78+
# Thumbnails
79+
._*
80+
81+
# Files that might appear in the root of a volume
82+
.DocumentRevisions-V100
83+
.fseventsd
84+
.Spotlight-V100
85+
.TemporaryItems
86+
.Trashes
87+
.VolumeIcon.icns
88+
.com.apple.timemachine.donotpresent
89+
90+
# Directories potentially created on remote AFP share
91+
.AppleDB
92+
.AppleDesktop
93+
Network Trash Folder
94+
Temporary Items
95+
.apdisk

.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
10.15.0

.stylelintignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules/
2+
build/
3+
coverage/

.stylelintrc

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
ignoreFiles:
3+
- node_modules/
4+
- build/
5+
- build/
6+
- coverage/
7+
8+
rules:
9+
indentation: 4

README.md

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
<h1 align="center">
2+
<a href="https://lectrum.io" target="_blank" rel="noopener noreferrer"> <img src="./static/favicon/favicon-woodsmoke.svg" alt="Lectrum favicon" width="25" /></a> Immutable.js — технологии работы с иммутабельными данными</h1>
3+
4+
<br>
5+
6+
<div align="center">
7+
<!-- Last commit -->
8+
<img src="https://img.shields.io/github/last-commit/lectrum/react-personal-project.svg?longCache=true&style=flat-square"
9+
alt="Last commit" />
10+
<!-- Dependencies -->
11+
<img src="https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg?longCache=true&style=flat-square"
12+
alt="Dependencies" />
13+
<!-- Contributors welcome -->
14+
<img src="https://img.shields.io/badge/contributions-welcome-orange.svg?longCache=true&style=flat-square"
15+
alt="Last update" />
16+
</div>
17+
<div align="center">
18+
<!-- Наш Facebook -->
19+
<a href="https://www.facebook.com/lectrum">
20+
<img src="https://img.shields.io/badge/%D0%9F%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%8B%D0%B2%D0%B0%D0%B9%D1%81%D1%8F%20%D0%BD%D0%B0%20%D0%BD%D0%B0%D1%88-Facebook-blue.svg?longCache=true&style=for-the-badge&link=https://www.facebook.com/lectrum"
21+
alt="Подписывайся на наш Facebook" />
22+
</a>
23+
</div>
24+
25+
<br>
26+
<br>
27+
28+
<table align="center">
29+
<tbody>
30+
<tr>
31+
<td>
32+
<h3 align="center">👋🏼 Добро пожаловать!</h3>
33+
<p>
34+
Этот репозиторий — стартовая мини-курса по библиотеке с иммутабельными коллекциями данных Immutable.js. В ветке immutable-connected ты найдёшь финальную референтную точку приложения. На абордаж! 🚀
35+
</p>
36+
<br>
37+
<p>👨🏽‍🔬&nbsp;В этой инструкции ты узнаешь как настроить и использовать проект.</p>
38+
</td>
39+
</tr>
40+
<tbody>
41+
</table>
42+
43+
<br>
44+
45+
## 📜 Содержание
46+
47+
<img align="right" width="80" src="./static/logos/React.png">
48+
49+
- [🚀 Для запуска проекта выполни следующие шаги](#-Для-запуска-проекта-выполни-следующие-шаги)
50+
- [🎨 Концептуальное задание](#-Концептуальное-задание)
51+
- [👨🏼‍💻 Техническое задание](#-Техническое-задание)
52+
- [🤔 FAQ](#-faq)
53+
54+
<br>
55+
56+
### 🚀 Для запуска проекта выполни следующие шаги
57+
58+
1. [Скачай и установи](https://nodejs.org/en/) последнюю LTS-версию Node.js.
59+
2. Выполни в консоли `node -v` и убедись, что установлена последняя версия Node.js не ниже `v10.15.0`;
60+
3. Введи в консоли `npm -v` и убедись, что установлена последняя версия npm не ниже `6.5.0`;
61+
4. [Скачай и установи Git](https://git-scm.com/downloads), если его нет на компьютере;
62+
5. Введи `git --version`, чтобы проверь версию установленного Git, должно быть не ниже `2.18.0`;
63+
6. Склонируй и запусти этот проект: `git clone https://github.com/Lectrum/immutable-js.git`;
64+
7. Чтобы перейти в директорию с проекта, после клонирования выполни команду `cd immutable-js`;
65+
8. Чтобы установить зависимости проекта, выполни команду `npm install`;
66+
9. Чтобы запустить проект в режиме разработки, самое время выполнить  команду `npm start`;
67+
10. Перейди в браузер и открой страничку [http://localhost:3000](http://localhost:3000/).
68+
11. Открой Chrome Dev Tools и перейди на вкладку Console, там не должно быть каких-либо ошибок.
69+
70+
<br>
71+
72+
### 🤔 FAQ
73+
74+
Ответы на часто задаваемые вопросы можно найти [здесь](https://github.com/Lectrum/FAQ#-faq).
75+
76+
<br>
77+
78+
<div align="center">
79+
<!-- Сделано с любовь -->
80+
<img src="https://img.shields.io/badge/%D0%A1%D0%B4%D0%B5%D0%BB%D0%B0%D0%BD%D0%BE%20%D1%81-%F0%9F%96%A4-red.svg?longCache=true&style=for-the-badge&colorA=000&colorB=fedcba"
81+
alt="Сделано с любовь" />
82+
</div>

package.json

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
{
2+
"name": "todo-immutable",
3+
"version": "0.0.1",
4+
"author": "",
5+
"private": true,
6+
"scripts": {
7+
"start": "cross-env-shell NODE_ENV=development BUILD_ENV=development webpack-dev-server --config=\"./webpack/webpack.config.babel.js\" --env development",
8+
"build:config": "webpack --config=\"./webpack/webpack.config.babel.js\" --env production --display-reasons",
9+
"build:dev": "cross-env-shell NODE_ENV=production BUILD_ENV=development npm run build:config",
10+
"build:prod": "cross-env-shell NODE_ENV=production BUILD_ENV=production npm run build:config",
11+
"build:analyze": "run-s build:prod analyze",
12+
"analyze": "webpack-bundle-analyzer \"./build/build-stats.json\" build",
13+
"prettier": "prettier-eslint --list-different \"./source/**/*.js\"; prettier-eslint --write \"./source/**/*.js\""
14+
},
15+
"dependencies": {
16+
"classnames": "2.2.6",
17+
"faker": "4.1.0",
18+
"immutable": "4.0.0-rc.12",
19+
"moment": "2.23.0",
20+
"react": "16.7.0",
21+
"react-dom": "16.7.0",
22+
"react-flip-move": "3.0.3",
23+
"reset-css": "4.0.1"
24+
},
25+
"devDependencies": {
26+
"@babel/core": "7.2.2",
27+
"@babel/plugin-proposal-class-properties": "7.2.3",
28+
"@babel/plugin-proposal-decorators": "7.2.3",
29+
"@babel/plugin-proposal-function-bind": "7.2.0",
30+
"@babel/plugin-proposal-object-rest-spread": "7.2.0",
31+
"@babel/polyfill": "7.2.5",
32+
"@babel/preset-env": "7.2.3",
33+
"@babel/preset-react": "7.0.0",
34+
"@babel/register": "7.0.0",
35+
"@lectrum/eslint-config-core": "1.1.15",
36+
"babel-eslint": "10.0.1",
37+
"babel-loader": "8.0.5",
38+
"chalk": "2.4.2",
39+
"clean-webpack-plugin": "1.0.0",
40+
"cross-env": "5.2.0",
41+
"css-loader": "2.1.0",
42+
"css-mqpacker": "7.0.0",
43+
"cssnano": "4.1.8",
44+
"eslint": "5.12.1",
45+
"eslint-plugin-react": "7.12.4",
46+
"file-loader": "3.0.1",
47+
"html-webpack-plugin": "3.2.0",
48+
"html-webpack-template": "6.2.0",
49+
"mini-css-extract-plugin": "0.5.0",
50+
"npm-run-all": "4.1.5",
51+
"postcss-easing-gradients": "3.0.1",
52+
"postcss-font-smoothing": "0.1.0",
53+
"postcss-icss-selectors": "2.0.3",
54+
"postcss-import": "12.0.1",
55+
"postcss-loader": "3.0.0",
56+
"postcss-preset-env": "6.5.0",
57+
"postcss-reporter": "6.0.1",
58+
"prettier-eslint-cli": "4.7.1",
59+
"prop-types": "15.6.2",
60+
"react-dev-utils": "7.0.1",
61+
"react-hot-loader": "4.6.3",
62+
"style-loader": "0.23.1",
63+
"stylelint": "9.10.1",
64+
"url-loader": "1.1.2",
65+
"webpack": "4.29.0",
66+
"webpack-bundle-analyzer": "3.0.3",
67+
"webpack-cli": "3.2.1",
68+
"webpack-dev-server": "3.1.14",
69+
"webpack-merge": "4.2.1"
70+
}
71+
}

0 commit comments

Comments
 (0)