9b6ea9d466
* WIP * Move data experiment * Do not throw away rules * Remove test code * Correct next data behavior * Add support for async composing * Remove unnecessary workaround * Rename Field
28 lines
616 B
TypeScript
28 lines
616 B
TypeScript
import curry from 'lodash.curry'
|
|
import path from 'path'
|
|
import { Configuration } from 'webpack'
|
|
import { unshiftLoader } from '../helpers'
|
|
import { ConfigurationContext, pipe } from '../utils'
|
|
|
|
export const experimentData = curry(function experimentData(
|
|
enabled: boolean,
|
|
ctx: ConfigurationContext,
|
|
config: Configuration
|
|
) {
|
|
if (!enabled) {
|
|
return config
|
|
}
|
|
|
|
if (ctx.isServer) {
|
|
return config
|
|
}
|
|
|
|
const fn = pipe(
|
|
unshiftLoader({
|
|
test: /\.(tsx|ts|js|mjs|jsx)$/,
|
|
include: [path.join(ctx.rootDirectory, 'data')],
|
|
use: 'next-data-loader',
|
|
})
|
|
)
|
|
return fn(config)
|
|
})
|