-
Notifications
You must be signed in to change notification settings - Fork 27.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor: merge turbopack crates into next.js (#68127)
# Warning: DO NOT squash merge ### What? Moves all turbopack crates (and a few js packages) into the next.js repo. ### Why? https://vercel.com/blog/turbopack-moving-homes ### How? `git-filter-repo` https://github.com/newren/git-filter-repo (better than filter-branch) and `git subtree` See: https://github.com/vercel/next-turbo-merge Short version: ```bash git clone git@github.com:vercel/next.js.git --filter=blob:none --no-tags --single-branch --branch canary "$NEXT_DIR" git --git-dir="$NEXT_DIR/.git" remote add --fetch --track main --no-tags turbo git@github.com:vercel/turbo git switch -C hrmny/turbopack-staging turbo/main --no-track git filter-repo --force --refs hrmny/turbopack-staging \ --path crates/ \ --path xtask/ \ --path packages/devlow-bench/ \ --path packages/node-file-trace/ \ --path packages/node-module-trace/ \ --path packages/turbo-pack/ \ --path packages/turbo-tasks/ \ --path packages/turbo-tasks-examples/ \ --path packages/turbo-tasks-fs/ \ --path packages/turbo-tasks-macros/ \ --path packages/turbo-tracing-next-plugin/ \ --path packages/webpack-nmt/ git filter-repo --force --refs hrmny/turbopack-staging \ --path-glob 'crates/turborepo*' --invert-paths git filter-repo --refs hrmny/turbopack-staging --commit-callback ' commit.message = re.sub(b"(^|\\(| )(#\\d\\d\\d\\d)(\\)| |\\r|$)", b"\\1vercel/turbo\\2\\3", commit.message, flags=re.MULTILINE) ' git gc git switch -C hrmny/merge-turbopack origin/canary --no-track git subtree add -P turbopack hrmny/turbopack-staging ``` Closes PACK-3163 # Conflicts: # .eslintignore # .eslintrc.cli.json # Cargo.lock # Cargo.toml # package.json # packages/next/package.json # pnpm-lock.yaml
- Loading branch information
1 parent
6025659
commit 80f7fd9
Showing
2,359 changed files
with
399,416 additions
and
472 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
42 changes: 42 additions & 0 deletions
42
.config/ast-grep/rule-tests/__snapshots__/no-context-snapshot.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
id: no-context | ||
snapshots: | ||
'fn foo(context: ChunkingContext) -> u32 { 5 };': | ||
labels: | ||
- source: context | ||
style: primary | ||
start: 7 | ||
end: 14 | ||
- source: 'context: ChunkingContext' | ||
style: secondary | ||
start: 7 | ||
end: 31 | ||
foo(|context| context): | ||
labels: | ||
- source: context | ||
style: primary | ||
start: 5 | ||
end: 12 | ||
- source: '|context|' | ||
style: secondary | ||
start: 4 | ||
end: 13 | ||
let context = ChunkingContext::new();: | ||
labels: | ||
- source: context | ||
style: primary | ||
start: 4 | ||
end: 11 | ||
- source: let context = ChunkingContext::new(); | ||
style: secondary | ||
start: 0 | ||
end: 37 | ||
'struct Foo { context: Context };': | ||
labels: | ||
- source: context | ||
style: primary | ||
start: 13 | ||
end: 20 | ||
- source: 'context: Context' | ||
style: secondary | ||
start: 13 | ||
end: 29 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
id: no-context | ||
valid: | ||
- 'let chunking_context = ChunkingContext::new();' | ||
- 'struct Foo { chunking_context: Context };' | ||
- 'foo(|chunking_context| context)' | ||
- 'fn foo(chunking_context: ChunkingContext) -> u32 { 5 };' | ||
invalid: | ||
- 'let context = ChunkingContext::new();' | ||
- 'struct Foo { context: Context };' | ||
- 'foo(|context| context)' | ||
- 'fn foo(context: ChunkingContext) -> u32 { 5 };' |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
id: no-context | ||
message: Don't name variables `context`. | ||
note: Use a more specific name, such as chunking_context, asset_context, etc. | ||
severity: error | ||
language: Rust | ||
rule: | ||
regex: \bcontext\b | ||
any: | ||
- all: | ||
- inside: | ||
any: | ||
- kind: closure_parameters | ||
- kind: parameter | ||
- kind: function_item | ||
- kind: let_declaration | ||
- kind: identifier | ||
- all: | ||
- kind: field_identifier | ||
- inside: | ||
kind: field_declaration | ||
ignores: | ||
- './crates/turbopack-css/**' | ||
- './crates/turbopack-dev-server/**' | ||
- './crates/turbopack-browser/**' | ||
- './crates/turbopack-ecmascript-hmr-protocol/**' | ||
- './crates/turbopack-ecmascript-plugins/**' | ||
- './crates/turbopack-ecmascript-runtime/**' | ||
- './crates/turbopack-json/**' | ||
- './crates/turbopack-mdx/**' | ||
- './crates/turbopack-node/**' | ||
- './crates/turbopack-static/**' | ||
- './crates/turbopack-tests/**' | ||
- './crates/turbopack/**' | ||
- './crates/turborepo-cache/**' | ||
- './crates/turborepo-scm/**' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
[profile.tp-test-linux.junit] | ||
path = "junit.xml" | ||
report-name = "Turbopack tests (Linux)" | ||
store-success-output = true | ||
store-failure-output = true | ||
|
||
[profile.tp-test-mac.junit] | ||
path = "junit.xml" | ||
report-name = "Turbopack tests (Mac)" | ||
store-success-output = true | ||
store-failure-output = true | ||
|
||
[profile.tp-test-win.junit] | ||
path = "junit.xml" | ||
report-name = "Turbopack tests (Windows)" | ||
store-success-output = true | ||
store-failure-output = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{ | ||
"$schema": "https://json.schemastore.org/eslintrc", | ||
"extends": [".eslintrc.json"], | ||
"overrides": [ | ||
{ | ||
// This override adds type-checked rules. | ||
"files": ["**/*.ts", "**/*.tsx"], | ||
// Linting with type-checked rules is very slow and needs a lot of memory, | ||
// so we exclude non-essential files. | ||
"excludedFiles": [ | ||
"examples/**/*", | ||
"test/**/*", | ||
"**/*.d.ts", | ||
"turbopack/**/*" | ||
], | ||
"parserOptions": { | ||
"project": true | ||
}, | ||
"rules": { | ||
// TODO: enable in follow-up PR | ||
"@typescript-eslint/no-floating-promises": "off" | ||
} | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
name: Turbopack Rust testing benchmarks | ||
on: | ||
workflow_call: | ||
inputs: | ||
runner: | ||
type: string | ||
default: '["self-hosted", "linux", "x64", "metal"]' | ||
os: | ||
type: string | ||
default: 'linux' | ||
all: | ||
type: boolean | ||
default: false | ||
|
||
env: | ||
TURBOPACK_BENCH_COUNTS: '100' | ||
TURBOPACK_BENCH_PROGRESS: '1' | ||
|
||
NODE_LTS_VERSION: 20 | ||
|
||
jobs: | ||
test: | ||
name: Test | ||
runs-on: ${{ fromJSON(inputs.runner) }} | ||
steps: | ||
- name: Set git to use LF | ||
run: | | ||
git config --global core.autocrlf false | ||
git config --global core.eol lf | ||
if: inputs.os == 'windows' | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Rust | ||
uses: ./.github/actions/setup-rust | ||
|
||
- name: Setup node | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: ${{ env.NODE_LTS_VERSION }} | ||
check-latest: true | ||
- run: corepack enable | ||
|
||
- name: Build benchmarks for tests | ||
timeout-minutes: 120 | ||
run: | | ||
cargo test --benches --workspace --release --no-fail-fast --exclude turbopack-bench --exclude next-swc-napi --no-run | ||
- name: Run cargo test on benchmarks | ||
timeout-minutes: 120 | ||
run: | | ||
cargo test --benches --workspace --release --no-fail-fast --exclude turbopack-bench --exclude next-swc-napi | ||
- name: Build benchmarks for tests for other bundlers | ||
if: inputs.all | ||
timeout-minutes: 120 | ||
run: | | ||
cargo test --benches --release -p turbopack-bench --no-run | ||
- name: Run cargo test on benchmarks for other bundlers | ||
if: inputs.all | ||
timeout-minutes: 120 | ||
run: | | ||
cargo test --benches --release -p turbopack-bench |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.