cgb-scripts
Version:
Configuration and scripts for Create Guten Blocks which help you create a WordPress Gutenberg Block plugin with Zero-Config #OCJS, Webpack, React, ES6/7/8/Next, ESLint, Babel, and more
38 lines (32 loc) • 1.27 kB
JavaScript
/**
* Paths
*
* Project related paths.
*/
const path = require( 'path' );
const fs = require( 'fs' );
// Make sure any symlinks in the project folder are resolved:
const pluginDir = fs.realpathSync( process.cwd() );
const resolvePlugin = relativePath => path.resolve( pluginDir, relativePath );
// Config after eject: we're in ./config/
module.exports = {
dotenv: resolvePlugin( '.env' ),
pluginSrc: resolvePlugin( 'src' ), // Plugin src folder path.
pluginBlocksJs: resolvePlugin( 'src/blocks.js' ),
yarnLockFile: resolvePlugin( 'yarn.lock' ),
pluginDist: resolvePlugin( '.' ), // We are in ./dist folder already so the path '.' resolves to ./dist/.
};
// @remove-on-eject-begin
const resolveOwn = relativePath => path.resolve( __dirname, '..', relativePath );
// config before eject: we're in ./node_modules/react-scripts/config/
module.exports = {
dotenv: resolvePlugin( '.env' ),
pluginSrc: resolvePlugin( 'src' ),
pluginBlocksJs: resolvePlugin( 'src/blocks.js' ),
pluginDist: resolvePlugin( '.' ), // We are in ./dist folder already so the path '.' resolves to ./dist/.
yarnLockFile: resolvePlugin( 'yarn.lock' ),
appPath: resolvePlugin( '.' ),
// These properties only exist before ejecting:
ownPath: resolveOwn( '.' ),
};
// @remove-on-eject-end