Skip to content

Commit 379abe9

Browse files
committed
first commit
0 parents  commit 379abe9

25 files changed

Lines changed: 21194 additions & 0 deletions

.editorconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Editor configuration, see http://editorconfig.org
2+
root = true
3+
4+
[*]
5+
charset = utf-8
6+
indent_style = space
7+
indent_size = 2
8+
end_of_line = lf
9+
insert_final_newline = true
10+
trim_trailing_whitespace = true
11+
12+
[*.md]
13+
max_line_length = 0
14+
trim_trailing_whitespace = false

.github/pull_request_template.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This PR fixes #

.github/workflows/main.yml

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
paths-ignore:
8+
- "docs/**"
9+
- ".vscode/**"
10+
- ".github/**"
11+
- "*.md"
12+
- "**/*.md"
13+
pull_request:
14+
branches:
15+
- master
16+
release:
17+
types:
18+
- released
19+
jobs:
20+
build:
21+
timeout-minutes: 10
22+
runs-on: ${{ matrix.os }}
23+
strategy:
24+
matrix:
25+
os: [ubuntu-latest, windows-latest, macOS-latest]
26+
outputs:
27+
name: ${{ steps.set-version.outputs.name }}
28+
version: ${{ steps.set-version.outputs.version }}
29+
steps:
30+
- uses: actions/checkout@v2
31+
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
32+
- name: Set an output
33+
id: set-version
34+
if: runner.os == 'Windows'
35+
shell: bash
36+
run: |
37+
set -x
38+
VERSION=$(jq -r '.version' package.json | cut -d- -f1)
39+
[ $GITHUB_EVENT_NAME == 'release' ] && VERSION=${{ github.event.release.tag_name }} && VERSION=${VERSION/v/}
40+
CHANGELOG=$(cat CHANGELOG.md | sed -n "/## \[${VERSION}\]/,/## /p" | sed '/^$/d;1d;$d')
41+
CHANGELOG="${CHANGELOG//$'\n'/'%0A'}"
42+
echo ::set-output name=changelog::$CHANGELOG
43+
git tag -l | cat
44+
[ $GITHUB_EVENT_NAME == 'push' ] && VERSION+=-beta && VERSION+=.$(($(git tag -l "v$VERSION.*" | sort -nt. -k4 2>/dev/null | tail -1 | cut -d. -f4)+1))
45+
[ $GITHUB_EVENT_NAME == 'pull_request' ] && VERSION+=-dev.${{ github.event.pull_request.number }}
46+
echo ::set-output name=version::$VERSION
47+
NAME=$(jq -r '.name' package.json)-$VERSION
48+
echo ::set-output name=name::$NAME
49+
tmp=$(mktemp)
50+
jq --arg version "$VERSION" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
51+
mkdir dist
52+
echo $VERSION > .version
53+
echo $NAME > .name
54+
- name: Use Node.js
55+
uses: actions/setup-node@v1
56+
with:
57+
node-version: 14.x
58+
- run: npm install
59+
- run: npm run compile
60+
- name: npm test
61+
uses: GabrielBB/xvfb-action@v1.0
62+
with:
63+
run: npm run test
64+
- name: Build package
65+
if: runner.os == 'Windows'
66+
run: |
67+
npx vsce package -o ${{ steps.set-version.outputs.name }}.vsix
68+
- uses: actions/upload-artifact@v2
69+
if: (runner.os == 'Windows') && (github.event_name != 'release')
70+
with:
71+
name: ${{ steps.set-version.outputs.name }}.vsix
72+
path: ${{ steps.set-version.outputs.name }}.vsix
73+
beta:
74+
if: (github.event_name == 'push')
75+
runs-on: windows-latest
76+
needs: build
77+
steps:
78+
- uses: actions/download-artifact@v2
79+
with:
80+
name: ${{ needs.build.outputs.name }}.vsix
81+
- name: Create Release
82+
id: create_release
83+
uses: actions/create-release@v1
84+
env:
85+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86+
with:
87+
tag_name: v${{ needs.build.outputs.version }}
88+
release_name: v${{ needs.build.outputs.version }}
89+
prerelease: ${{ github.event_name != 'release' }}
90+
body: |
91+
Changes in this release
92+
${{ needs.build.outputs.changelog }}
93+
- name: Upload Release Asset
94+
id: upload-release-asset
95+
uses: actions/upload-release-asset@v1
96+
env:
97+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
98+
with:
99+
upload_url: ${{ steps.create_release.outputs.upload_url }}
100+
asset_path: ${{ needs.build.outputs.name }}.vsix
101+
asset_name: ${{ needs.build.outputs.name }}.vsix
102+
asset_content_type: application/zip
103+
publish:
104+
if: github.event_name == 'release'
105+
runs-on: windows-latest
106+
needs: build
107+
steps:
108+
- uses: actions/checkout@v2
109+
with:
110+
ref: master
111+
token: ${{ secrets.TOKEN }}
112+
- name: Use Node.js
113+
uses: actions/setup-node@v1
114+
with:
115+
node-version: 14.x
116+
- name: Prepare build
117+
id: set-version
118+
shell: bash
119+
run: |
120+
VERSION=${{ needs.build.outputs.version }}
121+
NEXT_VERSION=`echo $VERSION | awk -F. '/[0-9]+\./{$NF++;print}' OFS=.`
122+
tmp=$(mktemp)
123+
git config --global user.name 'ProjectBot'
124+
git config --global user.email 'bot@users.noreply.github.com'
125+
jq --arg version "${NEXT_VERSION}-SNAPSHOT" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
126+
git add package.json
127+
git commit -m 'auto bump version with release'
128+
jq --arg version "$VERSION" '.version = $version' package.json > "$tmp" && mv "$tmp" package.json
129+
jq '.enableProposedApi = false' package.json > "$tmp" && mv "$tmp" package.json
130+
npm install
131+
git push
132+
- name: Build package
133+
run: |
134+
npx vsce package -o ${{ needs.build.outputs.name }}.vsix
135+
- name: Upload Release Asset
136+
id: upload-release-asset
137+
uses: actions/upload-release-asset@v1
138+
env:
139+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
140+
with:
141+
upload_url: ${{ github.event.release.upload_url }}
142+
asset_path: ${{ needs.build.outputs.name }}.vsix
143+
asset_name: ${{ needs.build.outputs.name }}.vsix
144+
asset_content_type: application/zip
145+
- name: Publish to VSCode Marketplace
146+
shell: bash
147+
run: |
148+
[ -n "${{ secrets.VSCE_TOKEN }}" ] && \
149+
npx vsce publish --packagePath ${{ needs.build.outputs.name }}.vsix -p ${{ secrets.VSCE_TOKEN }} || true
150+
- name: Publish to Open VSX Registry
151+
shell: bash
152+
run: |
153+
[ -n "${{ secrets.OVSX_TOKEN }}" ] && \
154+
npx ovsx publish ${{ needs.build.outputs.name }}.vsix --pat ${{ secrets.OVSX_TOKEN }} || true

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.DS_Store
2+
node_modules/
3+
out/
4+
.vscode-test
5+
*.vsix

.vscode/launch.json

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// A launch configuration that launches the extension inside a new window
2+
{
3+
"version": "0.2.0",
4+
"configurations": [
5+
{
6+
"name": "Launch Extension Alone",
7+
"type": "extensionHost",
8+
"request": "launch",
9+
"runtimeExecutable": "${execPath}",
10+
"args": [
11+
"--disable-extensions",
12+
"--extensionDevelopmentPath=${workspaceRoot}"
13+
],
14+
"stopOnEntry": false,
15+
"sourceMaps": true,
16+
"outFiles": [
17+
"${workspaceRoot}/out/**/*.js"
18+
],
19+
"preLaunchTask": "npm: watch"
20+
},
21+
{
22+
"name": "Launch Extension",
23+
"type": "extensionHost",
24+
"request": "launch",
25+
"runtimeExecutable": "${execPath}",
26+
"args": [
27+
"--extensionDevelopmentPath=${workspaceRoot}"
28+
],
29+
"stopOnEntry": false,
30+
"sourceMaps": true,
31+
"outFiles": [
32+
"${workspaceRoot}/out/**/*.js"
33+
],
34+
"preLaunchTask": "npm: watch"
35+
},
36+
{
37+
"name": "Extension Tests",
38+
"type": "extensionHost",
39+
"request": "launch",
40+
"runtimeExecutable": "${execPath}",
41+
"args": [
42+
"--extensionDevelopmentPath=${workspaceFolder}",
43+
"--extensionTestsPath=${workspaceFolder}/out/test/suite/index"
44+
],
45+
"outFiles": [
46+
"${workspaceFolder}/out/test/**/*.js"
47+
],
48+
"preLaunchTask": "npm: compile"
49+
}
50+
]
51+
}

.vscode/tasks.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Available variables which can be used inside of strings.
2+
// ${workspaceRoot}: the root folder of the team
3+
// ${file}: the current opened file
4+
// ${fileBasename}: the current opened file's basename
5+
// ${fileDirname}: the current opened file's dirname
6+
// ${fileExtname}: the current opened file's extension
7+
// ${cwd}: the current working directory of the spawned process
8+
9+
// A task runner that calls a custom npm script that compiles the extension.
10+
{
11+
"version": "2.0.0",
12+
"tasks": [
13+
{
14+
"type": "npm",
15+
"script": "watch",
16+
"presentation": {
17+
"reveal": "always"
18+
},
19+
"group": {
20+
"isDefault": true,
21+
"kind": "build"
22+
},
23+
"isBackground": true,
24+
"problemMatcher": "$tsc-watch"
25+
}
26+
]
27+
}

.vscodeignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.github/**
2+
.vscode/**
3+
.vscode-test/**
4+
out/test/**
5+
**/*.ts
6+
**/*.map
7+
.gitignore
8+
**/tsconfig.json
9+
**/tslint.json
10+
**/.eslintrc.json

CHANGELOG.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
## 3.1.2021122102 (21-Dec-2021 pre-release)
2+
* Make username case-insensitive in authentication provider.
3+
4+
## 3.0.0 (27-Nov-2021 pre-release)
5+
* Implement `intersystems-server-credentials` authentication provider.
6+
7+
## 2.0.6 (28-Sep-2021)
8+
* Apply `pathPrefix` correctly (#95, #99).
9+
* Update vulnerable dependencies.
10+
11+
## 2.0.5 (09-Jun-2021)
12+
* Allow extension in untrusted workspaces (#92).
13+
14+
## 2.0.4 (12-May-2021)
15+
* 'All Servers' folder contents were not sorted as documented (#87).
16+
* Use web app token instead of passing credentials to Portal.
17+
18+
## 2.0.3 (28-Apr-2021)
19+
* Only supply credentials to Portal if password came as plaintext from settings (#84).
20+
21+
## 2.0.2 (22-Apr-2021)
22+
* Support <kbd>Alt</kbd> / <kbd>Option</kbd> modifier on Edit and View buttons to add workspace folder for server-side web application files.
23+
* Add newly defined server to the 'Recent' list.
24+
* Handle repeated use of the same Edit or View button better.
25+
* Notify user if ObjectScript extension is missing.
26+
* Add more information to README.
27+
28+
## 2.0.1 (19-Apr-2021)
29+
* New icon for Activity Bar.
30+
* Fix minor typo in README.
31+
32+
## 2.0.0 (16-Apr-2021)
33+
* Add tree view interface.
34+
35+
## 1.0.5 (02-Feb-2021)
36+
* Fix publication problem (#69).
37+
38+
## 1.0.4 (01-Feb-2021) - not published
39+
* Add `/hideEmbeddedEntries` boolean to `intersystems.servers` to hide 'default~iris' etc from lists (#64).
40+
* Make the `/default` setting work as designed.
41+
* Fix problem that blocked release (#66).
42+
43+
## 1.0.3 (15-Jan-2021) - not published
44+
* On Windows, add `Import Servers from Registry`command to import server definitions from registry (#1).
45+
* Disallow the `'.'` character in server names (#60).
46+
47+
## 1.0.2 (13-Nov-2020)
48+
* Display a notification when a new server is saved.
49+
* Apply a validation pattern to `pathPrefix`.
50+
51+
## 1.0.1 (21-Oct-2020)
52+
* Use transparent background for icon.
53+
54+
## 1.0.0 (19-Oct-2020)
55+
* First production release.
56+
57+
## 0.9.2 (16-Oct-2020)
58+
* Make `pickServer` API respect `ignoreFocusOut` option if passed.
59+
* Standardize use of '&reg;' symbol in text strings.
60+
61+
## 0.9.1 (12-Oct-2020)
62+
* Fix problem that blocked 0.9.0 release.
63+
64+
## 0.9.0 (09-Oct-2020)
65+
* Rename the three built-in server definitions and push them to the bottom of the list.
66+
* Only promote the `/default` server to the top of the list if explicitly set.
67+
* Keep quickpick open when focusing elsewhere, for example to copy server details from a document.
68+
* Prepare version number for 1.0 release.
69+
70+
## 0.0.7 (11-Sep-2020)
71+
* Enhance server selector quickpick so new entries can be added User Settings.
72+
73+
## 0.0.6 (04-Sep-2020)
74+
* New icon.
75+
* Upgrade vulnerable dependency.
76+
77+
## 0.0.5 (21-Aug-2020)
78+
* Add onDidChangePassword to API.
79+
* Remove test commands, which are now provided by our `intersystems-community.vscode-extension-api-tester` extension.
80+
81+
## 0.0.4 (24-Jul-2020)
82+
* Support storing passwords in local keychain.
83+
* Add API that other extensions can use.
84+
* Improve README.
85+
86+
## 0.0.3 (02-Jul-2020)
87+
* Change publisher id to `intersystems-community`.
88+
* Disallow uppercase in server names.
89+
* First publication on Marketplace.
90+
91+
## 0.0.2 (12-Jun-2020)
92+
* Adjust `intersystems.server` object structure after feedback.
93+
* Constrain server names to use RFC3986 'unreserved' characters only.
94+
* Reduce size of VSIX.
95+
96+
## 0.0.1 (10-Jun-2020)
97+
* Initial version.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2020 InterSystems Developer Community
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# InterSystems Testing Manager
2+
3+
TODO

0 commit comments

Comments
 (0)