1
0
Fork 0
The Node version of Pattern Lab
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Josef Bredreck ef8fb7dbd3 [skip travis] chore(release): publish v5.16.2 6 months ago
.github chore: corrected some hyperlinks (#1403) 7 months ago
.husky refactor: updated even further dependencies (#1320) 7 months ago
.vscode feat(vs-code): added recommendations (#1375) 9 months ago
packages [skip travis] chore(release): publish v5.16.2 6 months ago
.autorc chore: add auto release plugin to auto-tag PRs that are part of the release 2 years ago
.editorconfig feat: ensure consistent line endings across files (#1372) 9 months ago
.eslintignore fix: updates to fix eslint / prettier issues; update packages/core to reuse root .eslintrc.js file 3 years ago
.eslintrc.js fix: updates to fix eslint / prettier issues; update packages/core to reuse root .eslintrc.js file 3 years ago
.gitattributes feat: ensure consistent line endings across files (#1372) 9 months ago
.gitignore feat(vs-code): added recommendations (#1375) 9 months ago
.npmignore fix(package): Update gitignore and npmignore with current files 5 years ago
.npmrc feat(package): add npmrc to top-level 4 years ago
.nvmrc refactor: slightly increased the minimum node version (#1358) 10 months ago
.prettierignore chore: ignore annotation files from prettier 3 years ago
.prettierrc refactor: updated depencencies regarding prettier (#1307) 1 year ago
.travis.yml feat: switch to Yarn + Yarn workspaces 3 years ago
CHANGELOG.md [skip travis] chore(release): publish v5.16.2 6 months ago
CODEOWNERS chore(repo): retires Raphael from active involvement (#1258) 2 years ago
CODE_OF_CONDUCT.md chore: corrected some hyperlinks (#1403) 7 months ago
CUTTING_A_RELEASE.md Update CUTTING_A_RELEASE.md 2 years ago
LICENSE chore: corrected some hyperlinks (#1403) 7 months ago
README.md docs: aligning and describing our Node support policy (#1411) 7 months ago
babel.config.js fix: updates to fix eslint / prettier issues; update packages/core to reuse root .eslintrc.js file 3 years ago
lerna.json [skip travis] chore(release): publish v5.16.2 6 months ago
netlify.toml feat(docs): yarnify 2 years ago
package.json refactor: updated even further dependencies (#1320) 7 months ago
patternlab.png once more with feeling 5 years ago
yarn.lock refactor: updated markdown-it dependency (#1424) 6 months ago

README.md

Pattern Lab Logo

Pattern Lab

This monorepo contains the core of Pattern Lab / Node and all related engines, UI kits, plugins and utilities. Pattern Lab helps you and your team build thoughtful, pattern-driven user interfaces using atomic design principles.

If you'd like to see what a front-end project built with Pattern Lab looks like, check out this online demo of Pattern Lab output.

Continuous Integration CodeQL current release license Coverage Status code style: prettier node (scoped) Join the chat at Gitter Join the chat at Discord

Docs @ Netlify Status

Pattern Lab Preview @ Netlify Status

Using Pattern Lab

Refer to the core usage guidelines

Installation

As of Pattern Lab Node 3.0.0, installation of Editions is accomplished via the command line interface.

The below assumes a new directory and project is required. This is likely what you want to do if starting from scratch. You could also run this within an existing project. The CLI will ask you for the installation location.

  1. Open a terminal window and following along below:
    mkdir new-project
    cd new-project
    npm create pattern-lab
    

    If you get an error stating that npx is not installed, ensure you are on npm 5.2.0 or later by running npm -v or install it globally with npm install -g npx. Learn more about npx.

  2. Follow the on-screen prompts to choose your Edition and a Starterkit should you want one.
  • If you chose edition-node, new commands in the "scripts" will be added in your package.json.
  • If you chose edition-node-gulp, a gulpfile.js will be added to your project.

Notice that @pattern-lab/cli was installed as a depdendency. Learn how to further use the cli in your own project.

Ecosystem

Pattern Lab Ecosystem

Core, and Editions, are part of the Pattern Lab Ecosystem. With this architecture, we encourage people to write and maintain their own Editions, Starterkits, and even PatternEngines.

Changelog

Each package within this monorepo has its own changelog. Below are the main ones to watch:

Support for Pattern Lab

Pattern Lab / Node wouldn't be what it is today without the support of the community. It will always be free and open source. Continued development is made possible in part from the support of contributors.

Thanks to Netlify for build tooling and hosting.

Node Support Policy

We only support actively maintained versions of Node.

We specifically limit our support to maintenance versions of Node, not because this package won't work on other versions, but because we have a limited amount of time, and supporting the oldest maintenance offers the greatest return on that investment while still providing the lowest standard level for installations on any possible actively maintained environment out there.

This package may work correctly on newer versions of Node. It may even be possible to use this package on older versions of Node. However, that's more unlikely as we'll make every effort to take advantage of features available in the oldest maintenance Node version we support.

As each Node maintenance version reaches its end-of-life, we will replace that version from the node engines property of our package's package.json file with the newer oldest one. As this replacement would be considered a breaking change, we will publish a new major version of this package. We will not accept any requests to support an end-of-life version of Node. Any merge requests or issues supporting an end-of-life version of Node will be closed.

And we might even update the minor and patch version of that supported maintenance Node version regularly, without making this a breaking change than as it should be in everybody's interest even also to follow this concept of using patched software as their development system basis, especially on those older Node versions.

We will accept code that allows this package to run on newer, non-maintenance versions of Node. Furthermore, we will attempt to ensure our changes work on the latest version of Node. To help in that commitment, we even test that out by ourselves and get feedback from the community regularly regarding all LTS versions of Node and the most recent Node release called current.

JavaScript package managers like e.g. NVM should allow you to install this package with any version of Node, with, at most, a warning if your version of Node does not fall within the range specified by our node engines property. If you encounter issues installing this package, please report the issue to your package manager.

This policy has been adapted from https://github.com/conventional-changelog/conventional-changelog#node-support-policy.

Contributing

Refer to the contribution guidelines.