generated from ngx-rocket/starter-kit
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 4343732
Showing
116 changed files
with
4,492 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. | ||
# For additional information regarding the format and rule options, please see: | ||
# https://github.com/browserslist/browserslist#queries | ||
|
||
# For the full list of supported browsers by the Angular framework, please see: | ||
# https://angular.io/guide/browser-support | ||
|
||
# You can see what browsers were selected by your queries by running: | ||
# npx browserslist | ||
|
||
last 1 Chrome version | ||
last 1 Firefox version | ||
last 2 Edge major versions | ||
last 2 Safari major versions | ||
last 2 iOS major versions | ||
Firefox ESR | ||
not IE 9-10 # Angular support for IE 9-10 has been deprecated and will be removed as of Angular v11. To opt-in, remove the 'not' prefix on this line. | ||
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Editor configuration, see https://editorconfig.org | ||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
indent_style = space | ||
indent_size = 2 | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
end_of_line = lf | ||
max_line_length = 120 | ||
|
||
[*.ts] | ||
quote_type = single | ||
|
||
[*.md] | ||
max_line_length = off | ||
trim_trailing_whitespace = false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
{ | ||
"root": true, | ||
"ignorePatterns": [ | ||
"projects/**/*" | ||
], | ||
"overrides": [ | ||
{ | ||
"files": [ | ||
"*.ts" | ||
], | ||
"parserOptions": { | ||
"project": [ | ||
"tsconfig.json" | ||
], | ||
"createDefaultProgram": true | ||
}, | ||
"extends": [ | ||
"plugin:@angular-eslint/recommended", | ||
"plugin:@angular-eslint/template/process-inline-templates" | ||
], | ||
"rules": { | ||
"@angular-eslint/directive-selector": [ | ||
"error", | ||
{ | ||
"type": "attribute", | ||
"prefix": "app", | ||
"style": "camelCase" | ||
} | ||
], | ||
"@angular-eslint/component-selector": [ | ||
"error", | ||
{ | ||
"type": "element", | ||
"prefix": "app", | ||
"style": "kebab-case" | ||
} | ||
], | ||
"@angular-eslint/no-empty-lifecycle-method": "off" | ||
} | ||
}, | ||
{ | ||
"files": [ | ||
"*.html" | ||
], | ||
"extends": [ | ||
"plugin:@angular-eslint/template/recommended" | ||
], | ||
"rules": {} | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# See http://help.github.com/ignore-files/ for more about ignoring files. | ||
|
||
# Compiled output | ||
/dist | ||
/tmp | ||
/out-tsc | ||
# Only exists if Bazel was run | ||
/bazel-out | ||
|
||
# Dependencies | ||
/node_modules | ||
|
||
# Cordova | ||
/www | ||
/plugins | ||
/platforms | ||
|
||
# Electron | ||
/dist-electron | ||
/dist-packages | ||
/electron.main.js | ||
|
||
# IDEs and editors | ||
.idea/* | ||
!.idea/runConfigurations/ | ||
!.idea/codeStyleSettings.xml | ||
.project | ||
.classpath | ||
.c9/ | ||
*.launch | ||
.settings/ | ||
xcuserdata/ | ||
*.sublime-workspace | ||
|
||
# IDE - VSCode | ||
.vscode/* | ||
!.vscode/settings.json | ||
!.vscode/tasks.json | ||
!.vscode/launch.json | ||
!.vscode/extensions.json | ||
|
||
# Maven | ||
/target | ||
/log | ||
|
||
# Misc | ||
/.sass-cache | ||
/connect.lock | ||
/coverage | ||
/libpeerconnection.log | ||
npm-debug.log | ||
yarn-error.log | ||
testem.log | ||
/typings | ||
/reports | ||
/src/translations/template.* | ||
/src/environments/.env.* | ||
|
||
# System Files | ||
.DS_Store | ||
Thumbs.db |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/sh | ||
. "$(dirname "$0")/_/husky.sh" | ||
|
||
npx pretty-quick --staged |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
{ | ||
"extends": [ | ||
"stylelint-config-standard", | ||
"stylelint-config-recommended-scss", | ||
"stylelint-config-prettier" | ||
], | ||
"rules": { | ||
"font-family-name-quotes": "always-where-recommended", | ||
"function-url-quotes": [ | ||
"always", | ||
{ | ||
"except": ["empty"] | ||
} | ||
], | ||
"selector-attribute-quotes": "always", | ||
"string-quotes": "double", | ||
"max-nesting-depth": 3, | ||
"selector-max-compound-selectors": 3, | ||
"selector-max-specificity": "0,3,2", | ||
"declaration-no-important": true, | ||
"at-rule-no-vendor-prefix": true, | ||
"media-feature-name-no-vendor-prefix": true, | ||
"property-no-vendor-prefix": true, | ||
"selector-no-vendor-prefix": true, | ||
"value-no-vendor-prefix": true, | ||
"no-empty-source": null, | ||
"selector-class-pattern": "[a-z-]+", | ||
"selector-id-pattern": "[a-z-]+", | ||
"selector-max-id": 0, | ||
"selector-no-qualifying-type": true, | ||
"selector-max-universal": 0, | ||
"selector-type-no-unknown": [ | ||
true, | ||
{ | ||
"ignore": ["custom-elements", "default-namespace"] | ||
} | ||
], | ||
"selector-pseudo-element-no-unknown": [ | ||
true, | ||
{ | ||
"ignorePseudoElements": ["ng-deep"] | ||
} | ||
], | ||
"unit-allowed-list": ["px", "%", "em", "rem", "vw", "vh", "deg", "s"], | ||
"max-empty-lines": 2, | ||
"max-line-length": 120 | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
# ngX Starter Kit | ||
|
||
Web project starter kit including modern tools and workflow based on | ||
[angular-cli](https://github.com/angular/angular-cli), best practices from the community, a scalable base template and | ||
a good learning base. | ||
|
||
Generated using [ngX-Rocket](https://github.com/ngx-rocket/generator-ngx-rocket). | ||
|
||
### Benefits | ||
|
||
- Quickstart a project in seconds and focus on features, not on frameworks or tools | ||
|
||
- Industrial-grade tools, ready for usage in a continuous integration environment and DevOps | ||
|
||
- Scalable architecture with base app template including example components, services and tests | ||
|
||
# Getting started | ||
|
||
1. Go to project folder and install dependencies: | ||
```bash | ||
npm install | ||
``` | ||
|
||
2. Launch development server, and open `localhost:4200` in your browser: | ||
```bash | ||
npm start | ||
``` | ||
|
||
# Project structure | ||
|
||
``` | ||
dist/ compiled version | ||
docs/ project docs and coding guides | ||
e2e/ end-to-end tests | ||
src/ project source code | ||
|- app/ app components | ||
| |- @core/ core module (singleton services and single-use components) | ||
| |- @shared/ shared module (common components, directives and pipes) | ||
| |- app.component.* app root component (shell) | ||
| |- app.module.ts app root module definition | ||
| |- app-routing.module.ts app routes | ||
| +- ... additional modules and components | ||
|- assets/ app assets (images, fonts, sounds...) | ||
|- environments/ values for various build environments | ||
|- theme/ app global scss variables and theme | ||
|- translations/ translations files | ||
|- index.html html entry point | ||
|- main.scss global style entry point | ||
|- main.ts app entry point | ||
|- polyfills.ts polyfills needed by Angular | ||
+- test.ts unit tests entry point | ||
reports/ test and coverage reports | ||
proxy.conf.js backend proxy configuration | ||
``` | ||
|
||
# Main tasks | ||
|
||
Task automation is based on [NPM scripts](https://docs.npmjs.com/misc/scripts). | ||
|
||
Tasks | Description | ||
------------------------------|--------------------------------------------------------------------------------------- | ||
npm start | Run development server on `http://localhost:4200/` | ||
npm run build [-- --env=prod] | Lint code and build app for production in `dist/` folder | ||
npm test | Run unit tests via [Karma](https://karma-runner.github.io) in watch mode | ||
npm run test:ci | Lint code and run unit tests once for continuous integration | ||
npm run e2e | Run e2e tests using [Protractor](http://www.protractortest.org) | ||
npm run lint | Lint code | ||
npm run translations:extract | Extract strings from code and templates to `src/app/translations/template.json` | ||
npm run docs | Display project documentation | ||
|
||
When building the application, you can specify the target environment using the additional flag `--env <name>` (do not | ||
forget to prepend `--` to pass arguments to npm scripts). | ||
|
||
The default build environment is `prod`. | ||
|
||
## Development server | ||
|
||
Run `npm start` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change | ||
any of the source files. | ||
You should not use `ng serve` directly, as it does not use the backend proxy configuration by default. | ||
|
||
## Code scaffolding | ||
|
||
Run `npm run generate -- component <name>` to generate a new component. You can also use | ||
`npm run generate -- directive|pipe|service|class|module`. | ||
|
||
If you have installed [angular-cli](https://github.com/angular/angular-cli) globally with `npm install -g @angular/cli`, | ||
you can also use the command `ng generate` directly. | ||
|
||
## Additional tools | ||
|
||
Tasks are mostly based on the `angular-cli` tool. Use `ng help` to get more help or go check out the | ||
[Angular-CLI README](https://github.com/angular/angular-cli). | ||
|
||
# What's in the box | ||
|
||
The app template is based on [HTML5](http://whatwg.org/html), [TypeScript](http://www.typescriptlang.org) and | ||
[Sass](http://sass-lang.com). The translation files use the common [JSON](http://www.json.org) format. | ||
|
||
#### Tools | ||
|
||
Development, build and quality processes are based on [angular-cli](https://github.com/angular/angular-cli) and | ||
[NPM scripts](https://docs.npmjs.com/misc/scripts), which includes: | ||
|
||
- Optimized build and bundling process with [Webpack](https://webpack.github.io) | ||
- [Development server](https://webpack.github.io/docs/webpack-dev-server.html) with backend proxy and live reload | ||
- Cross-browser CSS with [autoprefixer](https://github.com/postcss/autoprefixer) and | ||
[browserslist](https://github.com/ai/browserslist) | ||
- Asset revisioning for [better cache management](https://webpack.github.io/docs/long-term-caching.html) | ||
- Unit tests using [Jasmine](http://jasmine.github.io) and [Karma](https://karma-runner.github.io) | ||
- End-to-end tests using [Protractor](https://github.com/angular/protractor) | ||
- Static code analysis: [TSLint](https://github.com/palantir/tslint), [Codelyzer](https://github.com/mgechev/codelyzer), | ||
[Stylelint](http://stylelint.io) and [HTMLHint](http://htmlhint.com/) | ||
- Local knowledgebase server using [Hads](https://github.com/sinedied/hads) | ||
- Automatic code formatting with [Prettier](https://prettier.io) | ||
|
||
#### Libraries | ||
|
||
- [Angular](https://angular.io) | ||
- [Bootstrap 4](https://getbootstrap.com) | ||
- [Font Awesome](http://fontawesome.io) | ||
- [RxJS](http://reactivex.io/rxjs) | ||
- [ng-bootstrap](https://ng-bootstrap.github.io) | ||
- [ngx-translate](https://github.com/ngx-translate/core) | ||
- [Lodash](https://lodash.com) | ||
|
||
#### Coding guides | ||
|
||
- [Angular](docs/coding-guides/angular.md) | ||
- [TypeScript](docs/coding-guides/typescript.md) | ||
- [Sass](docs/coding-guides/sass.md) | ||
- [HTML](docs/coding-guides/html.md) | ||
- [Unit tests](docs/coding-guides/unit-tests.md) | ||
- [End-to-end tests](docs/coding-guides/e2e-tests.md) | ||
|
||
#### Other documentation | ||
|
||
- [I18n guide](docs/i18n.md) | ||
- [Working behind a corporate proxy](docs/corporate-proxy.md) | ||
- [Updating dependencies and tools](docs/updating.md) | ||
- [Using a backend proxy for development](docs/backend-proxy.md) | ||
- [Browser routing](docs/routing.md) | ||
|
||
# License | ||
|
||
[MIT](https://github.com/ngx-rocket/generator-ngx-rocket/blob/main/LICENSE) |
Oops, something went wrong.