Skip to content

Standardize good practices in projects made with Angular using "Schematics" that can be accessible to all developers

Notifications You must be signed in to change notification settings

MikeG96/anxelin-project-structure

Repository files navigation

Welcome to anxelin-project-structure 👋

Version Documentation License: MIT

Create a project structure for an Angular project

Install

npm ci

Current test

npm run build:watch
schematics .:anxelin-project-structure

Run tests

npm run test

Documentation

How to use in your Angular project?

ng g anxelin-project-structure:<SCHEMATIC_OPTION>

Schematic Options

aps

ng g anxelin-project-structure:aps

Creates a folder structure for an Angular project.

📦src
 ┣ 📂app
 ┃ ┣ 📂config
 ┃ ┃ ┗ 📜.gitkeep
 ┃ ┣ 📂pages
 ┃ ┃ ┗ 📜.gitkeep
 ┃ ┗ 📂shared
 ┃ ┃ ┣ 📂guards
 ┃ ┃ ┃ ┗ 📜.gitkeep
 ┃ ┃ ┣ 📂interceptors
 ┃ ┃ ┃ ┗ 📜.gitkeep
 ┃ ┃ ┣ 📂models
 ┃ ┃ ┃ ┗ 📜.gitkeep
 ┃ ┃ ┣ 📂modules
 ┃ ┃ ┃ ┗ 📜.gitkeep
 ┃ ┃ ┣ 📂services
 ┃ ┃ ┃ ┗ 📜.gitkeep
 ┃ ┃ ┗ 📂utilities
 ┃ ┃ ┃ ┗ 📜.gitkeep
 ┣ 📂assets
 ┃ ┗ 📂styles
 ┃ ┃ ┗ 📜.gitkeep

cpg

ng g anxelin-project-structure:cpg

Creates a prettierrc file configuration

{
  "semi": true,
  "singleQuote": true,
  "proseWrap": "always"
}

chac

ng g anxelin-project-structure:chac

Create files to autogeneration CHANGELOG and validate commits with Conventional Commits.

Steps to configure

You need to install the following dependencies.

Run in a terminal

npm install husky && npm install @commitlint/config-conventional && npm i --save-dev standard-version

We need install globally @commitlint/config-conventional and commitlint/cli.

 npm install @commitlint/config-conventional @commitlint/cli -g

Add the following scripts in your package.json

{
  "scripts": {
    // ...
    "release": "standard-version",
    "release:minor": "standard-version --release-as minor",
    "release:patch": "standard-version --release-as patch",
    "release:major": "standard-version --release-as major"
  }
}

First release

Run in a terminal

npm run release -- --first-release

# Output
> standard-version "--first-release"

✖ skip version bump on first release
✔ created CHANGELOG.md
✔ outputting changes to CHANGELOG.md
✔ committing CHANGELOG.md
✔ tagging release v0.0.0
ℹ Run `git push --follow-tags origin master` to publish

Finally you can check your autogenerate CHANGELOG.

Author

👤 mikeg96 (https://github.com/MikeG96)

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Donate

paypal

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator

About

Standardize good practices in projects made with Angular using "Schematics" that can be accessible to all developers

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published