mirror of
https://github.com/jlengrand/open-wc.git
synced 2026-03-10 08:31:19 +00:00
feat(es-dev-server): render large files in babel compact mode
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
import { transformAsync, TransformOptions } from '@babel/core';
|
||||
import deepmerge from 'deepmerge';
|
||||
|
||||
// string length at which babel starts deoptimizing
|
||||
const BABEL_DEOPTIMIZED_LENGTH = 500000;
|
||||
|
||||
interface CreateBabelTransformConfig {
|
||||
browserTarget: string | string[];
|
||||
polyfillModules?: boolean;
|
||||
@@ -51,10 +48,15 @@ export function createBabelTransform(
|
||||
]);
|
||||
|
||||
return async function transform(filename: string, source: string) {
|
||||
// babel runs out of memory when processing source maps for large files
|
||||
const sourceMaps = source.length > BABEL_DEOPTIMIZED_LENGTH ? false : 'inline';
|
||||
|
||||
const result = await transformAsync(source, { filename, sourceMaps, ...config });
|
||||
const largeFile = source.length > 100000;
|
||||
const result = await transformAsync(source, {
|
||||
filename,
|
||||
// prevent generating pretty output for large files
|
||||
compact: largeFile,
|
||||
// babel runs out of memory when processing source maps andfor large files
|
||||
sourceMaps: !largeFile,
|
||||
...config,
|
||||
});
|
||||
if (!result || !result.code) {
|
||||
throw new Error('Failed to transform');
|
||||
}
|
||||
|
||||
@@ -19,8 +19,7 @@ async function* asyncGenerator() {
|
||||
yield 0;
|
||||
await Promise.resolve();
|
||||
yield 1;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4Lmh0bWwiXSwibmFtZXMiOlsibWVzc2FnZSIsImNvbnNvbGUiLCJsb2ciLCJGb28iLCJiYXIiLCJ3aW5kb3ciLCJmb28iLCJhc3luY0dlbmVyYXRvciIsIlByb21pc2UiLCJyZXNvbHZlIl0sIm1hcHBpbmdzIjoiOztBQUNJLE1BQU1BLE9BQU8sR0FBRyxLQUFoQjtBQUNBQyxPQUFPLENBQUNDLEdBQVIsQ0FBYSxtQkFBa0JGLE9BQVEsRUFBdkM7O0FBRUEsTUFBTUcsR0FBTixDQUFVOztBQUlWLE1BQU1DLEdBQUcsR0FBRyxLQUFaO0FBRUFILE9BQU8sQ0FBQ0MsR0FBUiwrQkFBWUcsTUFBWixvQ0FBWSxRQUFRQyxHQUFwQixxQkFBWSxZQUFhRixHQUF6Qiw4QkFBZ0MsR0FBaEM7O0FBRUEsZ0JBQWdCRyxjQUFoQixHQUFpQztBQUMvQixRQUFNQyxPQUFPLENBQUNDLE9BQVIsRUFBTjtBQUNBLFFBQU0sQ0FBTjtBQUNBLFFBQU1ELE9BQU8sQ0FBQ0MsT0FBUixFQUFOO0FBQ0EsUUFBTSxDQUFOO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICBjb25zdCBtZXNzYWdlID0gJ2Zvbyc7XG4gICAgY29uc29sZS5sb2coYFRoZSBtZXNzYWdlIGlzOiAke21lc3NhZ2V9YCk7XG5cbiAgICBjbGFzcyBGb28ge1xuXG4gICAgfVxuXG4gICAgY29uc3QgYmFyID0gJ2J1eic7XG5cbiAgICBjb25zb2xlLmxvZyh3aW5kb3c/LmZvbz8uYmFyID8/ICd4Jyk7XG5cbiAgICBhc3luYyBmdW5jdGlvbiogYXN5bmNHZW5lcmF0b3IoKSB7XG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgIHlpZWxkIDA7XG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgIHlpZWxkIDE7XG4gICAgfVxuICAiXX0=</script>
|
||||
}</script>
|
||||
|
||||
<script type="module">var _window$foo$bar, _window, _window$foo;
|
||||
|
||||
@@ -38,8 +37,7 @@ async function* asyncGenerator() {
|
||||
yield 0;
|
||||
await Promise.resolve();
|
||||
yield 1;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4Lmh0bWwiXSwibmFtZXMiOlsibWVzc2FnZSIsImNvbnNvbGUiLCJsb2ciLCJGb28iLCJiYXIiLCJ3aW5kb3ciLCJmb28iLCJhc3luY0dlbmVyYXRvciIsIlByb21pc2UiLCJyZXNvbHZlIl0sIm1hcHBpbmdzIjoiOztBQUNJLFNBQVNBLE9BQVQsUUFBd0IsbUNBQXhCO0FBQ0EsT0FBTyx1QkFBUDtBQUVBQyxPQUFPLENBQUNDLEdBQVIsQ0FBYSxtQkFBa0JGLE9BQVEsRUFBdkM7O0FBRUEsTUFBTUcsR0FBTixDQUFVOztBQUlWLE1BQU1DLEdBQUcsR0FBRyxLQUFaO0FBRUFILE9BQU8sQ0FBQ0MsR0FBUiwrQkFBWUcsTUFBWixvQ0FBWSxRQUFRQyxHQUFwQixxQkFBWSxZQUFhRixHQUF6Qiw4QkFBZ0MsR0FBaEM7O0FBRUEsZ0JBQWdCRyxjQUFoQixHQUFpQztBQUMvQixRQUFNQyxPQUFPLENBQUNDLE9BQVIsRUFBTjtBQUNBLFFBQU0sQ0FBTjtBQUNBLFFBQU1ELE9BQU8sQ0FBQ0MsT0FBUixFQUFOO0FBQ0EsUUFBTSxDQUFOO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICBpbXBvcnQgeyBtZXNzYWdlIH0gZnJvbSAnLi9ub2RlX21vZHVsZXMvbXktbW9kdWxlL2luZGV4LmpzJztcbiAgICBpbXBvcnQgJy4vc3JjL2xvY2FsLW1vZHVsZS5qcyc7XG5cbiAgICBjb25zb2xlLmxvZyhgVGhlIG1lc3NhZ2UgaXM6ICR7bWVzc2FnZX1gKTtcblxuICAgIGNsYXNzIEZvbyB7XG5cbiAgICB9XG5cbiAgICBjb25zdCBiYXIgPSAnYnV6JztcblxuICAgIGNvbnNvbGUubG9nKHdpbmRvdz8uZm9vPy5iYXIgPz8gJ3gnKTtcblxuICAgIGFzeW5jIGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHtcbiAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgeWllbGQgMDtcbiAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgeWllbGQgMTtcbiAgICB9XG4gICJdfQ==</script>
|
||||
}</script>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -19,8 +19,7 @@ async function* asyncGenerator() {
|
||||
yield 0;
|
||||
await Promise.resolve();
|
||||
yield 1;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4Lmh0bWwiXSwibmFtZXMiOlsibWVzc2FnZSIsImNvbnNvbGUiLCJsb2ciLCJGb28iLCJiYXIiLCJ3aW5kb3ciLCJmb28iLCJhc3luY0dlbmVyYXRvciIsIlByb21pc2UiLCJyZXNvbHZlIl0sIm1hcHBpbmdzIjoiOztBQUNJLE1BQU1BLE9BQU8sR0FBRyxLQUFoQjtBQUNBQyxPQUFPLENBQUNDLEdBQVIsQ0FBYSxtQkFBa0JGLE9BQVEsRUFBdkM7O0FBRUEsTUFBTUcsR0FBTixDQUFVOztBQUlWLE1BQU1DLEdBQUcsR0FBRyxLQUFaO0FBRUFILE9BQU8sQ0FBQ0MsR0FBUiwrQkFBWUcsTUFBWixvQ0FBWSxRQUFRQyxHQUFwQixxQkFBWSxZQUFhRixHQUF6Qiw4QkFBZ0MsR0FBaEM7O0FBRUEsZ0JBQWdCRyxjQUFoQixHQUFpQztBQUMvQixRQUFNQyxPQUFPLENBQUNDLE9BQVIsRUFBTjtBQUNBLFFBQU0sQ0FBTjtBQUNBLFFBQU1ELE9BQU8sQ0FBQ0MsT0FBUixFQUFOO0FBQ0EsUUFBTSxDQUFOO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICBjb25zdCBtZXNzYWdlID0gJ2Zvbyc7XG4gICAgY29uc29sZS5sb2coYFRoZSBtZXNzYWdlIGlzOiAke21lc3NhZ2V9YCk7XG5cbiAgICBjbGFzcyBGb28ge1xuXG4gICAgfVxuXG4gICAgY29uc3QgYmFyID0gJ2J1eic7XG5cbiAgICBjb25zb2xlLmxvZyh3aW5kb3c/LmZvbz8uYmFyID8/ICd4Jyk7XG5cbiAgICBhc3luYyBmdW5jdGlvbiogYXN5bmNHZW5lcmF0b3IoKSB7XG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgIHlpZWxkIDA7XG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgIHlpZWxkIDE7XG4gICAgfVxuICAiXX0=</script>
|
||||
}</script>
|
||||
|
||||
<script type="module">var _window$foo$bar, _window, _window$foo;
|
||||
|
||||
@@ -38,8 +37,7 @@ async function* asyncGenerator() {
|
||||
yield 0;
|
||||
await Promise.resolve();
|
||||
yield 1;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4Lmh0bWwiXSwibmFtZXMiOlsibWVzc2FnZSIsImNvbnNvbGUiLCJsb2ciLCJGb28iLCJiYXIiLCJ3aW5kb3ciLCJmb28iLCJhc3luY0dlbmVyYXRvciIsIlByb21pc2UiLCJyZXNvbHZlIl0sIm1hcHBpbmdzIjoiOztBQUNJLFNBQVNBLE9BQVQsUUFBd0IsbUNBQXhCO0FBQ0EsT0FBTyx1QkFBUDtBQUVBQyxPQUFPLENBQUNDLEdBQVIsQ0FBYSxtQkFBa0JGLE9BQVEsRUFBdkM7O0FBRUEsTUFBTUcsR0FBTixDQUFVOztBQUlWLE1BQU1DLEdBQUcsR0FBRyxLQUFaO0FBRUFILE9BQU8sQ0FBQ0MsR0FBUiwrQkFBWUcsTUFBWixvQ0FBWSxRQUFRQyxHQUFwQixxQkFBWSxZQUFhRixHQUF6Qiw4QkFBZ0MsR0FBaEM7O0FBRUEsZ0JBQWdCRyxjQUFoQixHQUFpQztBQUMvQixRQUFNQyxPQUFPLENBQUNDLE9BQVIsRUFBTjtBQUNBLFFBQU0sQ0FBTjtBQUNBLFFBQU1ELE9BQU8sQ0FBQ0MsT0FBUixFQUFOO0FBQ0EsUUFBTSxDQUFOO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICBpbXBvcnQgeyBtZXNzYWdlIH0gZnJvbSAnLi9ub2RlX21vZHVsZXMvbXktbW9kdWxlL2luZGV4LmpzJztcbiAgICBpbXBvcnQgJy4vc3JjL2xvY2FsLW1vZHVsZS5qcyc7XG5cbiAgICBjb25zb2xlLmxvZyhgVGhlIG1lc3NhZ2UgaXM6ICR7bWVzc2FnZX1gKTtcblxuICAgIGNsYXNzIEZvbyB7XG5cbiAgICB9XG5cbiAgICBjb25zdCBiYXIgPSAnYnV6JztcblxuICAgIGNvbnNvbGUubG9nKHdpbmRvdz8uZm9vPy5iYXIgPz8gJ3gnKTtcblxuICAgIGFzeW5jIGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHtcbiAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgeWllbGQgMDtcbiAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgeWllbGQgMTtcbiAgICB9XG4gICJdfQ==</script>
|
||||
}</script>
|
||||
|
||||
<script type="module" src="./app.js"></script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user