diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..3a6d5cb --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,87 @@ +{ + "name": "Node.js on Debian", + "image": "mcr.microsoft.com/devcontainers/typescript-node:16-bullseye", + "features": { + "ghcr.io/devcontainers/features/github-cli": {}, + "ghcr.io/devcontainers/features/powershell": {} + }, + "mounts": [ + { + "source": "router-component-store_node_modules", + "target": "${containerWorkspaceFolder}/node_modules", + "type": "volume" + } + ], + "waitFor": "onCreateCommand", + "updateContentCommand": "yarn install --non-interactive --frozen-lockfile", + "postAttachCommand": { + // "developmentServer": "yarn start" + }, + "portsAttributes": { + // "4200": { + // "label": "Development server", + // "onAutoForward": "openPreview" + // } + }, + "forwardPorts": [ + // 4200 + ], + "containerEnv": { + "NODE_OPTIONS": "--max-old-space-size=6144" + }, + "hostRequirements": { + "cpus": 4, + "memory": "8gb", + "storage": "32gb" + }, + "customizations": { + "codespaces": { + "openFiles": ["README.md"] + }, + "vscode": { + "extensions": [ + "Angular.ng-template", + "dbaeumer.vscode-eslint", + "EditorConfig.EditorConfig", + "esbenp.prettier-vscode", + "GitHub.vscode-pull-request-github", + "nrwl.angular-console", + "WallabyJs.wallaby-vscode" + ], + "settings": { + "editor.codeActionsOnSave": { + "source.organizeImports": true + }, + "editor.formatOnSave": true, + "editor.rulers": [80], + "[css]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[html]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[jsonc]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[md]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[scss]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[yaml]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } + } + } + } +} diff --git a/.editorconfig b/.editorconfig index 6e87a00..1022108 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,6 +7,7 @@ indent_style = space indent_size = 2 insert_final_newline = true trim_trailing_whitespace = true +max_line_length = 80 [*.md] max_line_length = off diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 64553b1..a0ca85a 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,8 +1,13 @@ { "recommendations": [ - "nrwl.angular-console", + "Angular.ng-template", + "dbaeumer.vscode-eslint", + "EditorConfig.EditorConfig", "esbenp.prettier-vscode", - "firsttris.vscode-jest-runner", - "dbaeumer.vscode-eslint" + "GitHub.codespaces", + "GitHub.vscode-pull-request-github", + "ms-vscode-remote.remote-containers", + "nrwl.angular-console", + "WallabyJs.wallaby-vscode" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f397a3e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,34 @@ +{ + "editor.codeActionsOnSave": { + "source.organizeImports": true + }, + "editor.formatOnSave": true, + "editor.rulers": [80], + "[css]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[html]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[jsonc]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[md]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[scss]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[yaml]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } +} diff --git a/README.md b/README.md index 4ea502e..27e6d0f 100644 --- a/README.md +++ b/README.md @@ -129,3 +129,13 @@ export class HeroDetailComponent { constructor(private routerStore: RouterStore) {} } ``` + +## Contribute + +[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=427784584) + +[![Open in the github.dev web editor](https://img.shields.io/badge/github.dev-Open_in_web_editor-2f363d?logo=github&logoColor=black)](https://github.dev/ngworker/router-component-store) + +[![Open in StackBlitz Codeflow](https://developer.stackblitz.com/img/open_in_codeflow_small.svg)](https://pr.new/ngworker/router-component-store) + +[![Edit in StackBlitz Web Publisher](https://developer.stackblitz.com/img/edit_in_web_publisher_small.svg)](https://pr.new/ngworker/router-component-store/edit/main/README.md?view=editor)