From 582f122bc090bee0090a2f3d08abb26db718f85e Mon Sep 17 00:00:00 2001 From: Daniel Naab Date: Mon, 23 Oct 2023 12:09:46 -0500 Subject: [PATCH] Add "value created" list (#7) * ADR clarity improvements. * Documentation cleanup. * Add "value created" document with an initial entry. * Add links to main readme --- README.md | 5 + documents/adr/0005-build-system.md | 4 +- documents/adr/0007-initial-css-strategy.md | 2 +- documents/value-created-log.md | 5 + .../src/graph-dependencies.ts | 2 +- packages/design/README.md | 3 + workspace-dependencies.svg | 114 ++++++++++-------- 7 files changed, 83 insertions(+), 52 deletions(-) create mode 100644 documents/value-created-log.md diff --git a/README.md b/README.md index a3190251..b91c2077 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,11 @@ The project dependencies within the workspace are: ![workspace project dependencies](./workspace-dependencies.svg) +Additional documentation: + +- [Architectural Decision Records (ADRs)](./documents/adr/) +- [Non-project contributions](./documents/value-created-log.md) + ## Development This project uses [pnpm workspaces](https://pnpm.io/workspaces). To work with this project, [install pnpm](https://pnpm.io/installation) and then the project dependencies: diff --git a/documents/adr/0005-build-system.md b/documents/adr/0005-build-system.md index 29fdb8a2..b94b187f 100644 --- a/documents/adr/0005-build-system.md +++ b/documents/adr/0005-build-system.md @@ -16,8 +16,8 @@ A method of structuring cohesive and well-encapsulated modules is required. Addi A [pnpm](https://pnpm.io/) workspace will be utilized. Workspaces are a standard method of organizing multiple interdependent [node.js](https://nodejs.org/) packages in a single repository. pnpm offers efficient package management and well-implemented workspaces. -[Turborepo](https://turbo.build/) will be leveraged to managed efficient builds. In a multi-project workspace, tracking interdependencies between packages is required. Turborepo implements an efficient caching system and executing engine that leads to efficient and developer-friend builds. +[Turborepo](https://turbo.build/) will be leveraged to managed efficient builds. In a multi-project workspace, tracking interdependencies between packages is required. Turborepo implements an efficient caching system and execution engine that leads to efficient and developer-friend builds. ## Consequences -Reasoning about dependencies will be enhanced with explicit packages per module. Additionally, dependencies will be modularized with in a manner that makes it easy to lift and shift the code to another location with a pnpm workspace. Lastly, developer efficiency will be enhanced by the fast builds provided by Turborepo. +Reasoning about dependencies will be enhanced due to each module having an explicit package. Additionally, dependencies will be modularized in a manner that makes it easy to lift and shift the code to another location. Lastly, developer efficiency will be enhanced by the fast builds provided by Turborepo. diff --git a/documents/adr/0007-initial-css-strategy.md b/documents/adr/0007-initial-css-strategy.md index d54941ae..eec3d138 100644 --- a/documents/adr/0007-initial-css-strategy.md +++ b/documents/adr/0007-initial-css-strategy.md @@ -16,7 +16,7 @@ The project team desires a method of managing CSS using a method that maximizes The project team will theme USWDS via an encapsulated build (`@atj/design`). Any USWDS-related configuration or initialization will reside in this package. -Where necessary, the Spotlight frontend application will use straight CSS. +The Spotlight frontend will leverage this package via CSS imports. Where necessary, the Spotlight frontend application will use straight CSS. ## Consequences diff --git a/documents/value-created-log.md b/documents/value-created-log.md new file mode 100644 index 00000000..fd0ed553 --- /dev/null +++ b/documents/value-created-log.md @@ -0,0 +1,5 @@ +# Value created + +The project team aims to stack the value it creates throughout the development of this project by improving the federal forms landscape wherever possible. This document lists notable contributions made by the project team to other efforts. + +- [uswds-compile PR#76](https://github.com/uswds/uswds-compile/pull/76) updates [uswds-compile](https://github.com/uswds/uswds-compile) to be compatible with alternate package managers, such as [pnpm](https://pnpm.io/). diff --git a/packages/dependency-graph/src/graph-dependencies.ts b/packages/dependency-graph/src/graph-dependencies.ts index 6cd8cb1f..98afbd06 100644 --- a/packages/dependency-graph/src/graph-dependencies.ts +++ b/packages/dependency-graph/src/graph-dependencies.ts @@ -19,5 +19,5 @@ export const writeDependencyGraph = ( dependencyGraphOutputPath: string ) => { const graph = createGraphvizDigraph(workspaceDependencies); - graph.output('svg', dependencyGraphOutputPath); + graph.output({ type: 'svg', use: 'dot' }, dependencyGraphOutputPath); }; diff --git a/packages/design/README.md b/packages/design/README.md index e69de29b..dd2db33b 100644 --- a/packages/design/README.md +++ b/packages/design/README.md @@ -0,0 +1,3 @@ +# @atj/design + +This package encapsulates all the CSS styles used in 10x Digital Access to Justice frontend applications. See [documents/adr/0007-initial-css-strategy](../../documents/adr/0007-initial-css-strategy.md). diff --git a/workspace-dependencies.svg b/workspace-dependencies.svg index 6c6cbaaf..b5661f0e 100644 --- a/workspace-dependencies.svg +++ b/workspace-dependencies.svg @@ -4,88 +4,106 @@ - + workspace - + @atj/cli-app - -@atj/cli-app + +@atj/cli-app @atj/interviews - -@atj/interviews + +@atj/interviews @atj/cli-app->@atj/interviews - - + + @atj/dependency-graph - -@atj/dependency-graph + +@atj/dependency-graph @atj/cli-app->@atj/dependency-graph - - - - - -@atj/frontend - -@atj/frontend - - - -@atj/frontend->@atj/interviews - - + + - + @atj/docassemble - -@atj/docassemble + +@atj/docassemble - + -@atj/frontend->@atj/docassemble - - +@atj/cli-app->@atj/docassemble + + + + + +@atj/docassemble->@atj/interviews + + - + @atj/documents - -@atj/documents + +@atj/documents - - -@atj/frontend->@atj/documents - - + + +@atj/docassemble->@atj/documents + + - + + +@atj/spotlight + +@atj/spotlight + + -@atj/docassemble->@atj/interviews - - +@atj/spotlight->@atj/interviews + + - + + +@atj/spotlight->@atj/docassemble + + + + + +@atj/design + +@atj/design + + + +@atj/spotlight->@atj/design + + + + -@atj/docassemble->@atj/documents - - +@atj/spotlight->@atj/documents + +