@flareapp/vite-plugin-sourcemap-uploader
Advanced tools
Comparing version 0.0.3 to 0.0.4
@@ -1,2 +0,2 @@ | ||
import { Sourcemap } from "./index"; | ||
import { Sourcemap } from './index'; | ||
export default class FlareApi { | ||
@@ -3,0 +3,0 @@ endpoint: string; |
@@ -35,3 +35,3 @@ var __importDefault = (this && this.__importDefault) || function (mod) { | ||
.catch((error) => { | ||
return reject(`${error.response.status}: ${error.response.data}`); | ||
return reject(`${error.response.status}: ${JSON.stringify(error.response.data)}`); | ||
}); | ||
@@ -38,0 +38,0 @@ }); |
@@ -1,9 +0,9 @@ | ||
import { Plugin } from "vite"; | ||
import { Plugin } from 'vite'; | ||
export declare type PluginConfig = { | ||
key: string; | ||
base?: string; | ||
apiEndpoint: string; | ||
runInDevelopment: boolean; | ||
version: string; | ||
removeSourcemaps: boolean; | ||
apiEndpoint?: string; | ||
runInDevelopment?: boolean; | ||
version?: string; | ||
removeSourcemaps?: boolean; | ||
}; | ||
@@ -15,2 +15,2 @@ export declare type Sourcemap = { | ||
}; | ||
export default function FlareSourcemapUploader({ key, base, apiEndpoint, runInDevelopment, version, removeSourcemaps, }: PluginConfig): Plugin; | ||
export default function flareSourcemapUploader({ key, base, apiEndpoint, runInDevelopment, version, removeSourcemaps, }: PluginConfig): Plugin; |
@@ -20,3 +20,3 @@ var __importDefault = (this && this.__importDefault) || function (mod) { | ||
const flareApi_1 = __importDefault(require("./flareApi")); | ||
function FlareSourcemapUploader({ key, base, apiEndpoint = 'https://flareapp.io/api/sourcemaps', runInDevelopment = false, version = (0, util_1.uuid)(), removeSourcemaps = false, }) { | ||
function flareSourcemapUploader({ key, base, apiEndpoint = 'https://flareapp.io/api/sourcemaps', runInDevelopment = false, version = (0, util_1.uuid)(), removeSourcemaps = false, }) { | ||
if (!key) { | ||
@@ -26,5 +26,3 @@ flareLog('No Flare API key was provided, not uploading sourcemaps to Flare.'); | ||
const flare = new flareApi_1.default(apiEndpoint, key, version); | ||
const enableUploadingSourcemaps = key && | ||
(process.env.NODE_ENV !== 'development' || runInDevelopment) && | ||
process.env.SKIP_SOURCEMAPS !== 'true'; | ||
const enableUploadingSourcemaps = key && (process.env.NODE_ENV !== 'development' || runInDevelopment) && process.env.SKIP_SOURCEMAPS !== 'true'; | ||
return { | ||
@@ -34,3 +32,2 @@ name: 'flare-vite-plugin', | ||
config({ build }, { mode }) { | ||
const enableSourcemaps = enableUploadingSourcemaps && mode !== 'development'; | ||
return { | ||
@@ -43,5 +40,10 @@ // Set FLARE_SOURCEMAP_VERSION and API key so the Flare JS client can read it | ||
build: { | ||
sourcemap: (build === null || build === void 0 ? void 0 : build.sourcemap) !== undefined | ||
? build.sourcemap | ||
: (enableSourcemaps ? 'hidden' : false), | ||
sourcemap: (() => { | ||
if ((build === null || build === void 0 ? void 0 : build.sourcemap) !== undefined) | ||
return build.sourcemap; | ||
const enableSourcemaps = enableUploadingSourcemaps && mode !== 'development'; | ||
if (enableSourcemaps) | ||
return 'hidden'; | ||
return false; | ||
})(), | ||
}, | ||
@@ -60,3 +62,4 @@ }; | ||
const files = await (0, fast_glob_1.default)('./**/*.map', { cwd: outputDir }); | ||
const sourcemaps = files.map((file) => { | ||
const sourcemaps = files | ||
.map((file) => { | ||
const sourcePath = file.replace(/\.map$/, ''); | ||
@@ -80,3 +83,4 @@ const sourceFilename = (0, path_1.resolve)(outputDir, sourcePath); | ||
} | ||
}).filter(sourcemap => sourcemap !== null); | ||
}) | ||
.filter((sourcemap) => sourcemap !== null); | ||
if (!sourcemaps.length) { | ||
@@ -111,3 +115,3 @@ return; | ||
} | ||
exports.default = FlareSourcemapUploader; | ||
exports.default = flareSourcemapUploader; | ||
function flareLog(message, isError = false) { | ||
@@ -114,0 +118,0 @@ const formattedMessage = '@flareapp/vite-plugin-sourcemap-uploader: ' + message; |
{ | ||
"name": "@flareapp/vite-plugin-sourcemap-uploader", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"main": "dist/index.js", | ||
@@ -17,3 +17,4 @@ "types": "dist/index.d.ts", | ||
"build": "tsc", | ||
"prepublishOnly": "yarn build" | ||
"prepublishOnly": "yarn build", | ||
"format": "prettier --write 'src/*.ts'" | ||
}, | ||
@@ -30,2 +31,3 @@ "homepage": "https://flareapp.io", | ||
"@types/node": "^18.0.1", | ||
"prettier": "2.7.1", | ||
"typescript": "^4.7.4", | ||
@@ -32,0 +34,0 @@ "vite": "^2.7" |
@@ -24,7 +24,7 @@ # Vite plugin for sending sourcemaps to Flare | ||
import { defineConfig } from 'vite'; | ||
import FlareSourcemapUploader from './flare'; | ||
import flareSourcemapUploader from '@flareapp/vite-plugin-sourcemap-uploader'; | ||
export default defineConfig({ | ||
plugins: [ | ||
FlareSourcemapUploader({ | ||
flareSourcemapUploader({ | ||
key: 'YOUR API KEY HERE' | ||
@@ -31,0 +31,0 @@ }), |
@@ -1,4 +0,4 @@ | ||
import {deflateRawSync} from "zlib"; | ||
import axios from "axios"; | ||
import {Sourcemap} from "./index"; | ||
import { deflateRawSync } from 'zlib'; | ||
import axios from 'axios'; | ||
import { Sourcemap } from './index'; | ||
@@ -29,6 +29,6 @@ export default class FlareApi { | ||
.catch((error) => { | ||
return reject(`${error.response.status}: ${error.response.data}`); | ||
return reject(`${error.response.status}: ${JSON.stringify(error.response.data)}`); | ||
}); | ||
}) | ||
}); | ||
} | ||
} |
@@ -1,8 +0,8 @@ | ||
import {resolve} from 'path'; | ||
import {existsSync, readFileSync, unlinkSync} from 'fs'; | ||
import { resolve } from 'path'; | ||
import { existsSync, readFileSync, unlinkSync } from 'fs'; | ||
import glob from 'fast-glob'; | ||
import {Plugin, ResolvedConfig, UserConfig} from "vite"; | ||
import {OutputOptions} from "rollup"; | ||
import {uuid} from "./util"; | ||
import FlareApi from "./flareApi"; | ||
import { Plugin, ResolvedConfig, UserConfig } from 'vite'; | ||
import { OutputOptions } from 'rollup'; | ||
import { uuid } from './util'; | ||
import FlareApi from './flareApi'; | ||
@@ -12,6 +12,6 @@ export type PluginConfig = { | ||
base?: string; | ||
apiEndpoint: string; | ||
runInDevelopment: boolean; | ||
version: string; | ||
removeSourcemaps: boolean; | ||
apiEndpoint?: string; | ||
runInDevelopment?: boolean; | ||
version?: string; | ||
removeSourcemaps?: boolean; | ||
}; | ||
@@ -22,6 +22,6 @@ | ||
content: string; | ||
sourcemap_url: string, | ||
sourcemap_url: string; | ||
}; | ||
export default function FlareSourcemapUploader({ | ||
export default function flareSourcemapUploader({ | ||
key, | ||
@@ -40,5 +40,4 @@ base, | ||
const enableUploadingSourcemaps = key && | ||
(process.env.NODE_ENV !== 'development' || runInDevelopment) && | ||
process.env.SKIP_SOURCEMAPS !== 'true'; | ||
const enableUploadingSourcemaps = | ||
key && (process.env.NODE_ENV !== 'development' || runInDevelopment) && process.env.SKIP_SOURCEMAPS !== 'true'; | ||
@@ -49,5 +48,3 @@ return { | ||
config({build}: UserConfig, {mode}: { mode: string }) { | ||
const enableSourcemaps = enableUploadingSourcemaps && mode !== 'development'; | ||
config({ build }: UserConfig, { mode }: { mode: string }) { | ||
return { | ||
@@ -60,5 +57,8 @@ // Set FLARE_SOURCEMAP_VERSION and API key so the Flare JS client can read it | ||
build: { | ||
sourcemap: build?.sourcemap !== undefined | ||
? build.sourcemap | ||
: (enableSourcemaps ? 'hidden' : false), | ||
sourcemap: (() => { | ||
if (build?.sourcemap !== undefined) return build.sourcemap; | ||
const enableSourcemaps = enableUploadingSourcemaps && mode !== 'development'; | ||
if (enableSourcemaps) return 'hidden'; | ||
return false; | ||
})(), | ||
}, | ||
@@ -80,25 +80,27 @@ }; | ||
const files = await glob('./**/*.map', {cwd: outputDir}); | ||
const sourcemaps = files.map((file): Sourcemap | null => { | ||
const sourcePath = file.replace(/\.map$/, ''); | ||
const sourceFilename = resolve(outputDir, sourcePath); | ||
const files = await glob('./**/*.map', { cwd: outputDir }); | ||
const sourcemaps = files | ||
.map((file): Sourcemap | null => { | ||
const sourcePath = file.replace(/\.map$/, ''); | ||
const sourceFilename = resolve(outputDir, sourcePath); | ||
if (!existsSync(sourceFilename)) { | ||
flareLog(`no corresponding source found for "${file}"`, true); | ||
return null; | ||
} | ||
if (!existsSync(sourceFilename)) { | ||
flareLog(`no corresponding source found for "${file}"`, true); | ||
return null; | ||
} | ||
const sourcemapLocation = resolve(outputDir, file); | ||
const sourcemapLocation = resolve(outputDir, file); | ||
try { | ||
return { | ||
content: readFileSync(sourcemapLocation, 'utf8'), | ||
sourcemap_url: sourcemapLocation, | ||
original_file: `${base}${sourcePath}`, | ||
}; | ||
} catch (error) { | ||
flareLog('Error reading sourcemap file ' + sourcemapLocation + ': ' + error, true); | ||
return null; | ||
} | ||
}).filter(sourcemap => sourcemap !== null) as Sourcemap[]; | ||
try { | ||
return { | ||
content: readFileSync(sourcemapLocation, 'utf8'), | ||
sourcemap_url: sourcemapLocation, | ||
original_file: `${base}${sourcePath}`, | ||
}; | ||
} catch (error) { | ||
flareLog('Error reading sourcemap file ' + sourcemapLocation + ': ' + error, true); | ||
return null; | ||
} | ||
}) | ||
.filter((sourcemap) => sourcemap !== null) as Sourcemap[]; | ||
@@ -105,0 +107,0 @@ if (!sourcemaps.length) { |
20577
378
4