In the bustling realm of technology, where innovation is the heartbeat, "Developer Log" emerges as a guiding light for both seasoned developers and aspiring enthusiasts alike. This unique blog serves as a sanctuary for code aficionados, offering a rich tapestry of insights, experiences, and solutions in the ever-evolving world of software development.
- Nuxt
- Typescript
- eslint-plugin-compat - Plugin for compatibility with old browsers;
- eslint-plugin-editorconfig - Plugin for linting files with EditorConfig;
- eslint-plugin-simple-import-sort - Plugin for sorting imports;
- eslint-plugin-unicorn - Powerful rules for strict code;
- eslint-plugin-vue - Eslint plugin for Vue.js;
- eslint-plugin-vuejs-accessibility - Plugin for a11y support;
- eslint-plugin-yml - Plugin for YAML files;
- @typescript-eslint/eslint-plugin - ESLint plugin for typescript;
- stylelint-config-recommended-scss - Config for scss stylesheets;
- stylelint-config-recommended-vue - Config for vue stylesheets;
- @nuxtjs/i18n - Adds ability for translation;
- @nuxtjs/sitemap - Adds sitemap;
- @nuxt/devtools - Devtools for Nuxt 3;
- @nuxt/image - Adds a11y image component;
- nuxt-icon - Adds component for various icons;
If you don't have a pnpm - you will need it.
# Installing of pnpm
npm i -g pnpmAfter the installation of the pnpm - you can install dependecies of the project:
pnpm iWarn: You should create an
.envfile. Just copy it from.env.exampleand copy & paste secrets.
After creation of dotenv file you can run project with the following command:
pnpm app:devIf you can, you can use Webstorm commands via Ctrl + Ctrl keybinding
You also can use next terminal commands:
app: Commands for appapp:dev: Run development server;app:build: Build the project;app:run: Run production server;app:analyze: Analyze server and client bundle;
lint: Commands for linterslint:eslint: Run ESLint;lint:stylelint: Run Stylelint;lint:svglint: Lint svg files with svglint;lint:staged: Lint all staged files;
deploy: Commands for deployingdeploy:dev: Deploy to the development server;deploy:prod: Deploy to the production server;
Languages dictionaries are located in @/localization. Following languages are supported now:
- Russian (Main language);
- English;
- Belarusian;
- Korean;
- Kazakhstan;
This project has husky and git hooks.
- commit
We use commitlint for linting commit messages; - pre-commit
On pre-commit hook husky runs eslint and stylelint on every committed file; - push
We have hook on push. It runs unit and end to end tests;
- We're building mobile-first layout
- We're using
from-{breakpoint}mixin, it's located instyles/prebuild/breakpoint.scss
- Minimal Value: 400px;
- Maximum value: 2048px;
For adaptive layout we use sass mixins, they are defined in styles/prebuild/breakpoint.scss.
Blog also have a dark theme. Mixin for dark theme is defined in styles/prebuild/theme.scss.