Skip to content

Commit

Permalink
Merge pull request #1238 from massgov/release/10.0.0
Browse files Browse the repository at this point in the history
Release 10.0.0
  • Loading branch information
clairesunstudio authored Oct 27, 2020
2 parents bee91cb + 751ad07 commit c846291
Show file tree
Hide file tree
Showing 5,403 changed files with 114,366 additions and 145,669 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
180 changes: 98 additions & 82 deletions .circleci/config.yml

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Don't allow people to merge changes to these generated files, because the result
# may be invalid. You need to run "rush update" again.
pnpm-lock.yaml merge=binary
shrinkwrap.yaml merge=binary
npm-shrinkwrap.json merge=binary
yarn.lock merge=binary

# Rush's JSON config files use JavaScript-style code comments. The rule below prevents pedantic
# syntax highlighters such as GitHub's from highlighting these comments as errors. Your text editor
# may also require a special configuration to allow comments in JSON.
#
# For more information, see this issue: https://github.com/microsoft/rushstack/issues/1088
#
*.json linguist-language=JSON-with-Comments
78 changes: 68 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,68 @@
# Ignore OSX system file
.DS_Store

# Dependency directories
node_modules

.env

# Distribution folder
dist
# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
#bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

# next.js build output
.next

# OS X temporary files
.DS_Store

# Rush temporary files
common/deploy/
common/temp/
common/autoinstallers/*/.npmrc
**/.rush/temp/

# Distribution folder
dist
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v12.18.0
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,31 @@
# Mayflower Release Notes
All notable changes to this project will be documented in this file.

## 10.0.0 (10/27/2020)
### Changed
- (React) [RichText] DP-17982: Refactor RichText component to render raw HTML without `dangerouslySetInnerHTML`. (#1006)
- (React) [TeaserListing] DP-18263: Refactor TeaserListing and convert it to a composition component. (#1050)
- (React) [Icon] DP-19414: Icon has been refactored from one component into many icon components. Each .svg icon file is now generated into its own React component at build time with SVGR and SVG Sprite Loader is no longer used. (#1123)
- (React, Assets) [FooterSlim] DP-19539: Allow adding multiple logos, added `stackedLogo` prop to support multiple logo layout. (#1149)
- (React) [HeaderSlim] DP-19541: Extend HeaderSlim component to allow passing in custom components/HTML elements into the utility nav (blue bar) and the main header area, providing basic layout and styles. (#1207)
- (Assets) [Fonts] DP-20050: Switch fonts from Texta to Noto Sans, removed fallback fonts and added language support. (#1193)
- (Patternlab) [ResponsiveTable] DP-20241: Remove extra space above the sticky table header. (#1226)
- (React) [NPM package] DP-18263: Removed NWB package and replaced its usage with gulp. Combined lib(es5) and es(es6) directory in dist, and added Webpack/Babel aliases to flatten the structure of the mayflower-react published package. Removed storybook specific data from published package. Cleaned up all component styles in mayflower-react to rely on mayflower-assets peer dependency. (#1039)
- (React, Patternlab, Assets, Site) [NPM package] Restructure mono repo — group all projects under packages folder. Use rush and pnpm to manage and share dependencies. (#1195)

### Removed
- (React) [PressTeaser] DP-18263: Remove PressTeaser molecule from mayflower-react npm package. (#1049)
- (React) [GeneralTeaser, Teaser] DP-18263: Remove GeneralTeaser and Teaser organisms from mayflower-react npm package. (#1050)

### Fixed
- (React) [FooterSlim] DP-19539: Use address html tag for contact info in footer. (#1149)
- (React) [FooterSlim] DP-19539: Removed mommentJS import. (#1149)

### Added
- (Assets) [Fonts] DP-20050: Added `$fonts-enable-rtl` global variable to allow setting direction to "right-to-left" for languages like Arabic, Persian, Urdu and Hebrew. (#1193)
- (Assets) [Fonts] DP-20050: Added `$fonts-langs-support` global variable to conditionally load and render additional fonts for language support. (#1193)
- (Assets) [Fonts] DP-20050: Added `$fonts-display-global` global variable to control the custom fonts download and render behavior. (#1193)

## 9.56.0 (10/19/2020)
### Changed
- (Patternlab) [Header] DP-17154: Change the label of the hamburger menu button on mobile width. (#1099)
Expand Down
71 changes: 71 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,77 @@ This project is licensed under the is licensed under the GNU General Public Lice
[react-npm-badge]: https://img.shields.io/npm/v/@massds/mayflower-react.png
[npm]: https://www.npmjs.com/package/@massds/mayflower-react

## Monorepo Package Management
This monorepo is managed using [Rush](https://rushjs.io/) and [PNPM](https://pnpm.js.org/).
#### Getting Started on Development
To get started, install rush globally by running the following command:
```
npm install -g @microsoft/rush
```

Once installed, run `rush install`. This will install pnpm and each package's dependencies on disk and symlink together all local packages that depend on one another.

To start developing mayflower react:
- `rush start:react`

To start developing mayflower patternlab:
- `rush start:patternlab`

To start developing mayflower site:
- `cd packages/react && rushx build` (build local @massds/mayflower-react)
- `rush start:site`

#### Monorepo Structure
All uses of `npm` or `yarn` have been replaced by `rushx`. `rushx` uses `pnpm run` behind the scenes to execute scripts within a package. For the moment, the following are defined as packages for the mayflower monorepo:

- Mayflower Assets (located under `packages/assets/`)
- Mayflower React (located under `packages/react/`)
- Mayflower Artifacts (located under `packages/patternlab/styleguide/`)
- `packages/site/`
```
// Mayflower monorepo
├── docs
├── packages
| ├── assets *
| | ├── scss
| | └── static
| | ├── fonts
| | └── images
| ├── patternlab
| | └── styleguide *
| ├── react *
| └── site *
```

Each packages' dependencies from npm are installed using Rush's cli tools. When using `rush install`, rush will use `pnpm install` behind the scenes within each package's directories. Each dependency is actually installed in a directory (.pnpm) located in your home directory and hardlinked to within Rush's internal temporary store at `common/temp/`. Each dependency of a package located under `<package-name>/node_modules/` is actually a hard symlink to rush's own temporary store at `common/temp/`.

Rush configuration is stored in the root directory as `rush.json`.

Each package also no longer uses package-lock.json or yarn.lock. Instead, a single pnpm-lock.yaml file is made under `common/temp/` which is created/updated when running rush commands.

Rush also either symlinks (by default) or local installs a copy of every package that uses one another from the monorepo. An example of this is Mayflower React. Mayflower React depends on Mayflower Assets, so under Mayflower React's `node_modules/` there is a symlink that points directly to the location of Mayflower Assets on disk instead of the rush temporary store under `common/temp/`.

#### Useful Commands

- `rush install` - Use this to install dependencies for all packages.
- `rush update` - Use this after updating rush/pnpm configurations.
- `rush build` - Use this to make production builds for all packages.
- `rush add` - Use this to add a new dependency to a package.
- To add a dependency for a package, `cd` into the specific package directory and run `rush add --package "example@^1.2.3"`

> For more rush commands, see the [rush command documentation](https://rushjs.io/pages/commands/rush_add/).
#### Other Commands
When needing to run other commands for a package (such as starting up development mode), use `rushx` instead of `npm` or `yarn` in the package directory. For example, to run development mode for react, instead of using `npm run start`, move to the `packages/react/` direction and use `rushx start`.

### Custom Commands
Custom commands for rush are defined within `common/config/rush/command-line.json`. The following custom commands exist:
- `rush start:react` - Starts storybook in development mode for Mayflower React.
- `rush start:patternlab` - Starts patternlab in development mode for Mayflower Artifacts
- `rush start:site` - Starts gatsby in development mode for `packages/site`.

> For more information on custom commands see the [Rush custom commands documentation](https://rushjs.io/pages/maintainer/custom_commands/).
## Continuous Integration using CircleCI
By default, each push to a remote branch will trigger build and tests for React Storybook and Patternlab, deploy the Patternlab site build bundle to S3, as well as run the distribution build for the mayflower-tokens package in the [assets](/assets) folder.
Expand Down
1 change: 0 additions & 1 deletion assets/.stylelintignore

This file was deleted.

58 changes: 0 additions & 58 deletions assets/README.md

This file was deleted.

Binary file removed assets/fonts/texta-black-webfont.eot
Binary file not shown.
Loading

0 comments on commit c846291

Please sign in to comment.