Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,11 @@ jobs:
- run: npm ci
- run: npm run package
- run: npm run test:vsix
- run: sha256sum build/markdown-table-editor.vsix > build/SHA256SUMS.txt
- run: sha256sum build/md-table-editor.vsix > build/SHA256SUMS.txt
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: markdown-table-editor-vsix
name: md-table-editor-vsix
path: |
build/markdown-table-editor.vsix
build/md-table-editor.vsix
build/SHA256SUMS.txt
if-no-files-found: error
18 changes: 9 additions & 9 deletions .github/workflows/publish-marketplace.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ on:
- dry-run
- publish
confirmation:
description: For publish, type markdown-table-editor:<version>.
description: For publish, type md-table-editor:<version>.
required: false
type: string

permissions:
contents: read

concurrency:
group: markdown-table-editor-marketplace
group: md-table-editor-marketplace
cancel-in-progress: false

jobs:
Expand Down Expand Up @@ -66,26 +66,26 @@ jobs:
echo "Publishing is allowed only from refs/heads/main; got '$RELEASE_REF'." >&2
exit 1
fi
if [ "$RELEASE_CONFIRMATION" != "markdown-table-editor:$RELEASE_VERSION" ]; then
echo "Publish confirmation must exactly match 'markdown-table-editor:$RELEASE_VERSION'." >&2
if [ "$RELEASE_CONFIRMATION" != "md-table-editor:$RELEASE_VERSION" ]; then
echo "Publish confirmation must exactly match 'md-table-editor:$RELEASE_VERSION'." >&2
exit 1
fi
fi
echo "Validated $RELEASE_MODE request for markdown-table-editor:$RELEASE_VERSION."
echo "Validated $RELEASE_MODE request for md-table-editor:$RELEASE_VERSION."

- run: npm ci
# npm run package runs typecheck, unit tests, and the bundle build before vsce package.
- run: npm run package
- run: npm run test:vsix

- name: Record the artifact checksum
run: sha256sum build/markdown-table-editor.vsix > build/SHA256SUMS.txt
run: sha256sum build/md-table-editor.vsix > build/SHA256SUMS.txt

- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: marketplace-${{ inputs.version }}-${{ inputs.mode }}
path: |
build/markdown-table-editor.vsix
build/md-table-editor.vsix
build/SHA256SUMS.txt
if-no-files-found: error
retention-days: 14
Expand Down Expand Up @@ -132,11 +132,11 @@ jobs:
exit 1
fi
sha256sum --check build/SHA256SUMS.txt
echo "Publishing markdown-table-editor:$RELEASE_VERSION from main."
echo "Publishing md-table-editor:$RELEASE_VERSION from main."

- run: npm ci

- name: Publish the verified VSIX
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
run: npx --no-install vsce publish --packagePath build/markdown-table-editor.vsix
run: npx --no-install vsce publish --packagePath build/md-table-editor.vsix
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ jobs:
- run: npm ci
- run: npm run test:coverage
- run: npm run package
- run: sha256sum build/markdown-table-editor.vsix > build/SHA256SUMS.txt
- run: sha256sum build/md-table-editor.vsix > build/SHA256SUMS.txt
- uses: actions/attest-build-provenance@0f67c3f4856b2e3261c31976d6725780e5e4c373 # v4.1.1
with:
subject-path: build/markdown-table-editor.vsix
subject-path: build/md-table-editor.vsix
- name: Create GitHub release
env:
GH_TOKEN: ${{ github.token }}
run: gh release create "$GITHUB_REF_NAME" build/markdown-table-editor.vsix build/SHA256SUMS.txt --generate-notes --verify-tag
run: gh release create "$GITHUB_REF_NAME" build/md-table-editor.vsix build/SHA256SUMS.txt --generate-notes --verify-tag
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ All notable changes follow [Keep a Changelog](https://keepachangelog.com/en/1.1.

## [Unreleased]

## [0.2.1] - 2026-08-04

### Changed

- The extension identifier is now `krotname.md-table-editor`. The Marketplace requires an
extension `name` that no other publisher uses, and `markdown-table-editor` was already taken,
so the package name and the built VSIX file name changed. The display name, commands,
settings, and behaviour are unchanged.

## [0.2.0] - 2026-08-04

### Added
Expand Down
24 changes: 15 additions & 9 deletions MARKETPLACE_SUBMISSION.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
# Visual Studio Marketplace submission

Status: release metadata for version `0.2.0`, the first public Marketplace submission.
Status: release metadata for version `0.2.1`, the first public Marketplace submission.
Keep the version here in sync with `package.json`; the publish workflow refuses a mismatch.

The Marketplace rejects an extension `name` that any publisher already uses, and
`markdown-table-editor` is taken by an unrelated extension, so this project publishes as
`md-table-editor`. The display name is unaffected.

## Artifact

- Version: `0.2.0`
- VSIX: `build/markdown-table-editor.vsix`, produced by `npm run package`
- Version: `0.2.1`
- VSIX: `build/md-table-editor.vsix`, produced by `npm run package`
- Checksum: `build/SHA256SUMS.txt`, produced by the release and publish workflows
- Marketplace item: fill after upload
- Marketplace verification status: fill after upload
- GitHub release: fill after tagging `v0.2.0`
- GitHub release: fill after tagging `v0.2.1`

## Extension metadata

- Extension identifier: `krotname.markdown-table-editor`
- Extension identifier: `krotname.md-table-editor`
- Display name: `Markdown Table Editor`
- Publisher: `krotname`
- Categories: `Formatters`, `Other`
Expand All @@ -36,9 +40,11 @@ Edit Markdown pipe tables directly in VS Code: align with `Tab`, fit the table w
widen columns, sort rows, convert CSV/TSV, insert tables by size, and move rows or columns without
leaving the editor. Everything runs locally, with no telemetry and no network access.

## Marketplace release notes for 0.2.0
## Marketplace release notes for 0.2.1

```markdown
- The extension is published as `krotname.md-table-editor`; the Marketplace already had the
`markdown-table-editor` name in use by an unrelated extension.
- The table engine is a faithful port of the shared JetBrains/Notepad++ core and matches it byte
for byte across the differential corpus, correcting table detection, header protection, caret
placement, width fitting, and CSV/TSV whitespace handling.
Expand All @@ -51,21 +57,21 @@ leaving the editor. Everything runs locally, with no telemetry and no network ac
## Automated submission

Run the **Publish to VS Code Marketplace** workflow from `main`: start with `dry-run`, then use
`publish` with the confirmation `markdown-table-editor:0.2.0`. The verify job builds the VSIX,
`publish` with the confirmation `md-table-editor:0.2.1`. The verify job builds the VSIX,
installs it into a throwaway VS Code profile, and records a checksum without ever seeing the
Marketplace token. The publish job then waits for approval in the `marketplace` GitHub environment,
which holds the `VSCE_PAT` secret, verifies the checksum of the artifact built by the verify job,
and uploads exactly that file with `vsce publish --packagePath`.

Locally the same upload is `npx vsce publish --packagePath build/markdown-table-editor.vsix` with
Locally the same upload is `npx vsce publish --packagePath build/md-table-editor.vsix` with
`VSCE_PAT` set in the environment.

## Manual submission

1. Sign in at <https://marketplace.visualstudio.com/manage> with the Microsoft account that owns
the `krotname` publisher, creating the publisher first if it does not exist.
2. Open the publisher page and choose `New extension` / `Visual Studio Code`.
3. Upload `build/markdown-table-editor.vsix`.
3. Upload `build/md-table-editor.vsix`.
4. Confirm that the rendered README, icon, categories, license, and repository links are correct.
5. Wait for the automated Marketplace verification to finish and record the resulting status above.

Expand Down
4 changes: 2 additions & 2 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,10 @@ cells without changing what each row means:

From a VSIX:

1. Download `markdown-table-editor.vsix` from the [latest release](https://github.com/krotname/VsCodeMarkdownTableEditor/releases/latest)
1. Download `md-table-editor.vsix` from the [latest release](https://github.com/krotname/VsCodeMarkdownTableEditor/releases/latest)
or build it locally with `npm run package`.
2. Run `Extensions: Install from VSIX...` in VS Code.
3. Select the downloaded or built `markdown-table-editor.vsix`.
3. Select the downloaded or built `md-table-editor.vsix`.

Every released VSIX ships with a `SHA256SUMS.txt` file and a GitHub Actions build provenance
attestation.
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,10 @@ Markdown Table Editor превращает VS Code в удобный редак

Из VSIX:

1. Скачайте `markdown-table-editor.vsix` из [последнего релиза](https://github.com/krotname/VsCodeMarkdownTableEditor/releases/latest)
1. Скачайте `md-table-editor.vsix` из [последнего релиза](https://github.com/krotname/VsCodeMarkdownTableEditor/releases/latest)
или соберите его локально командой `npm run package`.
2. В VS Code выполните `Extensions: Install from VSIX...`.
3. Выберите скачанный или собранный файл `markdown-table-editor.vsix`.
3. Выберите скачанный или собранный файл `md-table-editor.vsix`.

Каждый релизный VSIX сопровождается файлом `SHA256SUMS.txt` и подписью происхождения сборки
(build provenance attestation), созданной GitHub Actions.
Expand Down
2 changes: 1 addition & 1 deletion THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Distributed extension

The published `markdown-table-editor.vsix` does not bundle third-party runtime code. It contains
The published `md-table-editor.vsix` does not bundle third-party runtime code. It contains
the bundled extension entry point built from this repository's TypeScript sources, its source map,
the extension manifest, the icon, and the project documentation, including the GPL-3.0-or-later
license text.
Expand Down
2 changes: 1 addition & 1 deletion e2e/extension.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ suiteTeardown(async () => {
});

test('extension activates and aligns an actual VS Code document', async () => {
const extension = vscode.extensions.getExtension('krotname.markdown-table-editor');
const extension = vscode.extensions.getExtension('krotname.md-table-editor');
assert.ok(extension);
await extension.activate();
await vscode.commands.executeCommand('markdownTableEditor.align');
Expand Down
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "markdown-table-editor",
"name": "md-table-editor",
"displayName": "Markdown Table Editor",
"description": "Fast, local Markdown table editing for Visual Studio Code.",
"version": "0.2.0",
"version": "0.2.1",
"publisher": "krotname",
"license": "GPL-3.0-or-later",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion scripts/package.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { join } from 'node:path';

await mkdir('build', { recursive: true });
const cli = join('node_modules', '@vscode', 'vsce', 'vsce');
const result = spawnSync(process.execPath, [cli, 'package', '--no-dependencies', '--out', 'build/markdown-table-editor.vsix'], {
const result = spawnSync(process.execPath, [cli, 'package', '--no-dependencies', '--out', 'build/md-table-editor.vsix'], {
stdio: 'inherit',
});
if (result.error) throw result.error;
Expand Down
2 changes: 1 addition & 1 deletion scripts/verify-vsix.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { runVSCodeCommand } from '@vscode/test-electron';
const root = process.cwd();
const { name, publisher, version } = JSON.parse(await readFile(join(root, 'package.json'), 'utf8'));
const expected = `${publisher}.${name}@${version}`;
const vsix = join(root, 'build', 'markdown-table-editor.vsix');
const vsix = join(root, 'build', 'md-table-editor.vsix');
const extensionsDirectory = join(root, 'build', 'vsix-extensions');
const userDataDirectory = join(root, 'build', 'vsix-user-data');
const profileArgs = ['--extensions-dir', extensionsDirectory, '--user-data-dir', userDataDirectory];
Expand Down
Loading