提交 58596383 编写于 作者: D DCloud_LXH

chore: uni-stacktracey test、uts error path

上级 3555bf36
const path = require('path')
const { const {
stacktracey, stacktracey,
uniStracktraceyPreset, uniStracktraceyPreset,
utsStracktraceyPreset, utsStracktraceyPreset,
} = require('../dist/uni-stacktracey.cjs.js') } = require('../dist/uni-stacktracey.cjs.js')
const utsErrorMsg = `Appid: __UNI__E070870 const utsErrorMsg = `e: DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestModule.kt: (9, 5): Unresolved reference: logxxxxxxx
e: DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestComponent.kt: (68, 9): Unresolved reference: hello
e: DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestModule.kt: (30, 9): Unresolved reference: hello
FAILURE: Build failed with an exception. FAILURE: Build failed with an exception.
...@@ -19,7 +18,7 @@ Run with --stacktrace option to get the stack trace. Run with --info or --debug ...@@ -19,7 +18,7 @@ Run with --stacktrace option to get the stack trace. Run with --info or --debug
* Get more help at https://help.gradle.org * Get more help at https://help.gradle.org
BUILD FAILED in 3s` BUILD FAILED in 2s`
const uniErrorMsg = `Error: Sentry Error const uniErrorMsg = `Error: Sentry Error
at a.throwError(/static/js/pages-index-index.3ab0d0e5.js:1:567) at a.throwError(/static/js/pages-index-index.3ab0d0e5.js:1:567)
...@@ -35,7 +34,10 @@ describe('uni-stacktracey', () => { ...@@ -35,7 +34,10 @@ describe('uni-stacktracey', () => {
test('uniStracktraceyPreset local', () => { test('uniStracktraceyPreset local', () => {
stacktracey(uniErrorMsg, { stacktracey(uniErrorMsg, {
preset: uniStracktraceyPreset({ preset: uniStracktraceyPreset({
base: 'D:/DCloud_local_git/uni-app-next/packages/uni-stacktracey/test/__UNI__APPID__/1.0.0/.sourcemap/h5/', base: path.resolve(
__dirname,
'../test/__UNI__APPID__/1.0.0/.sourcemap/h5/'
),
sourceRoot: '', sourceRoot: '',
}), }),
}).then((res: string) => { }).then((res: string) => {
...@@ -51,17 +53,18 @@ at node_modules/@sentry/browser/esm/helpers.js:74 ...@@ -51,17 +53,18 @@ at node_modules/@sentry/browser/esm/helpers.js:74
}) })
}) })
test('uniStracktraceyPreset', () => { test('uniStracktraceyPreset local', () => {
stacktracey(utsErrorMsg, { stacktracey(utsErrorMsg, {
preset: utsStracktraceyPreset({ preset: utsStracktraceyPreset({
base: '/usr/fxy/poroject/test/.sourcemap/src/', base: path.resolve(
sourceRoot: __dirname,
'/wgtRoot/__UNI__E070870/nativeplugins/DCloud-UTSPlugin/android/src/', '../test/nativeplugins-sourceMap/DCloud-UTSPlugin/'
),
sourceRoot: 'DCloud-UTSPlugin/android/src/',
}), }),
}).then((res: string) => { }).then((res: string) => {
expect(res).toEqual(`Appid: __UNI__E070870 expect(res)
e: DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestComponent.kt: (68, 9): Unresolved reference: hello .toEqual(`e: C:/Users/xianyang/Documents/HBuilderProjects/test-uni2/nativeplugins/DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestModule.uts: (7, 0): Unresolved reference: logxxxxxxx
e: DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestModule.kt: (30, 9): Unresolved reference: hello
FAILURE: Build failed with an exception. FAILURE: Build failed with an exception.
...@@ -74,7 +77,7 @@ Run with --stacktrace option to get the stack trace. Run with --info or --debug ...@@ -74,7 +77,7 @@ Run with --stacktrace option to get the stack trace. Run with --info or --debug
* Get more help at https://help.gradle.org * Get more help at https://help.gradle.org
BUILD FAILED in 3s`) BUILD FAILED in 2s`)
}) })
}) })
}) })
...@@ -124,7 +124,7 @@ function uniStracktraceyPreset(opts) { ...@@ -124,7 +124,7 @@ function uniStracktraceyPreset(opts) {
if (!file) if (!file)
return ''; return '';
if (sourceRoot) { if (sourceRoot) {
return `${file.replace(sourceRoot, base)}.map`; return `${file.replace(sourceRoot, base + '/')}.map`;
} }
return `${base}/${file}.map`; return `${base}/${file}.map`;
}, },
...@@ -142,12 +142,16 @@ function uniStracktraceyPreset(opts) { ...@@ -142,12 +142,16 @@ function uniStracktraceyPreset(opts) {
}; };
} }
function utsStracktraceyPreset(opts) { function utsStracktraceyPreset(opts) {
const { base, sourceRoot } = opts;
let stack; let stack;
let errStack = []; let errStack = [];
return { return {
parseSourceMapUrl(file, fileName) { parseSourceMapUrl(file, fileName) {
// 根据 base,filename 组合 sourceMapUrl // 组合 sourceMapUrl
return `${file.replace(opts.sourceRoot, opts.base)}.map`; if (sourceRoot) {
return `${file.replace(sourceRoot, base + '/')}.map`;
}
return `${base}/${file}.map`;
}, },
getSourceMapContent(file, fileName) { getSourceMapContent(file, fileName) {
// 根据 base,filename 组合 sourceMapUrl // 根据 base,filename 组合 sourceMapUrl
...@@ -198,7 +202,7 @@ function utsStracktraceyPreset(opts) { ...@@ -198,7 +202,7 @@ function utsStracktraceyPreset(opts) {
if (item === '%StacktraceyItem%') { if (item === '%StacktraceyItem%') {
const _stack = stack.items.shift(); const _stack = stack.items.shift();
if (_stack) if (_stack)
return `${_stack.callee}${_stack.fileShort}/${_stack.fileName}: (${_stack.line}, ${_stack.column}): ${_stack.errMsg}`; return `${_stack.callee}${_stack.file}: (${_stack.line}, ${_stack.column}): ${_stack.errMsg}`;
} }
return item; return item;
}) })
......
...@@ -197,7 +197,7 @@ export function uniStracktraceyPreset( ...@@ -197,7 +197,7 @@ export function uniStracktraceyPreset(
file = (file.match(/(\/.*)/) || [])[1] file = (file.match(/(\/.*)/) || [])[1]
if (!file) return '' if (!file) return ''
if (sourceRoot) { if (sourceRoot) {
return `${file.replace(sourceRoot, base)}.map` return `${file.replace(sourceRoot, base + '/')}.map`
} }
return `${base}/${file}.map` return `${base}/${file}.map`
}, },
...@@ -241,7 +241,7 @@ export function utsStracktraceyPreset( ...@@ -241,7 +241,7 @@ export function utsStracktraceyPreset(
parseSourceMapUrl(file, fileName) { parseSourceMapUrl(file, fileName) {
// 组合 sourceMapUrl // 组合 sourceMapUrl
if (sourceRoot) { if (sourceRoot) {
return `${file.replace(sourceRoot, base)}.map` return `${file.replace(sourceRoot, base + '/')}.map`
} }
return `${base}/${file}.map` return `${base}/${file}.map`
}, },
...@@ -306,7 +306,7 @@ export function utsStracktraceyPreset( ...@@ -306,7 +306,7 @@ export function utsStracktraceyPreset(
if (item === '%StacktraceyItem%') { if (item === '%StacktraceyItem%') {
const _stack = stack.items.shift() const _stack = stack.items.shift()
if (_stack) if (_stack)
return `${_stack.callee}${_stack.fileShort}/${_stack.fileName}: (${_stack.line}, ${_stack.column}): ${_stack.errMsg}` return `${_stack.callee}${_stack.file}: (${_stack.line}, ${_stack.column}): ${_stack.errMsg}`
} }
return item return item
}) })
......
const path = require('path')
const { const {
stacktracey, stacktracey,
uniStracktraceyPreset, uniStracktraceyPreset,
utsStracktraceyPreset, utsStracktraceyPreset,
} = require('../dist/uni-stacktracey.cjs.js') } = require('../dist/uni-stacktracey.cjs.js')
const utsErrorMsg = `Appid: __UNI__E070870 const utsErrorMsg = `e: DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestModule.kt: (9, 5): Unresolved reference: logxxxxxxx
e: DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestComponent.kt: (68, 9): Unresolved reference: hello
e: DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestModule.kt: (30, 9): Unresolved reference: hello
FAILURE: Build failed with an exception. FAILURE: Build failed with an exception.
...@@ -19,7 +18,8 @@ Run with --stacktrace option to get the stack trace. Run with --info or --debug ...@@ -19,7 +18,8 @@ Run with --stacktrace option to get the stack trace. Run with --info or --debug
* Get more help at https://help.gradle.org * Get more help at https://help.gradle.org
BUILD FAILED in 3s` BUILD FAILED in 2s
`
const uniErrorMsg = `Error: Sentry Error const uniErrorMsg = `Error: Sentry Error
at a.throwError(/static/js/pages-index-index.3ab0d0e5.js:1:567) at a.throwError(/static/js/pages-index-index.3ab0d0e5.js:1:567)
...@@ -31,20 +31,26 @@ at HTMLElement.n(/static/js/chunk-vendors.75525bd5.js:34:13824) ...@@ -31,20 +31,26 @@ at HTMLElement.n(/static/js/chunk-vendors.75525bd5.js:34:13824)
at HTMLElement.o._wrapper(/static/js/chunk-vendors.75525bd5.js:34:53966) at HTMLElement.o._wrapper(/static/js/chunk-vendors.75525bd5.js:34:53966)
at HTMLElement.i(/static/js/chunk-vendors.75525bd5.js:7:609894)` at HTMLElement.i(/static/js/chunk-vendors.75525bd5.js:7:609894)`
stacktracey(uniErrorMsg, { /* stacktracey(uniErrorMsg, {
preset: uniStracktraceyPreset({ preset: uniStracktraceyPreset({
base: 'D:/DCloud_local_git/uni-app-next/packages/uni-stacktracey/test/__UNI__APPID__/1.0.0/.sourcemap/h5/', base: path.resolve(__dirname, './__UNI__APPID__/1.0.0/.sourcemap/h5/'),
sourceRoot: '', sourceRoot: '',
}), }),
}).then((res) => { }).then((res) => {
console.log('res :>> ', res) console.log('res :>> ', res)
}) }) */
/* stacktracey(utsErrorMsg, { console.log(
'path.resolve(__dirname, "./nativeplugins-sourceMap/DCloud-UTSPlugin/"), :>> ',
path.resolve(__dirname, './nativeplugins-sourceMap/DCloud-UTSPlugin/')
)
stacktracey(utsErrorMsg, {
preset: utsStracktraceyPreset({ preset: utsStracktraceyPreset({
base: '/usr/fxy/poroject/test/.sourcemap/src/', base: path.resolve(
sourceRoot: __dirname,
'/wgtRoot/__UNI__E070870/nativeplugins/DCloud-UTSPlugin/android/src/', './nativeplugins-sourceMap/DCloud-UTSPlugin/'
),
sourceRoot: 'DCloud-UTSPlugin/android/src/',
}), }),
}).then((res) => { }).then((res) => {
console.log('res :>> ', res); console.log('res :>> ', res)
}) */ })
{"version":3,"sources":["C:/Users/xianyang/Documents/HBuilderProjects/test-uni2/nativeplugins/DCloud-UTSPlugin/android/src/io/dcloud/uniplugin/TestModule.uts"],"names":["logxxxxxxx","TestModule","UniModule","TAG","UniJSMethod","uiThread","testAsyncFunc","options","callback","log","data","JSONObject","invoke","testSyncFunc","onActivityResult","requestCode","resultCode","REQUEST_CODE","hasExtra","getStringExtra"],"mappings":";AAAA,OAAmB,sBAAwB,CAAC;AAC5C,OAAuB,+BAAiC,CAAC;AACzD,OAAsB,yCAA2C,CAAC;AAClE,OAAwB,+CAAiD,CAAC;AAC1E,OAA0B,6CAA+C,CAAC;AAC1E,OAAgB,2BAAO,CAAC;;IACxBA,UAAU;;AACK,WAAMC,UAAU,GAASC,SAAS,EAAE;IACjDC,SAAAA,GAAG,GAAG,YAAY,CAAC;IAGnB,CAACC,WAAW,CAAC,CAAEC,QAAQ,GAAE,IAAI,CAAE,CAAC;IAAA,SAChCC,aAAa,CAACC,OAAmB,EAAV,UAAU,EAAEC,QAAwB,EAAb,aAAa,CAAA,EAAE;QAC3DC,GAAG,CAAC,IAAI,CAACN,GAAG,EAAE,yBAAyB,CAAC,CAAC;QACzC,IAAIK,QAAQ,IAAI,IAAI,EAAE;YACpB,IAAME,IAAI,GAAG,AAAIC,UAAU,EAAE,AAAC;YAC9BD,IAAI,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;YAC9BF,QAAQ,CAACI,MAAM,CAACF,IAAI,CAAC,CAAC;;;IAI1B,CAACN,WAAW,CAAC,CAAEC,QAAQ,GAAE,KAAK,CAAE,CAAC;IAAA,SACjCQ,YAAY,CAACN,OAAmB,EAAV,UAAU,GAAG,UAAU,CAAC;QAC5C,IAAMG,IAAI,GAAG,AAAIC,UAAU,EAAE,AAAC;QAC9BD,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;QAC5B,OAAOA,IAAI,CAAC;;IAEd,kBAASI,gBAAgB,CAACC,WAAgB,EAAH,GAAG,EAAEC,UAAe,EAAH,GAAG,EAAEN,IAAY,EAAN,MAAM,EAAE;QACzE,IAAIK,WAAW,IAAId,UAAU,CAACgB,YAAY,IAAIP,IAAI,CAACQ,QAAQ,CAAC,SAAS,CAAC,EAAE;YACtET,GAAG,CAAC,IAAI,CAACN,GAAG,EAAE,wBAAY,GAAGO,IAAI,CAACS,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;;QAC9D,MAAM;YACL,KAAK,CAACL,gBAAgB,CAACC,WAAW,EAAEC,UAAU,EAAEN,IAAI,CAAC,CAAC;;;;QAtB1D,IAAOO,YAAY,GAAG,IAAI,CAAC;;CAyB5B"}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册