Inline source maps in dev build (#18970)

* Inline source maps in dev build

* Update readme

* correct command

* Use env var

* Update location
This commit is contained in:
Charles Gagnon
2022-04-07 16:39:08 -07:00
committed by GitHub
parent 683d906138
commit a595fb8fd1
4 changed files with 15 additions and 11 deletions

View File

@@ -131,8 +131,11 @@ jobs:
ELECTRON_SKIP_BINARY_DOWNLOAD: 1 ELECTRON_SKIP_BINARY_DOWNLOAD: 1
run: yarn --frozen-lockfile --network-timeout 180000 run: yarn --frozen-lockfile --network-timeout 180000
# Don't inline source maps so that we generate code coverage for ts files
- name: Compile and Download - name: Compile and Download
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions
env:
SQL_NO_INLINE_SOURCEMAP: 1
- name: Run Unit Tests (Electron) - name: Run Unit Tests (Electron)
id: electron-unit-tests id: electron-unit-tests

View File

@@ -37,10 +37,9 @@ function createCompile(src, build, emitError) {
const sourcemaps = require('gulp-sourcemaps'); const sourcemaps = require('gulp-sourcemaps');
const projectPath = path.join(__dirname, '../../', src, 'tsconfig.json'); const projectPath = path.join(__dirname, '../../', src, 'tsconfig.json');
const overrideOptions = Object.assign(Object.assign({}, getTypeScriptCompilerOptions(src)), { inlineSources: Boolean(build) }); const overrideOptions = Object.assign(Object.assign({}, getTypeScriptCompilerOptions(src)), { inlineSources: Boolean(build) });
// {{SQL CARBON EDIT}} Never inline source maps so that generating local coverage works if (!build && !process.env['SQL_NO_INLINE_SOURCEMAP']) {
// if (!build) { overrideOptions.inlineSourceMap = true;
// // overrideOptions.inlineSourceMap = true; }
// }
const compilation = tsb.create(projectPath, overrideOptions, false, err => reporter(err)); const compilation = tsb.create(projectPath, overrideOptions, false, err => reporter(err));
function pipeline(token) { function pipeline(token) {
const bom = require('gulp-bom'); const bom = require('gulp-bom');

View File

@@ -44,10 +44,9 @@ function createCompile(src: string, build: boolean, emitError?: boolean) {
const projectPath = path.join(__dirname, '../../', src, 'tsconfig.json'); const projectPath = path.join(__dirname, '../../', src, 'tsconfig.json');
const overrideOptions = { ...getTypeScriptCompilerOptions(src), inlineSources: Boolean(build) }; const overrideOptions = { ...getTypeScriptCompilerOptions(src), inlineSources: Boolean(build) };
// {{SQL CARBON EDIT}} Never inline source maps so that generating local coverage works if (!build && !process.env['SQL_NO_INLINE_SOURCEMAP']) {
// if (!build) { overrideOptions.inlineSourceMap = true;
// // overrideOptions.inlineSourceMap = true; }
// }
const compilation = tsb.create(projectPath, overrideOptions, false, err => reporter(err)); const compilation = tsb.create(projectPath, overrideOptions, false, err => reporter(err));
@@ -88,7 +87,6 @@ function createCompile(src: string, build: boolean, emitError?: boolean) {
export function compileTask(src: string, out: string, build: boolean): () => NodeJS.ReadWriteStream { export function compileTask(src: string, out: string, build: boolean): () => NodeJS.ReadWriteStream {
return function () { return function () {
if (os.totalmem() < 4_000_000_000) { if (os.totalmem() < 4_000_000_000) {
throw new Error('compilation requires 4GB of RAM'); throw new Error('compilation requires 4GB of RAM');
} }

View File

@@ -30,7 +30,7 @@ Unit tests from layers `common` and `browser` are run inside `chromium`, `webkit
## Coverage ## Coverage
The following command will create a `coverage` folder at the root of the workspace: The following command will create a `coverage` folder in the `.build` folder at the root of the workspace:
**OS X and Linux** **OS X and Linux**
@@ -38,4 +38,8 @@ The following command will create a `coverage` folder at the root of the workspa
**Windows** **Windows**
scripts\test --coverage .\scripts\test.bat --coverage
NOTE: When running locally the coverage will be generated for the .js files because by default the sourcemaps
are inlined. To fix this set the environment variable `SQL_NO_INLINE_SOURCEMAP` to `1`, re-run the
compile/watch task and then re-run the test script with coverage enabled.