/** * External dependencies */ const prettierPackage = require( require.resolve( 'prettier/package.json' ) ); /** @typedef {import('prettier').Config} PrettierConfig */ /** * @typedef WPPrettierOptions * * @property {boolean} [parenSpacing=true] Insert spaces inside parentheses. */ const isWPPrettier = prettierPackage.name === 'wp-prettier'; const customOptions = isWPPrettier ? { parenSpacing: true } : {}; const customStyleOptions = isWPPrettier ? { parenSpacing: false } : {}; /** @type {PrettierConfig & WPPrettierOptions} */ const config = { useTabs: true, tabWidth: 4, printWidth: 80, singleQuote: true, trailingComma: 'es5', bracketSameLine: false, bracketSpacing: true, semi: true, arrowParens: 'always', ...customOptions, overrides: [ { files: '*.{css,sass,scss}', options: { singleQuote: false, ...customStyleOptions, }, }, ], }; module.exports = config;