diff --git a/.vscode/settings.json b/.vscode/settings.json index 6563fbe..bd42330 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,121 +1,123 @@ { - // text editor - "editor.formatOnSave": true, - "editor.fontLigatures": false, - "diffEditor.ignoreTrimWhitespace": false, - "editor.minimap.enabled": false, - "editor.suggestSelection": "first", - "editor.cursorSmoothCaretAnimation": "on", - "editor.smoothScrolling": true, - "editor.codeActionsOnSave": { - "source.fixAll": "explicit", - "source.organizeImports": "never" - }, - "editor.bracketPairColorization.enabled": true, - "editor.guides.bracketPairs": true, - "editor.guides.highlightActiveBracketPair": false, + // text editor + "editor.formatOnSave": true, + "diffEditor.ignoreTrimWhitespace": false, + "editor.minimap.enabled": false, + "editor.suggestSelection": "first", + "editor.cursorSmoothCaretAnimation": "on", + "editor.smoothScrolling": true, + "editor.codeActionsOnSave": { + "source.fixAll": "explicit", + "source.organizeImports": "never" + }, + "editor.bracketPairColorization.enabled": true, + "editor.guides.bracketPairs": true, + "editor.guides.highlightActiveBracketPair": false, - // files - "files.autoSave": "onFocusChange", - "files.eol": "\n", + // files + "files.autoSave": "onFocusChange", + "files.eol": "\n", - // workbench - "workbench.startupEditor": "none", - "workbench.iconTheme": "vs-nomo-dark", - "workbench.sideBar.location": "left", - "workbench.editor.highlightModifiedTabs": true, - "workbench.list.smoothScrolling": true, + // workbench + "workbench.startupEditor": "none", + "workbench.iconTheme": "vscode-icons", + "workbench.sideBar.location": "left", + "workbench.editor.highlightModifiedTabs": true, + "workbench.list.smoothScrolling": true, - // prettier - "prettier.enable": true, - "json.format.enable": true, - "[json]": { - "editor.formatOnSave": true - }, - "[css]": { - "editor.formatOnSave": true - }, - "[html]": { - "editor.formatOnSave": true - }, - "[typescriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[javascript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[javascriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[markdown]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - // eslint - "eslint.alwaysShowStatus": true, + // prettier + "prettier.enable": true, + "json.format.enable": true, + "[json]": { + "editor.formatOnSave": true + }, + "[css]": { + "editor.formatOnSave": true + }, + "[html]": { + "editor.formatOnSave": true + }, + "[typescriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[javascriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[markdown]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, - // stylelint - "css.validate": true, - "less.validate": false, - "scss.validate": false, - "files.autoSaveDelay": 1000, - "stylelint.configFile": "./stylelint.config.js", + // stylelint + "css.validate": true, + "less.validate": false, + "scss.validate": false, + "files.autoSaveDelay": 1000, + "stylelint.configFile": "./stylelint.config.mjs", - // git - "git.autofetch": true, - "git.autofetchPeriod": 60, - "git.confirmSync": false, - "git.enableSmartCommit": true, - // "git.branchProtection": ["master"], - "git.checkoutType": ["local", "remote"], - "git.ignoreRebaseWarning": true, - "git.inputValidationSubjectLength": 100, - "git.inputValidationLength": 200, + // git + "git.autofetch": true, + "git.autofetchPeriod": 60, + "git.confirmSync": false, + "git.enableSmartCommit": true, + // "git.branchProtection": ["master"], + "git.checkoutType": ["local", "remote"], + "git.ignoreRebaseWarning": true, + "git.inputValidationSubjectLength": 100, + "git.inputValidationLength": 200, - // ts/javascript - "javascript.updateImportsOnFileMove.enabled": "always", - "typescript.surveys.enabled": false, - "typescript.updateImportsOnFileMove.enabled": "always", - "typescript.tsdk": "./node_modules/typescript/lib", - "typescript.preferences.importModuleSpecifier": "relative", - "javascript.suggestionActions.enabled": false, + // ts/javascript + "javascript.updateImportsOnFileMove.enabled": "always", + "typescript.surveys.enabled": false, + "typescript.updateImportsOnFileMove.enabled": "always", + "typescript.tsdk": "./node_modules/typescript/lib", + "typescript.preferences.importModuleSpecifier": "relative", + "javascript.suggestionActions.enabled": false, - // extension - "extensions.ignoreRecommendations": true, - "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", - "emmet.includeLanguages": { - "postcss": "css", - "javascript": "javascriptreact" - }, - "emmet.showSuggestionsAsSnippets": true, - "window.zoomLevel": 0, + // extension + "extensions.ignoreRecommendations": true, + "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", + "emmet.includeLanguages": { + "postcss": "css", + "javascript": "javascriptreact" + }, + "emmet.showSuggestionsAsSnippets": true, + "window.zoomLevel": 0, - // npm - "npm.packageManager": "yarn", - "npm.scriptExplorerAction": "run", + // npm + "npm.packageManager": "pnpm", + "npm.scriptExplorerAction": "run", - // - "explorer.confirmDragAndDrop": false, - "json.maxItemsComputed": 250000, + // + "explorer.confirmDragAndDrop": false, + "json.maxItemsComputed": 250000, - // terminal - "terminal.integrated.cursorBlinking": true, - "terminal.integrated.fontFamily": "Consolas, 'Courier New', monospace", - "terminal.integrated.minimumContrastRatio": 4.5, - "terminal.integrated.defaultProfile.windows": "Git Bash", - "terminal.integrated.smoothScrolling": true, - "terminal.integrated.profiles.windows": { - "Bash": { - "path": "C:\\Program Files\\Git\\bin\\bash.exe", - "args": [] - } - }, - "terminal.integrated.scrollback": 500000, - "terminal.integrated.enablePersistentSessions": false, - "accessibility.signals.terminalBell": { - "sound": "on" - }, - "terminal.integrated.enableVisualBell": true + // terminal + "terminal.integrated.cursorBlinking": true, + "terminal.integrated.fontFamily": "Consolas, 'Courier New', monospace", + "terminal.integrated.minimumContrastRatio": 4.5, + "terminal.integrated.defaultProfile.windows": "Git Bash", + "terminal.integrated.smoothScrolling": true, + "terminal.integrated.profiles.windows": { + "Bash": { + "path": "C:\\Program Files\\Git\\bin\\bash.exe", + "args": [] + } + }, + "terminal.integrated.scrollback": 500000, + "terminal.integrated.enablePersistentSessions": false, + "workbench.tree.enableStickyScroll": false, + "editor.stickyScroll.scrollWithEditor": false, + "editor.stickyScroll.enabled": false, + "accessibility.signals.terminalBell": { + "sound": "on" + }, + "terminal.integrated.enableVisualBell": true, + "workbench.fontAliasing": "antialiased", + "editor.fontFamily": "Consolas, Menlo, Monaco, 'Courier New', monospace" } diff --git a/docs/index.html b/docs/index.html index 73cbd56..4b34574 100644 --- a/docs/index.html +++ b/docs/index.html @@ -943,6 +943,10 @@

Итого: Zustand - мечта разработчика!

.slide blockquote+figcaption { margin: auto; } + + .slide blockquote { + line-height: 40px; + }

Zustand.js

Немного размышлений

@@ -955,19 +959,19 @@

Немного размышлений

© typeof Object
-
-

- Фронтенду пришлось 10 лет бродить по технологическим дебрям, чтобы - прийти к тому, к чему мы пришли сегодня с Zustand! -

-

- Pub/sub был в MV* с незапамятных времен - нам оставалось лишь выделить - в абстракцию селектор, объединить все модели в один стор и оформить - аналог хука!
- Но на том повороте мы свернули не туда и пошли не за теми ... -

-
- +
+

+ Фронтенду пришлось 10 лет бродить по технологическим дебрям, чтобы + прийти к тому, к чему мы пришли сегодня с Zustand! +

+

+ Pub/sub был в MV* с незапамятных времен - нам оставалось лишь выделить + в абстракцию селектор, объединить все модели в один стор и оформить + аналог хука (и это легко реализуется на нативном js)!
+ Но на том повороте мы свернули не туда и пошли не за теми ... +

+
+

Рекомендации