Skip to content

Commit

Permalink
docs: add guides
Browse files Browse the repository at this point in the history
  • Loading branch information
guillempuche committed Mar 6, 2024
1 parent b0f1d0b commit 700f536
Show file tree
Hide file tree
Showing 13 changed files with 5,759 additions and 2,576 deletions.
672 changes: 336 additions & 336 deletions .yarn/releases/yarn-4.0.2.cjs → .yarn/releases/yarn-4.1.1.cjs

Large diffs are not rendered by default.

8 changes: 2 additions & 6 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
yarnPath: .yarn/releases/yarn-4.0.2.cjs
enableTelemetry: false

# Yarn Berry's feature PnP node linker isn't supported for React Native.
# Use the traditional `node_modules` folder. Reference: https://yarnpkg.com/features/pnp.
nodeLinker: node-modules

enableGlobalCache: false

enableTelemetry: false
yarnPath: .yarn/releases/yarn-4.1.1.cjs
85 changes: 85 additions & 0 deletions PUBLISH.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Publish The Package

To guide you through committing changes along with bumping the version of the root monorepo's `package.json` (e.g., from `"version": "0.1.2-beta"` to `"0.1.3-beta"`), then publishing a GitHub tag and release, and finally, only npm publishing the package considering the `dist` location in an Nx monorepo, here's a structured approach:

## Version Bumping and Committing Changes

1. **Bump Version in Root `package.json`**

First, manually update the version in the root `package.json` or use a versioning tool compatible with your project setup. Nx offers commands that can help automate this process, but for manual changes, directly edit the `version` field.

2. **Commit Changes**

Utilize the script defined in your `package.json` to lint and then commit your changes using Commitizen for a conventional commit message:

```sh
yarn commit
```

This command will lint your changes and then guide you through creating a conventional commit message.

## Publishing a GitHub Tag and Release

1. **Create a Git Tag**

After committing, create a Git tag corresponding to your new version:

```sh
git tag v0.1.3-beta
```

2. **Push the Tag to GitHub**

Push the tag to GitHub to facilitate tracking versions and potentially automating releases:

```sh
git push origin v0.1.3-beta
```

3. **Create a GitHub Release**

- Navigate to your repository's **Releases** section on GitHub.
- Click on **Draft a new release**.
- Use the tag you've pushed as the target for this release.
- Fill in the release title and description, detailing the changes or improvements made.
- Publish the release.

## NPM Publishing

Since your `dist` directory is located at the root of the Nx monorepo and you wish to publish only a specific package (`@every-layout/react-tamagui`), follow these steps:

1. **Build the Specific Package**

If not already done, build the specific package to ensure the `dist` directory is up to date:

```sh
yarn build
```

2. **Navigate to the Package's Dist Directory**

Change your current working directory to the package's distribution directory within the `dist`:

```sh
cd dist/packages/react-tamagui
```

3. **Publish the Package**

Use npm or Yarn to publish the package. Since your `package.json` within the `dist/packages/react-tamagui` directory already contains `"publishConfig": {"access": "public"}`, you can publish directly:

```sh
npm publish
```

or if you're using Yarn:

```sh
yarn publish
```

## Additional Notes

- Ensure you're logged into npm or Yarn with an account that has permissions to publish under the namespace you're using.
- Review the `npm publish` or `yarn publish` documentation for additional flags or configurations that might be relevant to your specific needs, such as using a tag with `npm publish --tag beta` to publish under a specific distribution tag.
- Automating some of these steps can streamline your workflow. Consider using CI/CD pipelines or Nx capabilities to automate version bumping, tagging, and publishing processes based on conventional commits and other triggers.
34 changes: 34 additions & 0 deletions dist/packages/react-tamagui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Every Layout for React and React Native

This repository implements the principles of [Every Layout](https://every-layout.dev/) in React and React Native, offering a collection of components designed for efficient and responsive layouts.

## Components

- **Box:** Provides padding and border control for its content.
- **Center:** Aligns its child both horizontally and vertically in its parent.
- **Cluster:** Arranges items with a consistent space between them.
- **Cover:** Allows for a full-viewport-height presentation with header and footer.
- **Frame:** Places an item in the center with an optional border.
- **Icon:** An inline element for inserting icons with optional text.
- **Imposter:** Breaks an element out of its container to cover another.
- **Reel:** For horizontally scrolling lists of items.
- **Sidebar:** Creates a main content area with a sidebar.
- **Stack:** Manages vertical spacing between its child elements.
- **Switcher:** Switches between a horizontal and vertical layout depending on the available space.

The Grid isn't implemented because can be built with Tamagui components.

## Usage

Each component is designed with simplicity and flexibility in mind, making it easy to integrate into your existing project. They can be customized with props to fit various design requirements and work seamlessly across web and mobile platforms.

This repo aims to provide developers with a toolkit for creating responsive, consistent layouts with ease, following the Every Layout philosophy.

Feel free to explore, contribute, and raise issues or suggestions to improve these components! 🚀🎨

## Contribute

Requirements:

- Install [Yarn](https://yarnpkg.com/getting-started/install) package manager. Then install all the packages with `yarn add`.
- To make commits, we use run `yarn run commit`. To do so, install `npm install -g commitizen` to so.
4 changes: 2 additions & 2 deletions dist/packages/react-tamagui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "react-tamagui",
"version": "0.0.1",
"name": "@every-layout/react-tamagui",
"version": "0.1.4-beta",
"main": "./src/index.js",
"types": "./index.d.ts",
"publishConfig": {
Expand Down
99 changes: 99 additions & 0 deletions migrations.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
{
"migrations": [
{
"cli": "nx",
"version": "17.3.0-beta.6",
"description": "Updates the nx wrapper.",
"implementation": "./src/migrations/update-17-3-0/update-nxw",
"package": "nx",
"name": "17.3.0-update-nx-wrapper"
},
{
"cli": "nx",
"version": "18.0.0-beta.2",
"description": "Updates .env to disabled adding plugins when generating projects in an existing Nx workspace",
"implementation": "./src/migrations/update-18-0-0/disable-crystal-for-existing-workspaces",
"x-repair-skip": true,
"package": "nx",
"name": "18.0.0-disable-adding-plugins-for-existing-workspaces"
},
{
"cli": "nx",
"version": "17.2.6-beta.1",
"description": "Rename workspace rules from @nx/workspace/name to @nx/workspace-name",
"implementation": "./src/migrations/update-17-2-6-rename-workspace-rules/rename-workspace-rules",
"package": "@nx/eslint-plugin",
"name": "update-17-2-6-rename-workspace-rules"
},
{
"version": "17.2.9",
"description": "Move executor options to target defaults",
"implementation": "./src/migrations/update-17-2-9/move-options-to-target-defaults",
"package": "@nx/eslint",
"name": "move-options-to-target-defaults"
},
{
"cli": "nx",
"version": "18.0.0-beta.0",
"description": "Add NX_MF_DEV_SERVER_STATIC_REMOTES to inputs for task hashing when '@nx/webpack:webpack' is used for Module Federation.",
"factory": "./src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults",
"package": "@nx/react",
"name": "add-module-federation-env-var-to-target-defaults"
},
{
"version": "17.3.0-beta.0",
"description": "Move the vitest coverage thresholds in their own object if exists and add reporters.",
"implementation": "./src/migrations/update-17-3-0/vitest-coverage-and-reporters",
"package": "@nx/vite",
"name": "vitest-coverage-and-reporters"
},
{
"cli": "nx",
"version": "18.0.0-beta.0",
"description": "Add web configuration to react native projects",
"implementation": "./src/migrations/update-18-0-0/add-web-configuration",
"package": "@nx/react-native",
"name": "update-18-0-0-add-web-configuration"
},
{
"cli": "nx",
"version": "18.0.0-beta.0",
"description": "Upgrade react native storybook target to use web",
"implementation": "./src/migrations/update-18-0-0/change-storybook-targets",
"package": "@nx/react-native",
"name": "update-18-0-0-change-storybook-targets"
},
{
"cli": "nx",
"version": "18.0.0-beta.0",
"description": "Remove blockList in metro.config.js.",
"implementation": "./src/migrations/update-18-0-0/remove-block-list",
"package": "@nx/react-native",
"name": "update-18-0-0-remove-block-list"
},
{
"cli": "nx",
"version": "18.0.0-beta.0",
"description": "Remove metro-* and @react-native-community/cli-* from package.json devDependencies",
"implementation": "./src/migrations/update-18-0-0/remove-metro",
"package": "@nx/react-native",
"name": "update-18-0-0-remove-metro"
},
{
"cli": "nx",
"version": "18.0.0-beta.0",
"description": "Remove ensure-symlink target",
"implementation": "./src/migrations/update-18-0-0/remove-symlink-target",
"package": "@nx/react-native",
"name": "update-18-0-0-remove-symlink-target"
},
{
"cli": "nx",
"version": "18.0.0-beta.0",
"description": "Add upgrade target to react native projects",
"implementation": "./src/migrations/update-18-0-0/add-upgrade-target",
"package": "@nx/react-native",
"name": "update-18-0-0-add-upgrade-target"
}
]
}
34 changes: 6 additions & 28 deletions nx.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,24 +27,15 @@
},
"release": {
"releaseTagPattern": "{version}",
"git": {
"commit": true,
"tag": true
},
"changelog": {
"interactive": true,
"git": {
"commit": true,
"tag": true
},
"workspaceChangelog": {
"createRelease": "github",
"file": false
"createRelease": "github"
},
"projectChangelogs": true
"interactive": true
},
"groups": {
"npm": {
"otp": "123456",
"projects": [
"react-tamagui"
],
Expand All @@ -53,23 +44,10 @@
"packageRoot": "dist/packages/{projectName}",
"currentVersionResolver": "registry"
}
}
},
"verbose": true
}
}
},
"pluginsConfig": {
"@nx/js": {
"analyzeSourceFiles": true
}
},
"generators": {
"@nx/react": {
"application": {
"babel": true
},
"library": {
"unitTestRunner": "none"
}
}
}
"nxCloudAccessToken": "ZDMzNjU0YzUtYzZkMy00MDBhLWJlNmQtODNjNDQ1OGYyMDc0fHJlYWQtd3JpdGU="
}
Loading

0 comments on commit 700f536

Please sign in to comment.