Remove generateLocalePacks.js
This commit is contained in:
parent
f0528e9d43
commit
e935fb90b9
|
@ -1,50 +0,0 @@
|
||||||
// To avoid adding a lot of boilerplate, locale packs are
|
|
||||||
// automatically generated here. These are written into the tmp/
|
|
||||||
// directory and then used to generate locale_en.js, locale_fr.js, etc.
|
|
||||||
|
|
||||||
const fs = require('fs');
|
|
||||||
const path = require('path');
|
|
||||||
const rimraf = require('rimraf');
|
|
||||||
const mkdirp = require('mkdirp');
|
|
||||||
|
|
||||||
const localesJsonPath = path.join(__dirname, '../app/soapbox/locales');
|
|
||||||
const locales = fs.readdirSync(localesJsonPath).filter(filename => {
|
|
||||||
return /\.json$/.test(filename) &&
|
|
||||||
!/defaultMessages/.test(filename) &&
|
|
||||||
!/whitelist/.test(filename);
|
|
||||||
}).map(filename => filename.replace(/\.json$/, ''));
|
|
||||||
|
|
||||||
const outPath = path.join(__dirname, '..', 'tmp', 'packs');
|
|
||||||
|
|
||||||
rimraf.sync(outPath);
|
|
||||||
mkdirp.sync(outPath);
|
|
||||||
|
|
||||||
const outPaths = [];
|
|
||||||
|
|
||||||
locales.forEach(locale => {
|
|
||||||
const localePath = path.join(outPath, `locale_${locale}.js`);
|
|
||||||
const baseLocale = locale.split('-')[0]; // e.g. 'zh-TW' -> 'zh'
|
|
||||||
const localeDataPath = [
|
|
||||||
// first try react-intl
|
|
||||||
`../../node_modules/react-intl/locale-data/${baseLocale}.js`,
|
|
||||||
// then check locales/locale-data
|
|
||||||
`../../app/soapbox/locales/locale-data/${baseLocale}.js`,
|
|
||||||
// fall back to English (this is what react-intl does anyway)
|
|
||||||
'../../node_modules/react-intl/locale-data/en.js',
|
|
||||||
].filter(filename => fs.existsSync(path.join(outPath, filename)))
|
|
||||||
.map(filename => filename.replace(/..\/..\/node_modules\//, ''))[0];
|
|
||||||
|
|
||||||
const localeContent = `//
|
|
||||||
// locale_${locale}.js
|
|
||||||
// automatically generated by generateLocalePacks.js
|
|
||||||
//
|
|
||||||
import messages from '../../app/soapbox/locales/${locale}.json';
|
|
||||||
import localeData from ${JSON.stringify(localeDataPath)};
|
|
||||||
import { setLocale } from '../../app/soapbox/locales';
|
|
||||||
setLocale({messages, localeData});
|
|
||||||
`;
|
|
||||||
fs.writeFileSync(localePath, localeContent, 'utf8');
|
|
||||||
outPaths.push(localePath);
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = outPaths;
|
|
|
@ -1,24 +1,17 @@
|
||||||
// Note: You must restart bin/webpack-dev-server for changes to take effect
|
// Note: You must restart bin/webpack-dev-server for changes to take effect
|
||||||
|
|
||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const { basename, join, resolve } = require('path');
|
const { join, resolve } = require('path');
|
||||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
||||||
const AssetsManifestPlugin = require('webpack-assets-manifest');
|
const AssetsManifestPlugin = require('webpack-assets-manifest');
|
||||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||||
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
|
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
|
||||||
const extname = require('path-complete-extname');
|
|
||||||
const { env, settings, output } = require('./configuration');
|
const { env, settings, output } = require('./configuration');
|
||||||
const rules = require('./rules');
|
const rules = require('./rules');
|
||||||
const localePackPaths = require('./generateLocalePacks');
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
entry: Object.assign(
|
entry: Object.assign(
|
||||||
{ application: resolve('app/application.js') },
|
{ application: resolve('app/application.js') },
|
||||||
localePackPaths.reduce((map, entry) => {
|
|
||||||
const localMap = map;
|
|
||||||
localMap[basename(entry, extname(entry, extname(entry)))] = resolve(entry);
|
|
||||||
return localMap;
|
|
||||||
}, {}),
|
|
||||||
{ styles: resolve(join(settings.source_path, 'styles/application.scss')) }
|
{ styles: resolve(join(settings.source_path, 'styles/application.scss')) }
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue