Files
payload/packages/ui/babel.config.cjs
Alessio Gravili 96181d91a6 chore(ui): add ability to compile using react compiler (#6483)
This does not enable the react compiler by default
2024-05-27 22:54:36 -04:00

56 lines
1.1 KiB
JavaScript

const fs = require('fs')
const ReactCompilerConfig = {
sources: (filename) => {
if(!filename.endsWith('.tsx') && !filename.endsWith('.jsx')) {
return false
}
// read file and check if 'use client' is at top. if not, return false
// if it is, return true
const file = fs.readFileSync(filename, 'utf8')
if(file.includes("'use client'")) {
//console.log("Compiling: " + filename)
return true
}
console.log("Skipping: " + filename)
return false
},
//runtimeModule: "react"
}
module.exports = function (api) {
api.cache(false);
return {
plugins: [
['babel-plugin-react-compiler', ReactCompilerConfig], // must run first!
[
'babel-plugin-transform-remove-imports',
{
test: '\\.(scss|css)$',
},
],
],
presets: [
[
'@babel/preset-env',
{
modules: false,
useBuiltIns: 'usage',
corejs: '3.22',
},
],
[
'@babel/preset-react',
{
throwIfNamespace: false,
runtime: 'automatic',
},
],
'@babel/preset-typescript',
],
}
}