Skip to content

Commit 5b673ef

Browse files
authored
Merge pull request #10645 from remix-run/remix-the-web
Import history from remix-the-web
2 parents 3e2216d + f1c20f2 commit 5b673ef

File tree

211 files changed

+18243
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+18243
-0
lines changed

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# This is needed to publish GitHub Releases
2+
GITHUB_TOKEN=your_github_token

.github/workflows/build.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
on:
2+
# Re-enable this once we land v3 in main/dev
3+
# push:
4+
# branches:
5+
# - 'v3'
6+
# Update this once we land v3 in main/dev
7+
pull_request:
8+
branches:
9+
- 'v3'
10+
11+
jobs:
12+
build-and-test:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- uses: pnpm/action-setup@v4
20+
name: Install pnpm
21+
with:
22+
run_install: false
23+
24+
- name: Install Node.js
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: 22
28+
cache: pnpm
29+
30+
- name: Install dependencies
31+
run: pnpm install
32+
33+
- name: Build packages
34+
run: pnpm build
35+
36+
- name: Run tests
37+
run: pnpm test

.github/workflows/publish.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
on:
2+
# Re-enable this once we land v3 in main
3+
# push:
4+
# tags:
5+
# - '[a-z]+@[0-9]+.[0-9]+.[0-9]+'
6+
# - '[a-z]+-[a-z]+@[0-9]+.[0-9]+.[0-9]+'
7+
# - '[a-z]+-[a-z]+-[a-z]+@[0-9]+.[0-9]+.[0-9]+'
8+
# For now, just do this manually
9+
workflow_dispatch:
10+
jobs:
11+
release:
12+
runs-on: ubuntu-latest
13+
14+
permissions:
15+
contents: write # Required for publishing the GitHub release.
16+
id-token: write # The OIDC ID token is used for authentication with JSR.
17+
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v4
21+
22+
- uses: pnpm/action-setup@v4
23+
name: Install pnpm
24+
with:
25+
run_install: false
26+
27+
- name: Install Node.js
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version: 22
31+
registry-url: https://registry.npmjs.org
32+
cache: pnpm
33+
34+
- name: Install dependencies
35+
run: pnpm install
36+
37+
- name: Publish
38+
run: pnpm publish-release-ci ${{ github.ref_name }}
39+
env:
40+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
**/dist/
2+
**/node_modules/
3+
4+
**/*.tsbuildinfo
5+
6+
.env

.prettierrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
printWidth: 100
2+
semi: true
3+
singleQuote: true
4+
useTabs: false

.vscode/settings.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"deno.enablePaths": ["./packages/multipart-parser/examples/deno"],
3+
"nodejs-testing.extensions": [
4+
{
5+
"extensions": ["ts"],
6+
"parameters": ["--experimental-strip-types", "--disable-warning=ExperimentalWarning"]
7+
}
8+
],
9+
"typescript.tsdk": "./node_modules/typescript/lib"
10+
}

.vscode/task.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"version": "0.1.0",
3+
"command": "./node_modules/.bin/tsc",
4+
"args": ["-v"],
5+
"echoCommand": true
6+
}

CONTRIBUTING.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
Welcome to `remix-the-web`! We're excited to have you contribute.
2+
3+
This guide will help you get started.
4+
5+
## Setting Up Your Environment
6+
7+
To get started, you'll need `pnpm`. If you don't have it yet, you can [install `pnpm` here](https://pnpm.io/installation).
8+
9+
If you're using [VS Code](https://code.visualstudio.com/), we recommend installing the [`node:test runner` extension](https://marketplace.visualstudio.com/items?itemName=connor4312.nodejs-testing) for a smooth testing experience.
10+
11+
Once that's set up, run `pnpm install` to get all the project dependencies. You can then run `pnpm build` to build the project and `pnpm test` to run all tests.
12+
13+
## Making Changes
14+
15+
All our packages live in the [`packages` directory](https://github.com/mjackson/remix-the-web/tree/main/packages). At a minimum, each package typically includes:
16+
17+
- `CHANGELOG.md`: A log of what's changed.
18+
- `package.json`: Package metadata and dependencies.
19+
- `README.md`: Information about the package.
20+
21+
When you make changes to a package, please make sure you add a few relevant tests and run the whole test suite to make sure everything still works. Then, add a human-friendly description of your change in the changelog and [make a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request). We will take a look at it as soon as we can.
22+
23+
## Releases
24+
25+
Cutting releases is a 2-step process:
26+
27+
- Update versions in package.json, jsr.json (if applicable), and the changelog and create a git tag
28+
- Publish new packages to npm/JSR and create a GitHub Release
29+
30+
This repo includes a script for each step.
31+
32+
To update versions and create a tag, use `pnpm run tag-release <packageName> <releaseType>`. For example, to create a `minor` release of the `headers` package, run:
33+
34+
```sh
35+
pnpm run tag-release headers minor
36+
```
37+
38+
To publish the release you just tagged, use `pnpm run publish-release <tag>`. For example, if the tag that was created in the previous step was `[email protected]`, you'd run `pnpm run publish-release [email protected]`.
39+
40+
The publish step runs in GitHub Actions if you just push the tag to GitHub:
41+
42+
```sh
43+
git push origin main --tags
44+
```

package.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"name": "remix-the-web",
3+
"private": true,
4+
"packageManager": "[email protected]",
5+
"devDependencies": {
6+
"prettier": "^3.3.3",
7+
"typescript": "^5.7.2"
8+
},
9+
"engines": {
10+
"node": ">=22"
11+
},
12+
"scripts": {
13+
"build": "pnpm -r build",
14+
"clean": "git clean -fdX .",
15+
"publish-release": "node --env-file .env ./scripts/publish-release.js",
16+
"publish-release-ci": "node ./scripts/publish-release.js",
17+
"tag-release": "node ./scripts/tag-release.js",
18+
"test": "pnpm -r --workspace-concurrency 1 test"
19+
},
20+
"workspaces": [
21+
"packages/*"
22+
],
23+
"pnpm": {
24+
"onlyBuiltDependencies": [
25+
"@swc/core",
26+
"esbuild",
27+
"workerd"
28+
]
29+
}
30+
}

packages/fetch-proxy/CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# `fetch-proxy` CHANGELOG
2+
3+
This is the changelog for [`fetch-proxy`](https://github.com/mjackson/remix-the-web/tree/main/packages/fetch-proxy). It follows [semantic versioning](https://semver.org/).
4+
5+
## v0.2.0 (2024-11-14)
6+
7+
- Added CommonJS build
8+
9+
## v0.1.0 (2024-09-12)
10+
11+
- Initial release

0 commit comments

Comments
 (0)