This PR contains various improvements and cleanups to the configuration and JavaScript code. Key changes include: - Adding simple comments to `jsconfig.json`. - Improving config: `bud.wpjson.set` replaces `bud.wpjson.settings`. Note that `bud.wpjson.settings` is not deprecated. - `bud.wpjson.settings` now disables `dropCap` by default. - `app.js` and `editor.js` now use `if (import.meta.webpackHot)` instead of optional chaining, since `import.meta.webpackHot` is not a real method and using optional chaining might cause errors.
67 lines
2.0 KiB
JavaScript
67 lines
2.0 KiB
JavaScript
/**
|
|
* Compiler configuration
|
|
*
|
|
* @see {@link https://roots.io/docs/sage sage documentation}
|
|
* @see {@link https://bud.js.org/guides/configure bud.js configuration guide}
|
|
*
|
|
* @param {import('@roots/bud').Bud} app
|
|
*/
|
|
export default async (app) => {
|
|
/**
|
|
* Application assets & entrypoints
|
|
*
|
|
* @see {@link https://bud.js.org/docs/bud.entry}
|
|
* @see {@link https://bud.js.org/docs/bud.assets}
|
|
*/
|
|
app
|
|
.entry('app', ['@scripts/app', '@styles/app'])
|
|
.entry('editor', ['@scripts/editor', '@styles/editor'])
|
|
.assets(['images']);
|
|
|
|
/**
|
|
* Set public path
|
|
*
|
|
* @see {@link https://bud.js.org/docs/bud.setPublicPath}
|
|
*/
|
|
app.setPublicPath('/app/themes/sage/public/');
|
|
|
|
/**
|
|
* Development server settings
|
|
*
|
|
* @see {@link https://bud.js.org/docs/bud.setUrl}
|
|
* @see {@link https://bud.js.org/docs/bud.setProxyUrl}
|
|
* @see {@link https://bud.js.org/docs/bud.watch}
|
|
*/
|
|
app
|
|
.setUrl('http://localhost:3000')
|
|
.setProxyUrl('http://example.test')
|
|
.watch(['resources/views', 'app']);
|
|
|
|
/**
|
|
* Generate WordPress `theme.json`
|
|
*
|
|
* @note This overwrites `theme.json` on every build.
|
|
*
|
|
* @see {@link https://bud.js.org/extensions/sage/theme.json}
|
|
* @see {@link https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json}
|
|
*/
|
|
app.wpjson
|
|
.set('settings.color.custom', false)
|
|
.set('settings.color.customDuotone', false)
|
|
.set('settings.color.customGradient', false)
|
|
.set('settings.color.defaultDuotone', false)
|
|
.set('settings.color.defaultGradients', false)
|
|
.set('settings.color.defaultPalette', false)
|
|
.set('settings.color.duotone', [])
|
|
.set('settings.custom.spacing', {})
|
|
.set('settings.custom.typography.font-size', {})
|
|
.set('settings.custom.typography.line-height', {})
|
|
.set('settings.spacing.padding', true)
|
|
.set('settings.spacing.units', ['px', '%', 'em', 'rem', 'vw', 'vh'])
|
|
.set('settings.typography.customFontSize', false)
|
|
.useTailwindColors()
|
|
.useTailwindFontFamily()
|
|
.useTailwindFontSize()
|
|
.enable();
|
|
};
|