Сборка базируется на userscript-typescript-webpack плюс доработки
- typescript
- webpack
- eslint
- jest
- puppeteer
- git clone
npm inpm run build:watch- Включить для Tampermonkey доступ к локальным урлам
- Добавить в Tampermonkey содержимое
./debug.jsотредактиров @require на актуальный путь скрипта из./dist
- Q: В консоли
Access to this or all local files is forbidden!\ A: Разрешить расширению доступ по локальным ссылкам - Q: Не обновляется внешний скрипт в @require \ A:
- git clone
npm inpm run build:serve- Добавить в Greasemonkey содержимое
./debug.js - Убедиться что
@requireсодержитhttp://localhost:9000/best_price/best_price.user.js - При изменениях добавлять к урлу get параметр с ревизией (@require сильно кешируется) Tampermonkey/tampermonkey#723
npm version [patch|minor|major]
https://docs.npmjs.com/about-semantic-versioning
patch- багфиксыminor- добавляем новый сайт или фичуmajor- когда ломаем все
npm run test - запуск юнит тестов
npx playwright install-
- в папке
tests/jsdom/snapshotsудалить определенный снапшот или все снапшоты - или в
tests/jsdom/jsdom_snapshot.tsJSDOM_SNAPSHOT_CONFдобавить флагreplacetrue
- в папке
- запустить обновление снапшота
npm run test:jsdom:snapshot-sync
- Install Ubuntu-24.04 via windows store or wsl console
- Install node via jetbrains instructions