Conversation
- Replace vue-cli-service with vite, @vitejs/plugin-vue2, vite-plugin-pwa, vite-plugin-svg-icons, vite-plugin-node-polyfills - Move index.html to project root with <script type="module"> entry point - Remove vue.config.js, babel.config.js, postcss.config.js, vue-template-compiler - Migrate SCSS @import paths (remove ~ prefix), SVG imports to virtual:svg-icons-register - Upgrade @vechain/connex 2.2.0→2.3.2, thor-devkit 2.1.1→2.2.0 - Upgrade TypeScript to 5.7.3, @types/node to 22.19.15 - Add skipLibCheck to tsconfig; replace webpack-env types with vite/client - Add eslint@8 + eslint-plugin-vue@9 + @typescript-eslint/* with .eslintrc.js - Merge public/manifest.json into VitePWA manifest config - Add resolutions.readable-stream@^3.6.2 to deduplicate hash-base nested dep - Update Node 16→20 in Dockerfile, .nvmrc, CI workflow - Fix entrypoint.sh asset glob: js/app.*.js* → assets/*.js* - Fix unused abi import in AccountTransfers.vue; add default return in Frame.vue network() Constraint: vite@8 incompatible with @vitejs/plugin-vue2 (esbuild removed); pinned to 7.3.1 Constraint: vite-plugin-node-polyfills include list must cover http/https for @vechain/connex-driver Rejected: vite@8 | removed esbuild, uses rolldown — breaks @vitejs/plugin-vue2 Rejected: resolve.dedupe for readable-stream | yarn resolutions more reliable for nested deps Confidence: high Scope-risk: broad
- Alias @vechain/picasso to its CJS entry (dist/index.js) — esm/index.js
incorrectly uses require('mersenne-twister') despite being pointed to
by the module field, which Rollup processes as ESM and cannot transform
- Deduplicate readable-stream to ^3.6.2 via resolutions to eliminate
hash-base nested [email protected] which lacked process.version at runtime
- Scope vite-plugin-node-polyfills include list to only required modules:
buffer, crypto, http, https, stream, process, util
Constraint: @vechain/picasso esm/index.js uses require() — not fixable without patching upstream
Rejected: resolve.mainFields override | too broad, would affect all packages
Confidence: high
Scope-risk: narrow
- 4 smoke tests against mainnet via yarn preview: home (bandwidth chart, recent blocks, recent transfers), block detail, tx detail, account detail - pageerror listener catches uncaught JS exceptions immediately - playwright.config.ts auto-starts yarn preview via webServer - ci-smoke.yml: checkout → build → playwright chromium → upload traces on failure - retries: 1 to tolerate transient mainnet network blips Constraint: tests hit real mainnet; requires internet access in CI runners Confidence: high Scope-risk: narrow
- Switch node-version to node-version-file: .nvmrc in ci-smoke.yml and build-deploy-cloudfront-s3.yml (single source of truth) - Add permissions: contents: read to ci-smoke.yml Confidence: high Scope-risk: narrow
6ae9d1f to
55bb021
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Constraint: vite@8 incompatible with @vitejs/plugin-vue2 (esbuild removed); pinned to 7.3.1
Constraint: vite-plugin-node-polyfills include list must cover http/https for @vechain/connex-driver
Rejected: vite@8 | removed esbuild, uses rolldown — breaks @vitejs/plugin-vue2
Rejected: resolve.dedupe for readable-stream | yarn resolutions more reliable for nested deps
Confidence: high
Scope-risk: broad