first commit
Some checks failed
Test examples / Test Examples (20) (push) Has been cancelled
Test examples / Test Examples (22) (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
Trigger Release / start (push) Has been cancelled
Stale issue handler / stale (push) Has been cancelled
Update Font Data / create-pull-request (push) Has been cancelled
build-and-deploy / deploy-target (push) Has been cancelled
build-and-deploy / build (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / build-wasm (nodejs) (push) Has been cancelled
build-and-deploy / build-wasm (web) (push) Has been cancelled
build-and-deploy / Deploy preview tarball (push) Has been cancelled
build-and-deploy / Potentially publish release (push) Has been cancelled
build-and-deploy / publish-turbopack-npm-packages (push) Has been cancelled
build-and-deploy / Deploy examples (push) Has been cancelled
build-and-deploy / thank you, build (push) Has been cancelled
build-and-deploy / Upload Turbopack Bytesize metrics to Datadog (push) Has been cancelled
Rspack Next.js development integration tests / Rspack integration tests (push) Has been cancelled
Rspack Next.js production integration tests / Rspack integration tests (push) Has been cancelled
Turbopack Next.js development integration tests / Next.js integration tests (push) Has been cancelled
Turbopack Next.js production integration tests / Next.js integration tests (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack development test manifest (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack production test manifest (push) Has been cancelled
Upload bundler test manifests to areweturboyet.com / Upload test results (push) Has been cancelled
Update React / create-pull-request (push) Has been cancelled
test-e2e-project-reset-cron / reset-test-project (push) Has been cancelled
Notify about the top 15 issues/PRs/feature requests (most reacted) in the last 90 days / run (push) Has been cancelled

This commit is contained in:
Arian Tron
2026-03-10 19:37:31 +03:30
commit 61f56f997c
27684 changed files with 2784175 additions and 0 deletions

View File

@@ -0,0 +1 @@
Hello World

View File

@@ -0,0 +1,8 @@
import { ReactNode } from 'react'
export default function Root({ children }: { children: ReactNode }) {
return (
<html>
<body>{children}</body>
</html>
)
}

View File

@@ -0,0 +1,17 @@
// @ts-expect-error -- ignore
import { v } from '@/test.mdx?test=hi'
// @ts-expect-error -- ignore
import reversed from './data.txt?reverse'
// @ts-expect-error -- ignore
import upper from './data.txt?upper'
export default function Page() {
console.log(v)
return (
<div>
<p>hello world</p>
<p id="reversed">{reversed}</p>
<p id="upper">{upper}</p>
</div>
)
}

View File

@@ -0,0 +1 @@
## Hello World

View File

@@ -0,0 +1,49 @@
const path = require('path')
/** @type {import('next').NextConfig} */
const nextConfig = {
turbopack: {
rules: {
'*.mdx': {
loaders: [require.resolve('./test-file-loader.js')],
as: '*.js',
},
'*.txt': [
{
condition: { query: '?reverse' },
loaders: [require.resolve('./reverse-loader.js')],
as: '*.js',
},
{
condition: { query: /\?upper/ },
loaders: [require.resolve('./upper-loader.js')],
as: '*.js',
},
],
},
resolveAlias: {
'@/*': './app/*',
},
},
webpack(config) {
config.module.rules.push({
test: /\.mdx/,
use: require.resolve('./test-file-loader.js'),
})
config.module.rules.push({
resourceQuery: '?reverse',
use: require.resolve('./reverse-loader.js'),
})
config.module.rules.push({
resourceQuery: /\?upper/,
use: require.resolve('./upper-loader.js'),
})
config.resolve.alias = {
...config.resolve.alias,
'@': path.resolve(__dirname, 'app'),
}
return config
},
}
module.exports = nextConfig

View File

@@ -0,0 +1,4 @@
module.exports = function reverseLoader(source) {
const reversed = source.split('').reverse().join('')
return `export default ${JSON.stringify(reversed)}`
}

View File

@@ -0,0 +1,4 @@
module.exports = function loader(code) {
console.log('resource query: ', this.resourceQuery)
return 'export const v = "anything"'
}

View File

@@ -0,0 +1,4 @@
module.exports = function upperLoader(source) {
const upper = source.toUpperCase()
return `export default ${JSON.stringify(upper)}`
}

View File

@@ -0,0 +1,28 @@
import { nextTestSetup } from 'e2e-utils'
describe('webpack-loader-resource-query', () => {
const { next, skipped } = nextTestSetup({
files: __dirname,
skipDeployment: true,
})
if (skipped) return
it('should pass query to loader', async () => {
await next.render$('/')
expect(next.cliOutput).toContain('resource query: ?test=hi')
})
it('should apply loader based on resourceQuery', async () => {
const $ = await next.render$('/')
const text = $('#reversed').text()
expect(text).toBe('dlroW olleH')
})
it('should apply loader based on resourceQuery regex', async () => {
const $ = await next.render$('/')
const text = $('#upper').text()
expect(text).toBe('HELLO WORLD')
})
})