UNPKG

@gasket/plugin-intl

Version:
57 lines (56 loc) 2.08 kB
/// <reference types="create-gasket-app" /> Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, /** @type {import('@gasket/core').HookHandler<'create'>} */ "default", { enumerable: true, get: function() { return create; } }); const _url = require("url"); const _packagejson = /*#__PURE__*/ _interop_require_default(require("../package.json")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const { devDependencies, name, version } = _packagejson.default; async function create(gasket, createContext) { if (createContext.hasGasketIntl === false) { return; } // adjust config gasket.config.intl.locales = [ 'en-US', 'fr-FR' ]; gasket.config.intl.managerFilename = 'intl.js'; gasket.config.intl.nextRouting = false; if (createContext.typescript) gasket.config.intl.managerFilename = 'intl.ts'; const { files, pkg, gasketConfig } = createContext; const fileName = (0, _url.fileURLToPath)(require("url").pathToFileURL(__filename).toString()); const rootDir = new URL('..', (0, _url.pathToFileURL)(fileName).toString()).pathname; const isReactProject = pkg.has('dependencies', 'react'); files.add(`${rootDir}/generator/*`, `${rootDir}/generator/**/*`); gasketConfig.addPlugin('pluginIntl', name); const initialConfig = { locales: gasket.config.intl.locales, nextRouting: gasket.config.intl.nextRouting }; if (createContext.typescript) { initialConfig.defaultLocale = 'en-US'; initialConfig.managerFilename = gasket.config.intl.managerFilename; } gasketConfig.add('intl', initialConfig); pkg.add('dependencies', { [name]: `^${version}` }); if (isReactProject) { pkg.add('dependencies', { '@gasket/intl': devDependencies['@gasket/intl'], '@gasket/react-intl': devDependencies['@gasket/react-intl'], 'react-intl': devDependencies['react-intl'] }); } }