3.2.0 • Published 1 year ago

@myxplor/stardust v3.2.0

Weekly downloads
216
License
ISC
Repository
github
Last release
1 year ago

Stardust is a single source of truth for user interface (UI) standards at Xplor.

Intent

A consistent user experience, regardless of platform ... builds trust with customers

~Nielsen Norman Group

The primary goal of Stardust is to create a consistenly great user experience (UX) across Mobile, the Mobile Web and the Desktop Web.

🏃‍♀️ Getting Started

  • Install dependencies: yarn install
  • Install peer dependencies: yarn install react styled-components --peer
  • Start watching for changes: yarn run watch

Development

  • Playroom: yarn run playroom
  • Storybook: yarn run storybook

Note: because React is a peer dependency, you may sometimes run into an error where react or styled-components is missing. You can run yarn run install:peers to add it.

Linking

You can run this repo locally and have other projects use it as their version of Stardust. From the root run yarn link, then in the project where you want to use it run yarn link @myxplor/stardust.

Note that the files the other repo will see are the ones that get published via yarn run build.

Once you're done developing, make sure you run yarn unlink @myxplor/stardust in the project you were testing against and then run yarn install --force.

You may run into errors around hooks doing this, this is caused by duplicate React versions (as this one might use its own). The easy fix for this is to delete react and react-dom from the node_modules in Stardust (better fix TBD).

Versioning

This project uses semver.

  • Major: Breaking changes to existing components, removal of components
  • Minor: New components, adding props to existing components
  • Patch: Fixes to existing components

Release Versions

Stardust V2 was originally built alongside a series of components the design team use in Figma: https://www.figma.com/file/OooqFlQLoogScfMaaWRuIY/(Legacy---Use-Space-Design-Components)Stardust-Design-System-v2?node-id=0%3A2

Since then the design team have been putting together a Stardust V3. It is based on Stardust V2 and has general improvements, new components, and meets design requirements and ethos set by Xplor Technologies: https://www.figma.com/file/CBsAVV2b5VwRSO06PGFalB/Space-design-components?node-id=0%3A1

There is no immediate desire to move everything over to V3, but it is recommended new work be built against and use V3 where feasilble.

To manage this, we will be splitting Stardust into two maintained versions:

  • V2: is now officially the "old" version of Stardust and lives on the branch v2. No major changes should happen on this branch, it is maintained only for minor and patch fixes.
  • V3: is the offical "new" version of Stardust and lives in master. It will start as just a version bump of V2, and will slowly have new design and components added to it.

Updating

  • Keep track of changes you make in CHANGELOG.md, so any consumers will know the impact
  • Record the intended version in the CHANGELOG.md, so that during review it can be confirmed that he correct versioning is applied

Usage

import React from 'react'
import { DarkTheme, LightTheme, Heading, StardustProvider } from '@myxplor/stardust'

const themes = {
  dark: DarkTheme,
  light: LightTheme,
}

const App = () => (
  <StardustProvider activeTheme="light" themes={themes}>
    <Heading level={1}>Now you're using Stardust!</Heading>
  </StardustProvider>
)

Release

  1. To release a new version of stardust you need to add a changeset with the changes you made with yarn changeset
    1. Select the type of change (Major, Minor or Patch) following the semver versioning rules.
    2. A new file will be created inside of .changeset directory, you can commit this file alongside your other changes, and open your PR.
  2. After you have merged your PR, a new PR will be created for the next version of stardust.
    1. The changeset will be deleted and the changelog file updated.
    2. Version in package.json will be bumped following the type of change.
    3. Stardust will automatically publish your changes to NPM.

Other stuff

📩 Slack

If you would like to contribute, provide feeback or chat design systems, join the #design-system Slack channel in the Xplor workspace.

Legacy notes

Stardust has seen some stuff. It went through a long development cycle where semver wasn't used, so it was very easy to have incompatible packages. Documentation was also rough.

At some point, there were some major rewrites and updates which did not maintain compatability, which meant they were never adopted. Stardust spent a long time with what was effectively a broken master, so all projects were using an old version (0.0.0-alpha24).

This release was actually pretty solid, so in the spirit of continued progress, master was rebased with this version, effectively set aside all of the work that came since. The version was bumped to 1.0.0, with the goal being to make sure that Stardust can continue to be improved and ensure that updates don't break existing projects.

3.2.0

1 year ago

3.1.3

2 years ago

3.1.2

2 years ago

3.1.6

2 years ago

3.1.5

2 years ago

3.1.4

2 years ago

3.1.12

2 years ago

3.1.11

2 years ago

3.1.14

2 years ago

3.1.13

2 years ago

3.1.16

2 years ago

3.1.15

2 years ago

3.1.10

2 years ago

3.1.9

2 years ago

3.1.8

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.6

2 years ago

3.0.5

2 years ago

2.18.1

2 years ago

2.18.2

2 years ago

2.18.0

2 years ago

2.17.0

2 years ago

2.16.5

3 years ago

2.16.4

3 years ago

2.16.3

3 years ago

2.16.2

3 years ago

2.16.1

3 years ago

2.16.0

3 years ago

2.15.0

3 years ago

2.14.3

3 years ago

2.14.2

3 years ago

2.14.1

3 years ago

2.14.0

3 years ago

2.13.3

3 years ago

2.13.2

3 years ago

2.13.1

3 years ago

2.13.0

3 years ago

2.12.0

3 years ago

2.11.0

3 years ago

2.10.4

3 years ago

2.10.3

3 years ago

2.10.2

3 years ago

2.10.1

3 years ago

2.10.0

3 years ago

2.9.2

3 years ago

2.9.1

3 years ago

2.8.1

3 years ago

2.7.1

3 years ago

2.7.0

3 years ago

2.6.0

3 years ago

2.5.1

3 years ago

2.5.0

3 years ago

2.4.8

4 years ago

2.4.7

4 years ago

2.4.6

4 years ago

2.4.5

4 years ago

2.4.4

4 years ago

2.4.3

4 years ago

2.4.2

4 years ago

2.4.1

4 years ago

2.4.0

4 years ago

2.3.16

4 years ago

2.3.15

4 years ago

2.3.14

4 years ago

2.3.13

4 years ago

2.3.12

4 years ago

2.3.11

4 years ago

2.3.10

4 years ago

2.3.9

4 years ago

2.3.8

4 years ago

2.3.7

4 years ago

2.3.6

4 years ago

2.3.5

4 years ago

2.3.4

4 years ago

2.3.3

4 years ago

2.3.2

4 years ago

2.3.1

4 years ago

2.3.0

4 years ago

2.2.2

4 years ago

2.2.1

4 years ago

2.2.0

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.3.7

4 years ago

1.3.6

4 years ago

1.3.5

4 years ago

1.3.4

4 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.5

4 years ago

0.0.3-alpha.2

5 years ago

0.0.3-alpha.0

5 years ago

0.0.0-alpha.48

5 years ago

0.0.0-alpha.45

5 years ago

0.0.0-alpha.44

5 years ago

0.0.0-alpha.43

5 years ago

0.0.0-alpha.42

5 years ago

0.0.0-alpha.41

5 years ago

0.0.0-alpha.39

5 years ago

0.0.0-alpha.38

5 years ago

0.0.0-alpha.37

5 years ago

0.0.0-alpha.35

5 years ago

0.0.0-alpha.32

5 years ago

0.0.0-alpha.30

5 years ago

0.0.0-alpha.29

5 years ago

0.0.0-alpha.28

5 years ago

0.0.0-alpha.27

5 years ago

0.0.0-alpha.26

5 years ago

0.0.0-alpha.24

5 years ago

0.0.0-alpha.23

5 years ago

0.0.0-alpha.22

5 years ago

0.0.0-alpha.21

5 years ago

0.0.0-alpha.20

5 years ago

0.0.0-alpha.19

5 years ago

0.0.0-alpha.18

5 years ago

0.0.0-alpha.17

5 years ago

0.0.0-alpha.16

5 years ago

0.0.0-alpha.14

5 years ago

0.0.0-alpha.13

5 years ago

0.0.0-alpha.12

5 years ago

0.0.0-alpha.11

5 years ago

0.0.0-alpha.10

5 years ago

0.0.0-alpha.9

5 years ago

0.0.0-alpha.8

5 years ago

0.0.0-alpha.7

5 years ago

0.0.0-alpha.6

5 years ago

0.0.0-alpha.5

5 years ago

0.0.0-alpha.3

5 years ago

0.0.0-alpha.2

5 years ago

0.0.0-alpha.1

5 years ago

1.0.0-alpha.0

5 years ago

0.0.1-alpha.1

5 years ago

0.0.1-alpha.0

5 years ago

0.0.0

5 years ago