Files
TheRock/rocm-systems/projects/rocprofiler-systems/external/perfetto/ui/config/rollup.config.js
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

124 lines
3.7 KiB
JavaScript

// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import commonjs from '@rollup/plugin-commonjs';
import nodeResolve from '@rollup/plugin-node-resolve';
import replace from 'rollup-plugin-re';
import sourcemaps from 'rollup-plugin-sourcemaps';
import {uglify} from 'rollup-plugin-uglify';
const path = require('path');
const ROOT_DIR = path.dirname(path.dirname(__dirname)); // The repo root.
const OUT_SYMLINK = path.join(ROOT_DIR, 'ui/out');
function defBundle(tsRoot, bundle, distDir) {
return {
input: `${OUT_SYMLINK}/${tsRoot}/${bundle}/index.js`,
output: {
name: bundle,
format: 'iife',
esModule: false,
file: `${OUT_SYMLINK}/${distDir}/${bundle}_bundle.js`,
sourcemap: true,
},
plugins: [
nodeResolve({
mainFields: ['browser'],
browser: true,
preferBuiltins: false,
}),
commonjs({
strictRequires: true,
}),
replace({
patterns: [
// Protobufjs's inquire() uses eval but that's not really needed in
// the browser. https://github.com/protobufjs/protobuf.js/issues/593
{test: /eval\(.*\(moduleName\);/g, replace: 'undefined;'},
// Immer entry point has a if (process.env.NODE_ENV === 'production')
// but |process| is not defined in the browser. Bypass.
// https://github.com/immerjs/immer/issues/557
{test: /process\.env\.NODE_ENV/g, replace: "'production'"},
],
}),
// Translate source maps to point back to the .ts sources.
sourcemaps(),
].concat(maybeUglify()),
onwarn: function (warning, warn) {
// Ignore circular dependency warnings coming from third party code.
if (
warning.code === 'CIRCULAR_DEPENDENCY' &&
warning.importer.includes('node_modules')
) {
return;
}
// Call the default warning handler for all remaining warnings.
warn(warning);
},
};
}
function defServiceWorkerBundle() {
return {
input: `${OUT_SYMLINK}/tsc/service_worker/service_worker.js`,
output: {
name: 'service_worker',
format: 'iife',
esModule: false,
file: `${OUT_SYMLINK}/dist/service_worker.js`,
sourcemap: true,
},
plugins: [
nodeResolve({
mainFields: ['browser'],
browser: true,
preferBuiltins: false,
}),
commonjs(),
sourcemaps(),
],
};
}
function maybeUglify() {
const minifyEnv = process.env['MINIFY_JS'];
if (!minifyEnv) return [];
const opts =
minifyEnv === 'preserve_comments' ? {output: {comments: 'all'}} : undefined;
return [uglify(opts)];
}
const maybeBigtrace = process.env['ENABLE_BIGTRACE']
? [defBundle('tsc/bigtrace', 'bigtrace', 'dist_version/bigtrace')]
: [];
const maybeOpenPerfettoTrace = process.env['ENABLE_OPEN_PERFETTO_TRACE']
? [defBundle('tsc', 'open_perfetto_trace', 'dist/open_perfetto_trace')]
: [];
export default [
defBundle('tsc', 'frontend', 'dist_version'),
defBundle('tsc', 'engine', 'dist_version'),
defBundle('tsc', 'traceconv', 'dist_version'),
defBundle('tsc', 'chrome_extension', 'chrome_extension'),
defServiceWorkerBundle(),
]
.concat(maybeBigtrace)
.concat(maybeOpenPerfettoTrace);