Skip to content

chore: migrate vscode-mta-tools into this mono-repo#547

Merged
bd82 merged 11 commits into
mainfrom
transition/mta-tools-v2
Jul 6, 2026
Merged

chore: migrate vscode-mta-tools into this mono-repo#547
bd82 merged 11 commits into
mainfrom
transition/mta-tools-v2

Conversation

@TirottaSAP

Copy link
Copy Markdown
Contributor

No description provided.

Copy the source files from the vscode-mta-tools repository as-is
into projects/vscode-mta-tools. Excluded files that are repo-scoped
and have no effect in a subdirectory:
- .github/ (CODEOWNERS, CONTRIBUTING.md, issue templates, dependabot)
- .circleci/ (CI is managed by this monorepo)
- npmjs-pub-env/ (publish environment managed by monorepo CI)
- package-lock.json (monorepo uses pnpm)
- .reuse/ and LICENSES/ (Apache-2.0 license is in LICENSE file)

The original .eslintrc.json was converted to .eslintrc.js with root:true
to prevent the monorepo root eslint config (which uses a newer
@typescript-eslint version) from cascading into this package before
the TypeScript tooling has been aligned in the integration commit.
Wire the migrated package into the monorepo toolchain:

Build & TypeScript:
- tsconfig.json now extends ../../tsconfig.base.json and outputs to dist/
  instead of the original out/ directory
- Replace .mocharc.json with .mocharc.js extending the root base config
- Add scripts/package-vsix.js using vsce programmatic API with useYarn:true
  to avoid pnpm symlink traversal errors during VSIX packaging

ESLint / Coverage:
- nyc.config.js updated to reference dist/src instead of out/src
- .vscodeignore rewritten as a whitelist (exclude ** then allowlist dist/,
  src/, metadata) to handle pnpm hoisted node_modules correctly

package.json:
- Update repository URL to SAP/app-studio-toolkit with directory field
- Align scripts with monorepo pattern (ci, clean, compile, coverage,
  bundle, package)
- Remove devDependencies managed at the monorepo root level (eslint,
  typescript, prettier, husky, commitlint, conventional-changelog, etc.)

Workspace:
- Add projects/vscode-mta-tools to pnpm-workspace.yaml
- Add husky: false to allowBuilds to suppress husky install warnings

Source fixes (istanbul ignore):
- Add /* istanbul ignore */ comments for intentionally untestable
  branches: SWA error callbacks, stderr data callbacks, Windows-only
  paths, cached early-returns, and process exit code fallbacks

Note: packages/app-studio-remote-access/nyc.config.js is deferred to a
follow-up commit pending pnpm install for the updated eslint tooling.
- Replace require() with ES import for datauri (no-var-requires)
- Rename unused catch variables to _error/_e (no-unused-vars)
- Configure caughtErrorsIgnorePattern to allow underscore-prefixed catch vars
- Add src/types/datauri.d.ts to declare the datauri module's sync function
- Switch to namespace import (import * as datauri) to avoid needing esModuleInterop
- Initialize image variable to empty string to satisfy strict null checks
@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Build Report

badge

Please note:

  1. Files only stay for around 14 days!
  2. This comment will be updated with the data of the last successful build of this PR.
Name Link
Commit 185e6da
Logs https://github.com/SAP/app-studio-toolkit/actions/runs/28795805862
VSIX Files https://github.com/SAP/app-studio-toolkit/actions/runs/28795805862/artifacts/8110737918

Comment thread projects/vscode-mta-tools/package.json Outdated
Comment thread pnpm-workspace.yaml Outdated
Comment thread projects/vscode-mta-tools/scripts/package-vsix.js
Comment thread projects/vscode-mta-tools/.eslintrc.js Outdated
Comment thread projects/vscode-mta-tools/.gitignore Outdated
Comment thread projects/vscode-mta-tools/.vscodeignore Outdated
Comment thread projects/vscode-mta-tools/CHANGELOG.md Outdated
Comment thread projects/vscode-mta-tools/LICENSE Outdated
Comment thread projects/vscode-mta-tools/README.md Outdated
- Remove redundant husky: false from pnpm-workspace.yaml (allowBuilds is
  an allowlist; unlisted packages are already blocked)
- Replace custom package-vsix.js with vsce package --no-dependencies to
  align with yeoman-ui approach and avoid misleading useYarn: true
- Move .eslintrc.js config into root .eslintrc.js overrides (matching
  yeoman-ui pattern; nested configs are discouraged in newer ESLint)
- Delete .gitignore as root .gitignore already covers all relevant entries
- Revert .vscodeignore to original single-line node_modules
- Rename CHANGELOG.md to CHANGELOG.old.md; create minimal stub CHANGELOG.md
- Update README.md: remove defunct badges (CircleCI, Coveralls, LGTM,
  Commitizen, Dependabot), update links to app-studio-toolkit repo
Fixes @typescript-eslint/prefer-promise-reject-errors violations
in addModuleCommand.spec.ts and cfutil.spec.ts.
- Restore scripts/package-vsix.js using programmatic vsce API with
  useYarn: true — vsce@1.100.1 runs npm list which fails in pnpm
  workspaces; useYarn bypasses this for bundled extensions
- Add .vscode-test/** to root nyc exclude: all: true + include "**/src/**"
  was matching bootloader.js inside .vscode-test VS Code binary,
  causing source-map-support to crash on its missing .map file
@TirottaSAP TirottaSAP requested a review from bd82 July 6, 2026 09:44
bd82
bd82 previously approved these changes Jul 6, 2026
@TirottaSAP TirottaSAP force-pushed the transition/mta-tools-v2 branch from 69dffcf to 62deacc Compare July 6, 2026 13:38
@bd82 bd82 changed the title feat: integrate mta-tools into app-studio-toolkit monorepo chore: integrate mta-tools into app-studio-toolkit monorepo Jul 6, 2026
@bd82 bd82 changed the title chore: integrate mta-tools into app-studio-toolkit monorepo chore: migrate vscode-mta-tools into this mono-repo Jul 6, 2026
@bd82 bd82 merged commit 546500b into main Jul 6, 2026
4 checks passed
@bd82 bd82 deleted the transition/mta-tools-v2 branch July 6, 2026 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants