Faust.js™ - The Headless WordPress Framework
OTHER License
Bot releases are hidden (Show)
Published by blakewilson over 2 years ago
https://github.com/wpengine/faustjs/commit/6a7559376a15bab06e3fc1b0f537199810ea19e3: Fixes a PHP 8 warning that occured on post types not registered with WP GraphQL https://github.com/wpengine/faustjs/pull/812
Published by josephfusco over 2 years ago
Published by apmatthews over 2 years ago
Published by apmatthews over 2 years ago
is_events_enabled()
function has also been removed.Published by josephfusco over 2 years ago
Published by blakewilson almost 3 years ago
Published by blakewilson almost 3 years ago
wpac/v1
to faustwp/v1
wpe_headless
to faustwp_settings
wpe_headless_setting
to faustwp_setting
wpe_headless_settings
to faustwp_settings
wpe_headless_domain_replacement_enabled
to faustwp_domain_replacement_enabled
faustwp
.generalSettings
.Published by blakewilson about 3 years ago
Published by blakewilson about 3 years ago
Published by blakewilson about 3 years ago
Release 0.10.0
of the NPM packages include BREAKING CHANGES. Existing users of Faust.js will need to make the following changes:
Ensure that you are on version 0.6.0
or later of the WPE Headless Plugin.
preview.tsx
fileIf you started from the next/getting-started
example, replace the contents of src/pages/preview.tsx
with the following:
import { PageComponent } from './[...pageUri]';
import { PostComponent } from './posts/[postSlug]';
import { client } from 'client';
export default function Preview() {
const { usePreview } = client.auth;
const result = usePreview();
if (client.useIsLoading() || !result) {
return <p>loading...</p>;
}
if (result.type === 'page') {
if (!result.page) {
return <>Not Found</>;
}
return <PageComponent page={result.page} />;
}
if (!result.post) {
return <>Not Found</>;
}
return <PostComponent post={result.post} />;
}
next.config.js
fileIn the root of your project, alongside package.json
, create a next.config.js
file with the following contents:
const { withFaust } = require('@faustjs/next');
/**
* @type {import('next').NextConfig}
**/
module.exports = withFaust();
If you already have an existing next.config.js
file, you can place it within the first argument of the withFaust
function, like so:
const { withFaust } = require('@faustjs/next');
/**
* @type {import('next').NextConfig}
**/
module.exports = withFaust({
// Your Next.js config here
});
gqty.config.js
fileIn the root of your project, alongside package.json
, replace the gqty.config.js
file with the following:
require('dotenv').config();
/**
* @type {import("@gqty/cli").GQtyConfig}
*/
const config = {
react: false,
scalarTypes: { DateTime: 'string' },
introspection: {
endpoint: `${process.env.NEXT_PUBLIC_WORDPRESS_URL}/graphql`,
headers: {},
},
destination: './src/client/index.ts',
subscriptions: false,
javascriptOutput: false,
};
console.log(`Using "${config.introspection.endpoint}" to generate schema...`);
module.exports = config;
Published by blakewilson about 3 years ago
package/core/0.9.0
Release 0.9.0
of the NPM packages include BREAKING CHANGES. Existing users of Faust.js will need to update their faust.config.js
file to use ESM syntax, opposed to CJS syntax.
For example, users will need to replace their current faust.config.js
file:
const { headlessConfig } = require('@faustjs/core');
if (!process.env.NEXT_PUBLIC_WORDPRESS_URL) {
console.error(
'You must provide a NEXT_PUBLIC_WORDPRESS_URL environment variable, did you forget to load your .env file?',
);
}
/**
* @type {import("@faustjs/core").HeadlessConfig}
*/
module.exports = headlessConfig({
wpUrl: process.env.NEXT_PUBLIC_WORDPRESS_URL,
apiClientSecret: process.env.WP_HEADLESS_SECRET,
});
With the following code:
import { headlessConfig } from '@faustjs/core';
if (!process.env.NEXT_PUBLIC_WORDPRESS_URL) {
console.error(
'You must provide a NEXT_PUBLIC_WORDPRESS_URL environment variable, did you forget to load your .env file?',
);
}
/**
* @type {import("@faustjs/core").HeadlessConfig}
*/
export default headlessConfig({
wpUrl: process.env.NEXT_PUBLIC_WORDPRESS_URL,
apiClientSecret: process.env.WP_HEADLESS_SECRET,
});
Published by matt-landers almost 4 years ago
In the first release of our headless framework for WordPress, we make previews simple.
What's in the release:
Tryout Previews and give us feedback via discussions!