Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a package release for our Design System #406

Open
11 tasks
Aveline-art opened this issue Jun 2, 2023 · 0 comments
Open
11 tasks

Create a package release for our Design System #406

Aveline-art opened this issue Jun 2, 2023 · 0 comments
Labels
feature: Architecture Pertains to project architecture and settings PBV: dev all issues for engineering roles (devops, backend, frontend, db) role: devops Pertains to cd/ci tasks role: frontend Pertains to frontend tasks size: 13pt+ Must be broken down into smaller issues

Comments

@Aveline-art
Copy link
Member

Aveline-art commented Jun 2, 2023

Overview

As a developer, we should make our system easier to manage. For this ticket, let's properly package our design system so that we can implement version control.

Action Items

This should ideally come into multiple stages, with a one or more PR per stage:

Stage 1

  • Separate our design system into the root of our directory
  • Turn it unto a package with its own package.json
  • In order for frontend to find this package, add it as dependency via path

Example:

# package.json
{
  "name": "baz",
  "dependencies": {
    "bar": "file:../foo/bar"
  }
}

Stage 2

  • Add some kind of design system documentation template, such as storybook.
    • To host this, there are a couple of options:
      • Static site over S3 (should be easy and cheap)
      • Over gh-pages in a separate repo (needs a separate repo, which would need buy-in)
      • Over gh-pages in our repo (needs to somehow make this work with mkdocs; very hard to accomplish; probably not worth the effort)
      • Compiled with our website (very hard to accomplish; probably not worth the effort)

Stage 3

  • Have a github action that can package this specific design system directory into a package that can be downloaded via npm
  • Change our project so that we are downloading this package via npm

Example:

npm i https://github.com/user_name/node_project_name
npm install use_name/node_project@version

Resources/Instructions

Resources

The purpose of this PR is to make the Design System document-able and independently manageable. Right now, one difficulty with the design system is that developers are free to edit it at any time, making it hard to impose or enforce any kind of standard. By separating it out, we can document the standard as well as enforce it via making periodic design releases. This helps us make sure that we can revert to different version of our design system should an update break something critical. This in turn allow us to have conversations on how to have better quality control of the design system.

@Aveline-art Aveline-art added role: frontend Pertains to frontend tasks size: 13pt+ Must be broken down into smaller issues feature: Architecture Pertains to project architecture and settings role: devops Pertains to cd/ci tasks ready for milestone labels Jun 2, 2023
@ExperimentsInHonesty ExperimentsInHonesty added the PBV: dev all issues for engineering roles (devops, backend, frontend, db) label Jun 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: Architecture Pertains to project architecture and settings PBV: dev all issues for engineering roles (devops, backend, frontend, db) role: devops Pertains to cd/ci tasks role: frontend Pertains to frontend tasks size: 13pt+ Must be broken down into smaller issues
Projects
Status: 📋 Prioritized Backlog
Development

No branches or pull requests

4 participants