pontoon/translate/rollup.config.mjs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

50 строки
1.2 KiB
JavaScript
Исходник Обычный вид История

Refactor the frontend build (#2437) * feat!(frontend): Drop react-scripts * chore(frontend): Add missing dependency on escape-html * refactor(frontend): Use ~ to prefix paths from src/ root * chore(frontend): Add & configure jest & ts-jest * chore(frontend): Fix bugs & tests revealed by updated jest, skipping EntityDetails * chore(frontend): Add ESLint as explicit dev dependency; satisfy linter * chore(frontend): Clean up dependencies, using caret ^ range for all * chore(frontend): Switch from yarn to npm & configure as a workspace Prettier & ESLint dependencies are now defined in the root package.json Changing package management means that many path & minor updates are simultaneously applied via the caret ^ ranges. The local/pontoon-frontend Docker image now uses node:16 as a base and /app/frontend rather than /frontend for its contents & workdir, in order to accommodate the changed topography. * chore: Collect devDependencies in root package.json * chore(tag-admin): Move Babel config to repo root * feat(frontend): Adjust public/ for being served as Django static files * chore(frontend): Add build with Rollup * feat(pontoon): Drop frontend proxy, server static files normally, add pipeline for frontend * chore(server): Add dependencies via pontoon/package.json; clean up Dockerfile * chore: Add build:prod targets for frontend & tag-admin frontend image droapped from Dockerfile as unused styled-components updated to v5 to avoid a broken import in v4. * chore: Add watch targets for workspaces & root, using concurrently * chore: Code review & CI-identified fixes * chore: Refresh lockfiles, dropping frontend/yaml.lock * chore: Add /bin/watch.sh to watch all builds; refactor `make run` * ci: Fix frontend TS test CLI args due to yarn -> npm change * chore: Use `npm start` rather than `npm run watch` * chore(pontoon): Mark django-pipeline JS dependencies as devDependencies * refactor: Rename frontend/ as translate/
2022-03-02 18:10:42 +03:00
/* eslint-env node */
import commonjs from '@rollup/plugin-commonjs';
import json from '@rollup/plugin-json';
import { nodeResolve } from '@rollup/plugin-node-resolve';
Refactor the frontend build (#2437) * feat!(frontend): Drop react-scripts * chore(frontend): Add missing dependency on escape-html * refactor(frontend): Use ~ to prefix paths from src/ root * chore(frontend): Add & configure jest & ts-jest * chore(frontend): Fix bugs & tests revealed by updated jest, skipping EntityDetails * chore(frontend): Add ESLint as explicit dev dependency; satisfy linter * chore(frontend): Clean up dependencies, using caret ^ range for all * chore(frontend): Switch from yarn to npm & configure as a workspace Prettier & ESLint dependencies are now defined in the root package.json Changing package management means that many path & minor updates are simultaneously applied via the caret ^ ranges. The local/pontoon-frontend Docker image now uses node:16 as a base and /app/frontend rather than /frontend for its contents & workdir, in order to accommodate the changed topography. * chore: Collect devDependencies in root package.json * chore(tag-admin): Move Babel config to repo root * feat(frontend): Adjust public/ for being served as Django static files * chore(frontend): Add build with Rollup * feat(pontoon): Drop frontend proxy, server static files normally, add pipeline for frontend * chore(server): Add dependencies via pontoon/package.json; clean up Dockerfile * chore: Add build:prod targets for frontend & tag-admin frontend image droapped from Dockerfile as unused styled-components updated to v5 to avoid a broken import in v4. * chore: Add watch targets for workspaces & root, using concurrently * chore: Code review & CI-identified fixes * chore: Refresh lockfiles, dropping frontend/yaml.lock * chore: Add /bin/watch.sh to watch all builds; refactor `make run` * ci: Fix frontend TS test CLI args due to yarn -> npm change * chore: Use `npm start` rather than `npm run watch` * chore(pontoon): Mark django-pipeline JS dependencies as devDependencies * refactor: Rename frontend/ as translate/
2022-03-02 18:10:42 +03:00
import replace from '@rollup/plugin-replace';
import typescript from '@rollup/plugin-typescript';
import css from 'rollup-plugin-css-only';
/** @type {import('rollup').RollupOptions} */
const config = {
input: 'src/index.tsx',
output: { file: 'dist/translate.js', format: 'iife' },
Refactor the frontend build (#2437) * feat!(frontend): Drop react-scripts * chore(frontend): Add missing dependency on escape-html * refactor(frontend): Use ~ to prefix paths from src/ root * chore(frontend): Add & configure jest & ts-jest * chore(frontend): Fix bugs & tests revealed by updated jest, skipping EntityDetails * chore(frontend): Add ESLint as explicit dev dependency; satisfy linter * chore(frontend): Clean up dependencies, using caret ^ range for all * chore(frontend): Switch from yarn to npm & configure as a workspace Prettier & ESLint dependencies are now defined in the root package.json Changing package management means that many path & minor updates are simultaneously applied via the caret ^ ranges. The local/pontoon-frontend Docker image now uses node:16 as a base and /app/frontend rather than /frontend for its contents & workdir, in order to accommodate the changed topography. * chore: Collect devDependencies in root package.json * chore(tag-admin): Move Babel config to repo root * feat(frontend): Adjust public/ for being served as Django static files * chore(frontend): Add build with Rollup * feat(pontoon): Drop frontend proxy, server static files normally, add pipeline for frontend * chore(server): Add dependencies via pontoon/package.json; clean up Dockerfile * chore: Add build:prod targets for frontend & tag-admin frontend image droapped from Dockerfile as unused styled-components updated to v5 to avoid a broken import in v4. * chore: Add watch targets for workspaces & root, using concurrently * chore: Code review & CI-identified fixes * chore: Refresh lockfiles, dropping frontend/yaml.lock * chore: Add /bin/watch.sh to watch all builds; refactor `make run` * ci: Fix frontend TS test CLI args due to yarn -> npm change * chore: Use `npm start` rather than `npm run watch` * chore(pontoon): Mark django-pipeline JS dependencies as devDependencies * refactor: Rename frontend/ as translate/
2022-03-02 18:10:42 +03:00
treeshake: 'recommended',
plugins: [
json(),
typescript(),
replace({
preventAssignment: true,
'process.env.NODE_ENV': JSON.stringify(
process.env.BUILD ?? 'development',
),
}),
nodeResolve(),
Refactor the frontend build (#2437) * feat!(frontend): Drop react-scripts * chore(frontend): Add missing dependency on escape-html * refactor(frontend): Use ~ to prefix paths from src/ root * chore(frontend): Add & configure jest & ts-jest * chore(frontend): Fix bugs & tests revealed by updated jest, skipping EntityDetails * chore(frontend): Add ESLint as explicit dev dependency; satisfy linter * chore(frontend): Clean up dependencies, using caret ^ range for all * chore(frontend): Switch from yarn to npm & configure as a workspace Prettier & ESLint dependencies are now defined in the root package.json Changing package management means that many path & minor updates are simultaneously applied via the caret ^ ranges. The local/pontoon-frontend Docker image now uses node:16 as a base and /app/frontend rather than /frontend for its contents & workdir, in order to accommodate the changed topography. * chore: Collect devDependencies in root package.json * chore(tag-admin): Move Babel config to repo root * feat(frontend): Adjust public/ for being served as Django static files * chore(frontend): Add build with Rollup * feat(pontoon): Drop frontend proxy, server static files normally, add pipeline for frontend * chore(server): Add dependencies via pontoon/package.json; clean up Dockerfile * chore: Add build:prod targets for frontend & tag-admin frontend image droapped from Dockerfile as unused styled-components updated to v5 to avoid a broken import in v4. * chore: Add watch targets for workspaces & root, using concurrently * chore: Code review & CI-identified fixes * chore: Refresh lockfiles, dropping frontend/yaml.lock * chore: Add /bin/watch.sh to watch all builds; refactor `make run` * ci: Fix frontend TS test CLI args due to yarn -> npm change * chore: Use `npm start` rather than `npm run watch` * chore(pontoon): Mark django-pipeline JS dependencies as devDependencies * refactor: Rename frontend/ as translate/
2022-03-02 18:10:42 +03:00
commonjs(),
css({ output: 'translate.css' }),
],
onwarn(warning, warn) {
// https://github.com/reduxjs/redux-toolkit/issues/1466
if (warning.id?.includes('@reduxjs/toolkit')) {
switch (warning.code) {
case 'SOURCEMAP_ERROR':
return;
case 'THIS_IS_UNDEFINED':
if (warning.frame?.includes('this && this')) {
return;
}
Refactor the frontend build (#2437) * feat!(frontend): Drop react-scripts * chore(frontend): Add missing dependency on escape-html * refactor(frontend): Use ~ to prefix paths from src/ root * chore(frontend): Add & configure jest & ts-jest * chore(frontend): Fix bugs & tests revealed by updated jest, skipping EntityDetails * chore(frontend): Add ESLint as explicit dev dependency; satisfy linter * chore(frontend): Clean up dependencies, using caret ^ range for all * chore(frontend): Switch from yarn to npm & configure as a workspace Prettier & ESLint dependencies are now defined in the root package.json Changing package management means that many path & minor updates are simultaneously applied via the caret ^ ranges. The local/pontoon-frontend Docker image now uses node:16 as a base and /app/frontend rather than /frontend for its contents & workdir, in order to accommodate the changed topography. * chore: Collect devDependencies in root package.json * chore(tag-admin): Move Babel config to repo root * feat(frontend): Adjust public/ for being served as Django static files * chore(frontend): Add build with Rollup * feat(pontoon): Drop frontend proxy, server static files normally, add pipeline for frontend * chore(server): Add dependencies via pontoon/package.json; clean up Dockerfile * chore: Add build:prod targets for frontend & tag-admin frontend image droapped from Dockerfile as unused styled-components updated to v5 to avoid a broken import in v4. * chore: Add watch targets for workspaces & root, using concurrently * chore: Code review & CI-identified fixes * chore: Refresh lockfiles, dropping frontend/yaml.lock * chore: Add /bin/watch.sh to watch all builds; refactor `make run` * ci: Fix frontend TS test CLI args due to yarn -> npm change * chore: Use `npm start` rather than `npm run watch` * chore(pontoon): Mark django-pipeline JS dependencies as devDependencies * refactor: Rename frontend/ as translate/
2022-03-02 18:10:42 +03:00
}
}
warn(warning);
},
};
// eslint-disable-next-line import/no-default-export
Refactor the frontend build (#2437) * feat!(frontend): Drop react-scripts * chore(frontend): Add missing dependency on escape-html * refactor(frontend): Use ~ to prefix paths from src/ root * chore(frontend): Add & configure jest & ts-jest * chore(frontend): Fix bugs & tests revealed by updated jest, skipping EntityDetails * chore(frontend): Add ESLint as explicit dev dependency; satisfy linter * chore(frontend): Clean up dependencies, using caret ^ range for all * chore(frontend): Switch from yarn to npm & configure as a workspace Prettier & ESLint dependencies are now defined in the root package.json Changing package management means that many path & minor updates are simultaneously applied via the caret ^ ranges. The local/pontoon-frontend Docker image now uses node:16 as a base and /app/frontend rather than /frontend for its contents & workdir, in order to accommodate the changed topography. * chore: Collect devDependencies in root package.json * chore(tag-admin): Move Babel config to repo root * feat(frontend): Adjust public/ for being served as Django static files * chore(frontend): Add build with Rollup * feat(pontoon): Drop frontend proxy, server static files normally, add pipeline for frontend * chore(server): Add dependencies via pontoon/package.json; clean up Dockerfile * chore: Add build:prod targets for frontend & tag-admin frontend image droapped from Dockerfile as unused styled-components updated to v5 to avoid a broken import in v4. * chore: Add watch targets for workspaces & root, using concurrently * chore: Code review & CI-identified fixes * chore: Refresh lockfiles, dropping frontend/yaml.lock * chore: Add /bin/watch.sh to watch all builds; refactor `make run` * ci: Fix frontend TS test CLI args due to yarn -> npm change * chore: Use `npm start` rather than `npm run watch` * chore(pontoon): Mark django-pipeline JS dependencies as devDependencies * refactor: Rename frontend/ as translate/
2022-03-02 18:10:42 +03:00
export default config;