-
Notifications
You must be signed in to change notification settings - Fork 94
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deploying to gh-pages from @ 536e648 🚀
- Loading branch information
Showing
77 changed files
with
4,666 additions
and
2,598 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
2 changes: 1 addition & 1 deletion
2
...kdown-architectural-decision-records.json → ...kdown-architectural-decision-records.json
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 |
---|---|---|
@@ -1 +1 @@ | ||
{"pageProps":{"projectName":"Log4brains","currentAdr":{"slug":"20200924-use-markdown-architectural-decision-records","package":null,"title":"Use Markdown Architectural Decision Records","status":"accepted","supersededBy":null,"tags":[],"deciders":[],"body":{"enhancedMdx":"\n## Context and Problem Statement\n\nWe want to record architectural decisions made in this project.\nWhich format and structure should these records follow?\n\n## Considered Options\n\n- [MADR](https://adr.github.io/madr/) 2.1.2 with Log4brains patch\n- [MADR](https://adr.github.io/madr/) 2.1.2 – The original Markdown Architectural Decision Records\n- [Michael Nygard's template](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions) – The first incarnation of the term \"ADR\"\n- [Sustainable Architectural Decisions](https://www.infoq.com/articles/sustainable-architectural-design-decisions) – The Y-Statements\n- Other templates listed at <https://github.com/joelparkerhenderson/architecture_decision_record>\n- Formless – No conventions for file format and structure\n\n## Decision Outcome\n\nChosen option: \"MADR 2.1.2 with Log4brains patch\", because\n\n- Implicit assumptions should be made explicit.\n Design documentation is important to enable people understanding the decisions later on.\n See also [A rational design process: How and why to fake it](https://doi.org/10.1109/TSE.1986.6312940).\n- The MADR format is lean and fits our development style.\n- The MADR structure is comprehensible and facilitates usage & maintenance.\n- The MADR project is vivid.\n- Version 2.1.2 is the latest one available when starting to document ADRs.\n- The Log4brains patch adds more features, like tags.\n\nThe \"Log4brains patch\" performs the following modifications to the original template:\n\n- Change the ADR filenames format (`NNN-adr-name` becomes `YYYYMMDD-adr-name`), to avoid conflicts during Git merges.\n- Add a `draft` status, to enable collaborative writing.\n- Add a `Tags` field.\n"},"creationDate":"2020-09-25T16:34:23.000Z","lastEditDate":"2020-09-25T16:34:23.000Z","lastEditAuthor":"Thomas Vaillant","publicationDate":"2020-09-24T21:59:59.000Z","file":{"relativePath":"docs/adr/20200924-use-markdown-architectural-decision-records.md","absolutePath":"/home/runner/work/log4brains/log4brains/docs/adr/20200924-use-markdown-architectural-decision-records.md"},"repository":{"provider":"github","viewUrl":"https://github.com/thomvaill/log4brains/blob/master/docs/adr/20200924-use-markdown-architectural-decision-records.md"}},"l4bVersion":""},"__N_SSG":true} | ||
{"pageProps":{"projectName":"Log4brains","currentAdr":{"slug":"20200924-use-markdown-architectural-decision-records","package":null,"title":"Use Markdown Architectural Decision Records","status":"accepted","supersededBy":null,"tags":[],"deciders":[],"body":{"enhancedMdx":"\n## Context and Problem Statement\n\nWe want to record architectural decisions made in this project.\nWhich format and structure should these records follow?\n\n## Considered Options\n\n- [MADR](https://adr.github.io/madr/) 2.1.2 with Log4brains patch\n- [MADR](https://adr.github.io/madr/) 2.1.2 – The original Markdown Architectural Decision Records\n- [Michael Nygard's template](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions) – The first incarnation of the term \"ADR\"\n- [Sustainable Architectural Decisions](https://www.infoq.com/articles/sustainable-architectural-design-decisions) – The Y-Statements\n- Other templates listed at <https://github.com/joelparkerhenderson/architecture_decision_record>\n- Formless – No conventions for file format and structure\n\n## Decision Outcome\n\nChosen option: \"MADR 2.1.2 with Log4brains patch\", because\n\n- Implicit assumptions should be made explicit.\n Design documentation is important to enable people understanding the decisions later on.\n See also [A rational design process: How and why to fake it](https://doi.org/10.1109/TSE.1986.6312940).\n- The MADR format is lean and fits our development style.\n- The MADR structure is comprehensible and facilitates usage & maintenance.\n- The MADR project is vivid.\n- Version 2.1.2 is the latest one available when starting to document ADRs.\n- The Log4brains patch adds more features, like tags.\n\nThe \"Log4brains patch\" performs the following modifications to the original template:\n\n- Change the ADR filenames format (`NNN-adr-name` becomes `YYYYMMDD-adr-name`), to avoid conflicts during Git merges.\n- Add a `draft` status, to enable collaborative writing.\n- Add a `Tags` field.\n"},"creationDate":"2020-09-25T16:34:23.000Z","lastEditDate":"2020-09-25T16:34:23.000Z","lastEditAuthor":"Thomas Vaillant","publicationDate":"2020-09-24T21:59:59.000Z","file":{"relativePath":"docs/adr/20200924-use-markdown-architectural-decision-records.md","absolutePath":"/home/runner/work/log4brains/log4brains/docs/adr/20200924-use-markdown-architectural-decision-records.md"},"repository":{"provider":"github","viewUrl":"https://github.com/thomvaill/log4brains/blob/master/docs/adr/20200924-use-markdown-architectural-decision-records.md"}},"l4bVersion":"1.1.0"},"__N_SSG":true} |
2 changes: 1 addition & 1 deletion
2
...re-in-a-monorepo-with-yarn-and-lerna.json → ...re-in-a-monorepo-with-yarn-and-lerna.json
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 |
---|---|---|
@@ -1 +1 @@ | ||
{"pageProps":{"projectName":"Log4brains","currentAdr":{"slug":"20200925-multi-packages-architecture-in-a-monorepo-with-yarn-and-lerna","package":null,"title":"Multi-packages architecture in a monorepo with Yarn and Lerna","status":"accepted","supersededBy":null,"tags":[],"deciders":[],"body":{"enhancedMdx":"\n## Context and Problem Statement\n\nWe have to define the initial overall architecture of the project.\nFor now, we are sure that we want to provide these features:\n\n- Local preview web UI\n- Static Site Generation from the CI/CD\n- CLI to create a new ADR quickly\n\nIn the future, we might want to provide these features:\n\n- Create/edit ADRs from the local web UI\n- VSCode extension to create and maybe edit an ADR from the IDE\n- Support ADR aggregation from multiple repositories\n\n## Considered Options\n\n- Monolith\n- Multi-packages, multirepo\n- Multi-packages, monorepo\n - with NPM and scripts for links and publication\n - with Yarn and scripts for publication\n - with Yarn and Lerna\n\n## Decision Outcome\n\nChosen option: \"Multi-packages, monorepo, with Yarn and Lerna\", because\n\n- We don't want a monolith because we want the core library/API to be very well tested and probably developed with DDD and hexagonal architecture. The other packages will just call this core API, they will contain fewer business rules as possible. As we are not so sure about the features we will provide in the future, this is good for extensibility.\n- Yarn + Lerna seems to be a very good practice used by a lot of other open-source projects to publish npm packages.\n\n## Links <!-- optional -->\n\n- [A Beginner's Guide to Lerna with Yarn Workspaces](https://medium.com/@jsilvax/a-workflow-guide-for-lerna-with-yarn-workspaces-60f97481149d)\n- [Step by Step Guide to create a Typescript Monorepo with Yarn Workspaces and Lerna](https://blog.usejournal.com/step-by-step-guide-to-create-a-typescript-monorepo-with-yarn-workspaces-and-lerna-a8ed530ecd6d)\n"},"creationDate":"2020-09-25T16:34:23.000Z","lastEditDate":"2020-09-25T16:34:23.000Z","lastEditAuthor":"Thomas Vaillant","publicationDate":"2020-09-25T21:59:59.000Z","file":{"relativePath":"docs/adr/20200925-multi-packages-architecture-in-a-monorepo-with-yarn-and-lerna.md","absolutePath":"/home/runner/work/log4brains/log4brains/docs/adr/20200925-multi-packages-architecture-in-a-monorepo-with-yarn-and-lerna.md"},"repository":{"provider":"github","viewUrl":"https://github.com/thomvaill/log4brains/blob/master/docs/adr/20200925-multi-packages-architecture-in-a-monorepo-with-yarn-and-lerna.md"}},"l4bVersion":""},"__N_SSG":true} | ||
{"pageProps":{"projectName":"Log4brains","currentAdr":{"slug":"20200925-multi-packages-architecture-in-a-monorepo-with-yarn-and-lerna","package":null,"title":"Multi-packages architecture in a monorepo with Yarn and Lerna","status":"accepted","supersededBy":null,"tags":[],"deciders":[],"body":{"enhancedMdx":"\n## Context and Problem Statement\n\nWe have to define the initial overall architecture of the project.\nFor now, we are sure that we want to provide these features:\n\n- Local preview web UI\n- Static Site Generation from the CI/CD\n- CLI to create a new ADR quickly\n\nIn the future, we might want to provide these features:\n\n- Create/edit ADRs from the local web UI\n- VSCode extension to create and maybe edit an ADR from the IDE\n- Support ADR aggregation from multiple repositories\n\n## Considered Options\n\n- Monolith\n- Multi-packages, multirepo\n- Multi-packages, monorepo\n - with NPM and scripts for links and publication\n - with Yarn and scripts for publication\n - with Yarn and Lerna\n\n## Decision Outcome\n\nChosen option: \"Multi-packages, monorepo, with Yarn and Lerna\", because\n\n- We don't want a monolith because we want the core library/API to be very well tested and probably developed with DDD and hexagonal architecture. The other packages will just call this core API, they will contain fewer business rules as possible. As we are not so sure about the features we will provide in the future, this is good for extensibility.\n- Yarn + Lerna seems to be a very good practice used by a lot of other open-source projects to publish npm packages.\n\n## Links <!-- optional -->\n\n- [A Beginner's Guide to Lerna with Yarn Workspaces](https://medium.com/@jsilvax/a-workflow-guide-for-lerna-with-yarn-workspaces-60f97481149d)\n- [Step by Step Guide to create a Typescript Monorepo with Yarn Workspaces and Lerna](https://blog.usejournal.com/step-by-step-guide-to-create-a-typescript-monorepo-with-yarn-workspaces-and-lerna-a8ed530ecd6d)\n"},"creationDate":"2020-09-25T16:34:23.000Z","lastEditDate":"2020-09-25T16:34:23.000Z","lastEditAuthor":"Thomas Vaillant","publicationDate":"2020-09-25T21:59:59.000Z","file":{"relativePath":"docs/adr/20200925-multi-packages-architecture-in-a-monorepo-with-yarn-and-lerna.md","absolutePath":"/home/runner/work/log4brains/log4brains/docs/adr/20200925-multi-packages-architecture-in-a-monorepo-with-yarn-and-lerna.md"},"repository":{"provider":"github","viewUrl":"https://github.com/thomvaill/log4brains/blob/master/docs/adr/20200925-multi-packages-architecture-in-a-monorepo-with-yarn-and-lerna.md"}},"l4bVersion":"1.1.0"},"__N_SSG":true} |
2 changes: 1 addition & 1 deletion
2
...ier-eslint-airbnb-for-the-code-style.json → ...ier-eslint-airbnb-for-the-code-style.json
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 |
---|---|---|
@@ -1 +1 @@ | ||
{"pageProps":{"projectName":"Log4brains","currentAdr":{"slug":"20200925-use-prettier-eslint-airbnb-for-the-code-style","package":null,"title":"Use Prettier-ESLint Airbnb for the code style","status":"accepted","supersededBy":null,"tags":[],"deciders":[],"body":{"enhancedMdx":"\n## Context and Problem Statement\n\nWe have to choose our lint and format tools, and the code style to enforce as well.\n\n## Considered Options\n\n- Prettier only\n- ESLint only\n- ESLint with Airbnb code style\n- ESLint with StandardJS code style\n- ESLint with Google code style\n- Prettier-ESLint with Airbnb code style\n- Prettier-ESLint with StandardJS code style\n- Prettier-ESLint with Google code style\n\n## Decision Outcome\n\nChosen option: \"Prettier-ESLint with Airbnb code style\", because\n\n- Airbnb code style is widely used (see [npm trends](https://www.npmtrends.com/eslint-config-airbnb-vs-eslint-config-google-vs-standard-vs-eslint-config-standard))\n- Prettier-ESLint enforce some additional code style. We like it because the more opinionated the code style is, the less debates there will be :-)\n\nIn addition, we use also Prettier to format json and markdown files.\n\n### Positive Consequences <!-- optional -->\n\n- Developers are encouraged to use the [Prettier ESLint](https://marketplace.visualstudio.com/items?itemName=rvest.vs-code-prettier-eslint) and [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) VSCode extensions while developing to auto-format the files on save\n- And they are encouraged to use the [ESLint VS Code extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) as well to highlight linting issues while developing\n"},"creationDate":"2020-09-25T16:34:23.000Z","lastEditDate":"2020-09-25T16:34:23.000Z","lastEditAuthor":"Thomas Vaillant","publicationDate":"2020-09-25T21:59:59.000Z","file":{"relativePath":"docs/adr/20200925-use-prettier-eslint-airbnb-for-the-code-style.md","absolutePath":"/home/runner/work/log4brains/log4brains/docs/adr/20200925-use-prettier-eslint-airbnb-for-the-code-style.md"},"repository":{"provider":"github","viewUrl":"https://github.com/thomvaill/log4brains/blob/master/docs/adr/20200925-use-prettier-eslint-airbnb-for-the-code-style.md"}},"l4bVersion":""},"__N_SSG":true} | ||
{"pageProps":{"projectName":"Log4brains","currentAdr":{"slug":"20200925-use-prettier-eslint-airbnb-for-the-code-style","package":null,"title":"Use Prettier-ESLint Airbnb for the code style","status":"accepted","supersededBy":null,"tags":[],"deciders":[],"body":{"enhancedMdx":"\n## Context and Problem Statement\n\nWe have to choose our lint and format tools, and the code style to enforce as well.\n\n## Considered Options\n\n- Prettier only\n- ESLint only\n- ESLint with Airbnb code style\n- ESLint with StandardJS code style\n- ESLint with Google code style\n- Prettier-ESLint with Airbnb code style\n- Prettier-ESLint with StandardJS code style\n- Prettier-ESLint with Google code style\n\n## Decision Outcome\n\nChosen option: \"Prettier-ESLint with Airbnb code style\", because\n\n- Airbnb code style is widely used (see [npm trends](https://www.npmtrends.com/eslint-config-airbnb-vs-eslint-config-google-vs-standard-vs-eslint-config-standard))\n- Prettier-ESLint enforce some additional code style. We like it because the more opinionated the code style is, the less debates there will be :-)\n\nIn addition, we use also Prettier to format json and markdown files.\n\n### Positive Consequences <!-- optional -->\n\n- Developers are encouraged to use the [Prettier ESLint](https://marketplace.visualstudio.com/items?itemName=rvest.vs-code-prettier-eslint) and [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) VSCode extensions while developing to auto-format the files on save\n- And they are encouraged to use the [ESLint VS Code extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) as well to highlight linting issues while developing\n"},"creationDate":"2020-09-25T16:34:23.000Z","lastEditDate":"2020-09-25T16:34:23.000Z","lastEditAuthor":"Thomas Vaillant","publicationDate":"2020-09-25T21:59:59.000Z","file":{"relativePath":"docs/adr/20200925-use-prettier-eslint-airbnb-for-the-code-style.md","absolutePath":"/home/runner/work/log4brains/log4brains/docs/adr/20200925-use-prettier-eslint-airbnb-for-the-code-style.md"},"repository":{"provider":"github","viewUrl":"https://github.com/thomvaill/log4brains/blob/master/docs/adr/20200925-use-prettier-eslint-airbnb-for-the-code-style.md"}},"l4bVersion":"1.1.0"},"__N_SSG":true} |
2 changes: 1 addition & 1 deletion
2
...-use-the-adr-number-as-its-unique-id.json → ...-use-the-adr-number-as-its-unique-id.json
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 |
---|---|---|
@@ -1 +1 @@ | ||
{"pageProps":{"projectName":"Log4brains","currentAdr":{"slug":"20200926-use-the-adr-number-as-its-unique-id","package":null,"title":"Use the ADR number as its unique ID","status":"superseded","supersededBy":{"slug":"20201016-use-the-adr-slug-as-its-unique-id","package":null,"title":"Use the ADR slug as its unique ID","status":"accepted","creationDate":"2020-09-25T16:34:23.000Z","publicationDate":"2020-10-16T21:59:59.000Z"},"tags":[],"deciders":[],"body":{"enhancedMdx":"\n## Context and Problem Statement\n\nWe need to be able to identify uniquely an ADR, especially in these contexts:\n\n- Web: to build its URL\n- CLI: to identify an ADR in a command argument (example: \"edit\", or \"preview\")\n\n## Considered Options\n\n- ADR number (ie. filename prefixed number, example: `0001-use-markdown-architectural-decision-records.md`)\n- ADR filename\n- ADR title\n\n## Decision Outcome\n\nChosen option: \"ADR number\", because\n\n- It is possible to have duplicated titles\n- The filename is too long to enter without autocompletion, but we could support it as a second possible identifier for the CLI in the future\n- Other ADR tools like [adr-tools](https://github.com/npryce/adr-tools) already use the number as a unique ID\n"},"creationDate":"2020-09-25T16:34:23.000Z","lastEditDate":"2020-09-25T16:34:23.000Z","lastEditAuthor":"Thomas Vaillant","publicationDate":"2020-09-26T21:59:59.000Z","file":{"relativePath":"docs/adr/20200926-use-the-adr-number-as-its-unique-id.md","absolutePath":"/home/runner/work/log4brains/log4brains/docs/adr/20200926-use-the-adr-number-as-its-unique-id.md"},"repository":{"provider":"github","viewUrl":"https://github.com/thomvaill/log4brains/blob/master/docs/adr/20200926-use-the-adr-number-as-its-unique-id.md"}},"l4bVersion":""},"__N_SSG":true} | ||
{"pageProps":{"projectName":"Log4brains","currentAdr":{"slug":"20200926-use-the-adr-number-as-its-unique-id","package":null,"title":"Use the ADR number as its unique ID","status":"superseded","supersededBy":{"slug":"20201016-use-the-adr-slug-as-its-unique-id","package":null,"title":"Use the ADR slug as its unique ID","status":"accepted","creationDate":"2020-09-25T16:34:23.000Z","publicationDate":"2020-10-16T21:59:59.000Z"},"tags":[],"deciders":[],"body":{"enhancedMdx":"\n## Context and Problem Statement\n\nWe need to be able to identify uniquely an ADR, especially in these contexts:\n\n- Web: to build its URL\n- CLI: to identify an ADR in a command argument (example: \"edit\", or \"preview\")\n\n## Considered Options\n\n- ADR number (ie. filename prefixed number, example: `0001-use-markdown-architectural-decision-records.md`)\n- ADR filename\n- ADR title\n\n## Decision Outcome\n\nChosen option: \"ADR number\", because\n\n- It is possible to have duplicated titles\n- The filename is too long to enter without autocompletion, but we could support it as a second possible identifier for the CLI in the future\n- Other ADR tools like [adr-tools](https://github.com/npryce/adr-tools) already use the number as a unique ID\n"},"creationDate":"2020-09-25T16:34:23.000Z","lastEditDate":"2020-09-25T16:34:23.000Z","lastEditAuthor":"Thomas Vaillant","publicationDate":"2020-09-26T21:59:59.000Z","file":{"relativePath":"docs/adr/20200926-use-the-adr-number-as-its-unique-id.md","absolutePath":"/home/runner/work/log4brains/log4brains/docs/adr/20200926-use-the-adr-number-as-its-unique-id.md"},"repository":{"provider":"github","viewUrl":"https://github.com/thomvaill/log4brains/blob/master/docs/adr/20200926-use-the-adr-number-as-its-unique-id.md"}},"l4bVersion":"1.1.0"},"__N_SSG":true} |
Oops, something went wrong.