mZoo
August 12, 2022, 10:16pm
1
This site was built with Sage 10.0.0-beta.1 and was working nicely for a while, but recently getting the following error:
Asset [/path/to/public/scripts/manifest.asset.php] not found.
I think since we’re not adding any React/Gutenberg components, just removing the following block from app/setup.php
is fine:
if ($manifest = asset('scripts/manifest.asset.php')->load()) {
wp_enqueue_script('sage/vendor.js', asset('scripts/vendor.js')->uri(), ...array_values($manifest));
//etc...
}
But I’m also wondering where manifest.asset.php
is supposed to come from.
Neither yarn build
nor composer install
generates it.
I know it’s a pretty old beta at this point and it looks like the toolset has evolved quite a bit, so hoping someone recalls.
Log1x
August 12, 2022, 11:43pm
2
Are you still using mix? If so it’d come from mix.extract()
in your mix config.
mZoo
August 13, 2022, 1:00am
3
Thank you.
You mean in Laravel Mix ? Looks like it:
"laravel-mix": "6.0.19",
const mix = require('laravel-mix');
require('@tinypixelco/laravel-mix-wp-blocks');
I’m not seeing a reference to manifest.asset.php
in webpack.mix.js
. Would I have to create one?
mix
.setPublicPath('./public')
.browserSync('example.test');
mix
.sass('resources/styles/app.scss', 'styles')
.sass('resources/styles/editor.scss', 'styles')
.options({
processCssUrls: false,
postCss: [require('tailwindcss')],
});
mix
.js('resources/scripts/app.js', 'scripts')
.js('resources/scripts/customizer.js', 'scripts')
.blocks('resources/scripts/editor.js', 'scripts')
.autoload({ jquery: ['$', 'window.jQuery'] })
.extract();
mix
.copyDirectory('resources/images', 'public/images')
.copyDirectory('resources/fonts', 'public/fonts');
mix
.sourceMaps()
.version();
Log1x
August 13, 2022, 2:02am
4
Actually mix-manifest.json is what is created by .extract()
- I forgot.
I think manifest.asset.php
might get generated by .blocks()
which if you’re not using you can just get rid of - but since you have .blocks()
defined in Mix’s config file it should be getting generated - is editor.js
empty?
mZoo
August 13, 2022, 3:17am
5
Not empty:
import '@wordpress/edit-post';
import domReady from '@wordpress/dom-ready';
import { unregisterBlockStyle, registerBlockStyle } from '@wordpress/blocks';
domReady(() => {
unregisterBlockStyle('core/button', 'outline');
registerBlockStyle('core/button', {
name: 'outline',
label: 'Outline',
});
});
BTW, I’m excited to (a few years behind the curve) start creating some blocks.
mZoo
August 13, 2022, 4:17pm
6
Even removing .blocks('resources/scripts/editor.js', 'scripts')
produces the same error.
Is the idea that webpack compiles a php file from the contents of the editor.js
file?