Skip to content

Commit d591d2b

Browse files
committed
Merge branch 'release/v5.1.3'
2 parents ad28357 + cab980a commit d591d2b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+5911
-6099
lines changed

.drone.yml

Lines changed: 67 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -25,61 +25,71 @@ steps:
2525
- build
2626
commands:
2727
- xvfb-run npm run test
28-
- name: create extension
28+
- name: prepare release
2929
image: node
3030
depends_on:
3131
- lint
3232
- test
3333
commands:
34-
- npx vsce package
34+
- npm install @stdlib/utils-escape-regexp-string --no-save
35+
- node -e "console.log(require('@stdlib/utils-escape-regexp-string')('${DRONE_TAG}'))" > .tagName.txt
36+
- export TagName=$$(cat .tagName.txt)
37+
- echo "/^## \(.* \($${TagName}\|\[$${TagName}\]\)\)\$/" > .tagHeading.txt
3538
when:
3639
event:
3740
- tag
38-
- name: publish extension to ovsx marketplace
41+
- name: check release prerequisites
3942
image: node
4043
depends_on:
41-
- create extension
44+
- prepare release
4245
environment:
43-
ACCESS_TOKEN:
46+
VSCE_TOKEN:
47+
from_secret: vsce_token
48+
OVSX_TOKEN:
4449
from_secret: ovsx_token
50+
GITHUB_PUBLISH_TOKEN:
51+
from_secret: github_publish_token
4552
commands:
46-
- npx ovsx publish --pat $ACCESS_TOKEN
47-
when:
48-
event:
49-
- tag
50-
ref:
51-
- refs/tags/v[0-9]*.[0-9]*.[0-9]*
52-
- name: publish extension to vscode marketplace
53-
image: node
54-
depends_on:
55-
- publish extension to ovsx marketplace
56-
environment:
57-
ACCESS_TOKEN:
58-
from_secret: azure_token
59-
commands:
60-
- npx vsce publish --pat $ACCESS_TOKEN
53+
- npm i --no-save @octokit/rest
54+
- export PUBLISHER=$$(node -e "console.log(JSON.parse(require('fs').readFileSync('package.json').toString()).publisher)")
55+
- >
56+
testOVSX() {
57+
url='https://open-vsx.org/api/-/namespace/create?token='"$1"
58+
output=$(curl -X POST $url --header 'Content-Type: application/json' --data-raw '{ "name": "'"$PUBLISHER"'" }')
59+
node -e 'JSON.parse('"'$output'"').error.includes("Invalid access token") && process.exit(1);'
60+
}
61+
- >
62+
testVSCE() {
63+
npx vsce verify-pat $PUBLISHER --pat $1 > /dev/null 2>&1
64+
}
65+
- >
66+
testGitHub() {
67+
node -e 'new (require("@octokit/rest").Octokit)({ auth: "'"$1"'" }).request("GET /user").catch(() => process.exit(1))' > /dev/null 2>&1
68+
}
69+
- export TagHeading=$$(cat .tagHeading.txt)
70+
- '[ ! -z "$$(sed "$${TagHeading}p;d" CHANGELOG.md)" ] || { echo "No Changelog Entries Found!" && false; }'
71+
- testOVSX $OVSX_TOKEN || { echo "The Open VSX Token is invalid!" && false; }
72+
- testVSCE $VSCE_TOKEN || { echo "The Visual Studio Marketplace Token is invalid!" && false; }
73+
- testGitHub $GITHUB_PUBLISH_TOKEN || { echo "The GitHub Publish Token is invalid!" && false; }
6174
when:
6275
event:
6376
- tag
64-
ref:
65-
- refs/tags/v[0-9]*.[0-9]*.[0-9]*
66-
- name: prepare release
77+
- name: create extension
6778
image: node
6879
depends_on:
69-
- create extension
80+
- check release prerequisites
7081
commands:
71-
- npm install @stdlib/utils-escape-regexp-string --no-save
72-
- node -e "console.log(require('@stdlib/utils-escape-regexp-string')('${DRONE_TAG}'))" > .tagName.txt
82+
- npx vsce package
7383
when:
7484
event:
7585
- tag
7686
- name: prepare release notes
7787
image: alpine
7888
depends_on:
79-
- prepare release
89+
- check release prerequisites
8090
commands:
8191
- export TagName=$$(cat .tagName.txt)
82-
- export TagHeading="/## \(.* \($${TagName}\|\[$${TagName}\]\)\)\$/"
92+
- export TagHeading=$$(cat .tagHeading.txt)
8393
- export HeadingPattern='/## \(.* \(v[0-9.]*\|\[.*\]\)\)/'
8494
- cp -f CHANGELOG.md .releaseNotes.md
8595
- sed -i "1,$${TagHeading}{ $${TagHeading}P ; d } ; $${HeadingPattern},\$d" .releaseNotes.md
@@ -88,9 +98,38 @@ steps:
8898
when:
8999
event:
90100
- tag
101+
- name: publish extension to ovsx marketplace
102+
image: node
103+
depends_on:
104+
- create extension
105+
environment:
106+
OVSX_TOKEN:
107+
from_secret: ovsx_token
108+
commands:
109+
- npx ovsx publish --pat $OVSX_TOKEN
110+
when:
111+
event:
112+
- tag
113+
ref:
114+
- refs/tags/v[0-9]*.[0-9]*.[0-9]*
115+
- name: publish extension to vscode marketplace
116+
image: node
117+
depends_on:
118+
- publish extension to ovsx marketplace
119+
environment:
120+
VSCE_TOKEN:
121+
from_secret: vsce_token
122+
commands:
123+
- npx vsce publish --pat $VSCE_TOKEN
124+
when:
125+
event:
126+
- tag
127+
ref:
128+
- refs/tags/v[0-9]*.[0-9]*.[0-9]*
91129
- name: publish release
92130
image: plugins/github-release
93131
depends_on:
132+
- create extension
94133
- prepare release notes
95134
commands: []
96135
settings:

.eslintrc.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
const { join } = require("path");
2-
const ESLintPresets = require("@manuth/eslint-plugin-typescript");
2+
const { PluginName, PresetName } = require("@manuth/eslint-plugin-typescript");
33

44
module.exports = {
55
extends: [
6-
`plugin:${ESLintPresets.PluginName}/${ESLintPresets.PresetName.RecommendedWithTypeChecking}`
6+
`plugin:${PluginName}/${PresetName.RecommendedWithTypeChecking}`
77
],
88
env: {
99
node: true,
1010
es6: true
1111
},
1212
parserOptions: {
1313
project: [
14-
join(__dirname, "tsconfig.json"),
14+
join(__dirname, "tsconfig.app.json"),
1515
join(__dirname, "tsconfig.eslint.json"),
16-
join(__dirname, "tsconfig.webpack.json"),
16+
join(__dirname, "tsconfig.web.json"),
1717
join(__dirname, "src", "test", "tsconfig.json"),
1818
join(__dirname, "src", "tests", "tsconfig.json")
1919
]

.github/dependabot.yml

Lines changed: 0 additions & 9 deletions
This file was deleted.

.github/workflows/auto-merge.yml

Lines changed: 0 additions & 15 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,5 +120,6 @@ dist
120120

121121
# Temporary release-assets
122122
.tagName.txt
123+
.tagHeading.txt
123124
.releaseNotes.md
124125
.releaseTitle.md

.npmignore

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ bower_components
3737
# Compiled binary addons (https://nodejs.org/api/addons.html)
3838
build/Release
3939

40+
# Dependency directories
41+
node_modules/
42+
jspm_packages/
43+
4044
# TypeScript v1 declaration files
4145
typings/
4246

@@ -102,10 +106,6 @@ dist
102106
# TernJS port file
103107
.tern-port
104108

105-
# gulp-files
106-
.gulp/
107-
gulpfile.ts
108-
109109
# Source-files
110110
[Ss]rc/
111111

@@ -152,5 +152,6 @@ webpack.config.ts
152152

153153
# Temporary release-assets
154154
.tagName.txt
155+
.tagHeading.txt
155156
.releaseNotes.md
156157
.releaseTitle.md

.vscode/extensions.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

.vscode/launch.json

Lines changed: 0 additions & 160 deletions
This file was deleted.

0 commit comments

Comments
 (0)