Я разрабатываю Webextension for Chrome, код написан на Typescript, поэтому мне нужны исходные карты.
Расширение поставляется в комплекте с ParcelJS, но я считаю, что моя проблема не связана с компоновщиком.
После обновления с Chrome 70 до 72 исходные карты больше не работают.В качестве минимального примера я могу воспроизвести проблему на MacOS 14 и Ubuntu 18.04, Chrome 72 со следующим кодом.
Эта проблема, кажется, изолирована от Chrome 72. К сожалению, на момент написания этойтекущая стабильная версия:
- версия 73.0.3683.27 (официальная сборка) бета-версия (64-разрядная), без проблем
- версия 71.0.3578.98 (официальная сборка) стабильная Chromium 64-разрядная,без проблем
- Версия 72.0.3626.96 (Официальная сборка) (64-разрядная версия), не работает
Для удобства я настроил репозиторий github.Клонируйте его и выполните следующие команды (извините, я не уверен, нужно ли вам устанавливать пакет посылок глобально. Я всегда делаю это для удобства)
git clone https://github.com/lhk/contentscript_smap.git
cd contentscript_smap
# npm install -g parcel-bundler
npm install -d
parcel build manifest.json
Чтобы следовать правилам Stackoverflow (если вы связываетедля кодирования, вы также должны включить его в свой вопрос, ссылка может перейти в какой-то момент):
content.ts:
console.log('log from typescript')
manifest.json:
{
"manifest_version": 2,
"name": "sourcemaps messed up",
"version": "0.0.1",
"description": "",
"author": "",
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": [
"./content.ts"
]
}
],
"permissions": [
"activeTab",
"<all_urls>"
]
}
package.json:
{
"name": "contentscript_smap",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/lhk/contentscript_smap.git"
},
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/lhk/contentscript_smap/issues"
},
"homepage": "https://github.com/lhk/contentscript_smap#readme",
"dependencies": {
"parcel-bundler": "^1.11.0",
"parcel-plugin-web-extension": "^1.5.1",
"typescript": "^3.3.3"
}
}
Parcel объединит расширение и создаст папку dist/
, оттудаВы можете установить его в Firefox и Chrome.
Firefox прекрасно работает (посмотрите ссылку на исходный код контента .TS ):
Chrome не находит исходную карту:
И консоль просто отображает скомпилированный источник вместоисходный сопоставленный первоисточник.Я вообще не могу найти машинописный код в Chrome.