{"id":21420128,"url":"https://github.com/melhosseiny/vue-starter-kit","last_synced_at":"2026-04-12T17:06:46.082Z","repository":{"id":77616505,"uuid":"309534526","full_name":"melhosseiny/vue-starter-kit","owner":"melhosseiny","description":"Starter kit for Vue 2 projects","archived":false,"fork":false,"pushed_at":"2020-11-03T01:03:54.000Z","size":211,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-23T06:29:25.770Z","etag":null,"topics":["babel","jest","postcss","vue","vuerouter","vuex","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/melhosseiny.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-03T01:01:01.000Z","updated_at":"2023-03-07T03:29:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7265a7f-cf78-4ee2-8667-ee8a7f64c6bf","html_url":"https://github.com/melhosseiny/vue-starter-kit","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melhosseiny%2Fvue-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melhosseiny%2Fvue-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melhosseiny%2Fvue-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melhosseiny%2Fvue-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/melhosseiny","download_url":"https://codeload.github.com/melhosseiny/vue-starter-kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243926065,"owners_count":20369911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["babel","jest","postcss","vue","vuerouter","vuex","webpack"],"created_at":"2024-11-22T20:11:59.209Z","updated_at":"2026-04-12T17:06:46.049Z","avatar_url":"https://github.com/melhosseiny.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vue-starter-kit\n\nStarter kit for Vue 2 projects.\n\n## Build\n\n1. `npm i` to install dependencies\n2. `npm run start:dev` to start dev server with HMR at `localhost:8000`\n\nYou can also use `npm start` to start dev server without HMR\n\n- `npm run build:dev` (or `npm run watch`) to build for development\n- `npm run build` to build for production\n\n\n## Test/Lint\n\n- `npm run test` to run Jest\n- `npm run eslint` to run ESLint\n- `npm run stylelint` to run stylelint\n\n## App Structure\n\n```\nsrc/\n  assets/            --\u003e Global assets like theme.css\n  components/        --\u003e Vue single file components\n  router/            --\u003e App routes\n  store/             --\u003e Vuex store files\n  main.js            --\u003e Main app entry\n  App.vue            --\u003e Root component\ncoverage/            --\u003e Istanbul coverage report\ndist/                --\u003e Webpack build output\nstatic/              --\u003e Static files like index.html\n  index.html         --\u003e Root markup template\n.editorconfig        --\u003e EditorConfig settings\n.eslintrc.js         --\u003e ESLint config\nserver.mjs           --\u003e Express dev server\nbabel.config.js      --\u003e Babel config\njest.config.js       --\u003e Jest config\npostcss.config.js    --\u003e PostCSS config\nstylelint.config.js  --\u003e stylelint config\nwebpack.config.*     --\u003e Webpack config\n```\n\n## `browserslist` config\n\n```\n{\n  \"development\": [\n    \"last 1 version\",\n    \"\u003e 1%\",\n    \"not ie 11\",\n    \"not dead\"\n  ],\n  \"production\": [\n    \"last 1 version\",\n    \"\u003e 1%\",\n    \"not ie 11\",\n    \"not dead\"\n  ],\n  \"test\": [\n    \"node 14\"\n  ]\n}\n```\n\n## Babel config\n\n- [preset-env](https://babeljs.io/docs/en/babel-preset-env) to automatically manage syntax transforms\n- [plugin-syntax-dynamic-import](https://babeljs.io/docs/en/babel-plugin-syntax-dynamic-import) to transform `() =\u003e import()` syntax\n\n## Jest config\n\n- Turn off `experimentalCSSCompile`\n- Transform `.js` with `babel-jest` and `.vue` with `vue-jest`\n\n## PostCSS config\n\n- [CSS Modules](https://github.com/css-modules/css-modules) to locally scope style rules\n- [autoprefixer](https://github.com/postcss/autoprefixer) to automatically add vendor prefixes\n- [postcss-preset-env](https://preset-env.cssdb.org/) to use modern CSS features such as custom props, custom media queries and nesting rules\n- [cssnano](https://cssnano.co/) to compress CSS\n\n## Webpack config\n\n### Common\n\n- Alias `src` by `@`\n- [vue-loader](https://vue-loader.vuejs.org/) to load single-file components\n- [babel-loader](https://github.com/babel/babel-loader) to transpile JavaScript files using babel\n- [clean-webpack-plugin](https://github.com/johnagan/clean-webpack-plugin) to clean build folder\n\n### Dev\n\n- `mode` set to `development`\n- Inline source maps\n- `postcss-loader` to process CSS with PostCSS\n- Enable HMR using `HotModuleReplacementPlugin`\n\n### Prod\n\n- `mode` set to `production`\n- [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) to avoid flash of unstyled content\n\nDev/prod configs are merged with the common config using [webpack-merge](https://github.com/survivejs/webpack-merge).\n\n## ESLint config\n\n- Use `eslint:recommended`, `plugin:vue/recommended` and `plugin:jest/recommended`\n\n## stylelint config\n\n- Use `stylelint-config-standard`\n- Ignore `:global` pseudo class\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelhosseiny%2Fvue-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmelhosseiny%2Fvue-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelhosseiny%2Fvue-starter-kit/lists"}