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.
This commit is contained in:
122
bud.config.js
122
bud.config.js
@@ -1,86 +1,64 @@
|
||||
/**
|
||||
* Build configuration
|
||||
* Compiler configuration
|
||||
*
|
||||
* @see {@link https://roots.io/docs/sage/ sage documentation}
|
||||
* @see {@link https://bud.js.org/guides/configure/ bud.js configuration guide}
|
||||
* @see {@link https://roots.io/docs/sage sage documentation}
|
||||
* @see {@link https://bud.js.org/guides/configure bud.js configuration guide}
|
||||
*
|
||||
* @typedef {import('@roots/bud').Bud} Bud
|
||||
* @param {Bud} app
|
||||
* @param {import('@roots/bud').Bud} app
|
||||
*/
|
||||
export default async (app) => {
|
||||
/**
|
||||
* Application entrypoints
|
||||
* @see {@link https://bud.js.org/docs/bud.entry/}
|
||||
* 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'],
|
||||
editor: ['@scripts/editor', '@styles/editor'],
|
||||
})
|
||||
.entry('app', ['@scripts/app', '@styles/app'])
|
||||
.entry('editor', ['@scripts/editor', '@styles/editor'])
|
||||
.assets(['images']);
|
||||
|
||||
/**
|
||||
* Directory contents to be included in the compilation
|
||||
* @see {@link https://bud.js.org/docs/bud.assets/}
|
||||
*/
|
||||
.assets(['images'])
|
||||
/**
|
||||
* Set public path
|
||||
*
|
||||
* @see {@link https://bud.js.org/docs/bud.setPublicPath}
|
||||
*/
|
||||
app.setPublicPath('/app/themes/sage/public/');
|
||||
|
||||
/**
|
||||
* Matched files trigger a page reload when modified
|
||||
* @see {@link https://bud.js.org/docs/bud.watch/}
|
||||
*/
|
||||
.watch(['resources/views', 'app'])
|
||||
/**
|
||||
* 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']);
|
||||
|
||||
/**
|
||||
* Proxy origin (`WP_HOME`)
|
||||
* @see {@link https://bud.js.org/docs/bud.proxy/}
|
||||
*/
|
||||
.proxy('http://example.test')
|
||||
|
||||
/**
|
||||
* Development origin
|
||||
* @see {@link https://bud.js.org/docs/bud.serve/}
|
||||
*/
|
||||
.serve('http://localhost:3000')
|
||||
|
||||
/**
|
||||
* URI of the `public` directory
|
||||
* @see {@link https://bud.js.org/docs/bud.setPublicPath/}
|
||||
*/
|
||||
.setPublicPath('/app/themes/sage/public/')
|
||||
|
||||
/**
|
||||
* 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/}
|
||||
*/
|
||||
.wpjson.settings({
|
||||
color: {
|
||||
custom: false,
|
||||
customDuotone: false,
|
||||
customGradient: false,
|
||||
defaultDuotone: false,
|
||||
defaultGradients: false,
|
||||
defaultPalette: false,
|
||||
duotone: [],
|
||||
},
|
||||
custom: {
|
||||
spacing: {},
|
||||
typography: {
|
||||
'font-size': {},
|
||||
'line-height': {},
|
||||
},
|
||||
},
|
||||
spacing: {
|
||||
padding: true,
|
||||
units: ['px', '%', 'em', 'rem', 'vw', 'vh'],
|
||||
},
|
||||
typography: {
|
||||
customFontSize: false,
|
||||
},
|
||||
})
|
||||
/**
|
||||
* 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()
|
||||
|
||||
Reference in New Issue
Block a user