{"id":18426181,"url":"https://github.com/wework/plasma","last_synced_at":"2025-06-22T01:35:07.389Z","repository":{"id":9425345,"uuid":"62077112","full_name":"wework/plasma","owner":"wework","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-10T06:05:25.000Z","size":72184,"stargazers_count":48,"open_issues_count":75,"forks_count":11,"subscribers_count":48,"default_branch":"master","last_synced_at":"2025-06-09T13:37:00.818Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-27T18:08:04.000Z","updated_at":"2025-03-06T17:36:46.000Z","dependencies_parsed_at":"2023-01-11T20:12:10.327Z","dependency_job_id":null,"html_url":"https://github.com/wework/plasma","commit_stats":null,"previous_names":[],"tags_count":204,"template":false,"template_full_name":null,"purl":"pkg:github/wework/plasma","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wework%2Fplasma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wework%2Fplasma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wework%2Fplasma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wework%2Fplasma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wework","download_url":"https://codeload.github.com/wework/plasma/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wework%2Fplasma/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261220714,"owners_count":23126798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T05:07:08.860Z","updated_at":"2025-06-22T01:35:02.376Z","avatar_url":"https://github.com/wework.png","language":"JavaScript","readme":"**PLASMA** _by WeWork_\n\nPlasma is a design system for creating sensible, modern interfaces.\n\nComponent docs at http://plasma.guide\n\nStorybook at http://plasma.guide/dev/storybook\n\n---\n\n### IMPORTANT!\n\nSelect and Datepicker components do not work right now. Use `react-select` and datepicker directly in Spacestation.\n\n## Developing with Storybook\n\nRunning Storybook\n\n1. Run the Plasma Webpack dev server: `yarn start`\n2. Run the Storybook server: `yarn storybook`\n3. Go to [http://localhost:6006/](http://localhost:6006/) to view the Storybook\n\nDeveloping with Storybook\n\n1. Follow steps above \"Running Storybook\"\n2. Create a new dev branch: `git checkout -b mybranch`\n3. Add / update as necessary\n4. Add stories to the `stories/` directory as you add / update components!\n\n## Using the styleguide\n\n### Running\n\n1. Run `yarn run styleguide`.\n2. Load up http://0.0.0.0:6060\n\n### Building static version\n\n1. Run `yarn run styleguide:build`\n2. Files output to /styleguide\n\n### Building flow-typed definitions\n\n1. Run `yarn flow:buildTypeDefs`\n\nThis will output flow-typed compatible definitions of Flow types for Plasma. For Spacestation, you likely want to `yarn flow:buildTypeDefs | pbcopy` (if on Mac) and paste the contents to the `plasma_vx.x.x.js` under flow-typed/\n\n### Documenting components\n\n1. Run `./docs/publish.sh` from the root dir. This will update the docs, commit to gh-pages, and push to github (updating http://plasma.guide)\n\nInfo here: https://react-styleguidist.js.org/docs/documenting.html\n\n## Creating a Pull Request / Publishing\n\n### Creating a Pull Request\n\n1. When you're ready, push your branch to Github and create a pull request.\n2. If you've made visual changes, include screenshots.\n3. If you've made implementation changes, run `yarn test:update` to update jest snapshots.\n4. PR will be reviewed\n5. When PR is accepted, it will be merged into master.\n6. (Optional) If you also need to publish a new Plasma version, read that section.\n\n### Publishing to NPM\n\n1.  Create a separate PR or bump the npm version in the feature branch, do not publish from master.\n2.  Run `yarn run pack` to bundle the .js and .css file into `/dist` folder.\n3.  Run `npm version patch`. This will bump the version in package.json and create a new tag and push the tag to Github.\n4.  Make sure you're logged in to NPM via `npm login`. login is in 1password, when prompted for email please use: dev-team@wework.com\n5.  Run `npm publish` from the root directory to publish to NPM registry.\n6.  Check https://www.npmjs.com/~wework-dev to make sure package is updated.\n\n## Developing with Spacestation\n\n### Link Plasma (you only need to do this once)\n\n1. In your terminal, `cd` to local Plasma repo.\n2. Run `yarn link`.\n3. `cd` to local Spacestation repo.\n4. Run `yarn link @wework-dev/plasma`. This creates a symlink in Spacestation's `node_modules/@wework-dev/plasma` folder that points to local Plasma repo.\n5. (Optional) If you need to, you can unlink at any time with `yarn unlink @wework-dev/plasma`\n\n### Developing with Spacestation\n\n1. Create a new Plasma dev branch: `cd /plasma` `git checkout -b mybranch`\n2. Run the Plasma dev server with watch: `yarn watch`\n3. Save any changes in Plasma, webpack should bundle changes in `/dist`\n4. Run Spacestion: `cd /spacestation` `yarn start`\n5. Changes you make in Plasma should automatically be picked up by Spacestation\n6. Follow \"Creating a Pull Request / Publishing\"\n\n## Using a published Plasma version from NPM\n\n1.  Run `yarn add @wework-dev/plasma` in your project.\n2.  Include the Plasma object (or individual components) in your Javascript.\n    Plasma object example:\n\n    ```javascript\n    import Plasma from '@wework-dev/plasma';\n    \u003cPlasma.Button label=\"Click it\" /\u003e;\n    ```\n\n    Individual components example:\n\n    ```javascript\n    import { Button } from '@wework-dev/plasma';\n    \u003cButton label=\"Click it\" /\u003e;\n    ```\n\n## Testing\n\nFor testing, Plasma uses Jest (https://facebook.github.io/jest/) with Enzyme (http://airbnb.io/enzyme/).\n\nTests are located in `src/tests`.\n\nFlow coverage can be checked via `yarn flow:coverage`.\n\n### Running tests\n\n1. Run `yarn test` for a single run or `yarn test:watch` to watch for changes.\n","funding_links":[],"categories":["📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwework%2Fplasma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwework%2Fplasma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwework%2Fplasma/lists"}