Compare commits

..

178 Commits

Author SHA1 Message Date
Anthony Dresser
f579d1bb8d fix issue with setting false (#9611) (#9637) 2020-03-16 13:56:45 -07:00
Amir Omidi
b35241dbe6 Add device code authentication (#9097) (#9620)
* Add device code authentication

* Change string
2020-03-16 13:56:17 -07:00
Maddy
588b9a1fcf fixed opening book on win (#9622) (#9626) 2020-03-14 10:17:06 -07:00
Anthony Dresser
0c870ed4e6 change usage of view container (#9591) (#9594) 2020-03-13 14:03:37 -07:00
Anthony Dresser
3d6929e78f Merge from vscode b7235954cf5c8ec4086a44262d38265552272a7a (#9607)
* Merge from vscode b7235954cf5c8ec4086a44262d38265552272a7a

* fix hygiene
2020-03-13 14:03:27 -07:00
Amir Omidi
fd08943244 Hook up the command again (#9587) (#9590) 2020-03-13 14:03:04 -07:00
Chris LaFreniere
8c99e22fb4 vbump (#9567) (#9599)
Co-authored-by: Maddy <12754347+MaddyDev@users.noreply.github.com>
2020-03-13 13:49:11 -07:00
Chris LaFreniere
86fbc4002a Fix search icon only working when section expanded (#9596) (#9601) 2020-03-13 00:18:00 -07:00
Chris LaFreniere
2f57356ae8 Fix find highlight for multiple find occurrences (#9518) (#9598) 2020-03-13 00:13:04 -07:00
Chris LaFreniere
eca946a885 check for len > 1 (#9586) (#9600)
Co-authored-by: Maddy <12754347+MaddyDev@users.noreply.github.com>
2020-03-13 00:09:31 -07:00
Amir Omidi
601bd4bd03 ok button target fix (#9561) 2020-03-12 18:49:22 -07:00
Anthony Dresser
87b064aa7e Merge from vscode a9b7cb4ee1caac9a9ac1467848017b4cd9765d9e (#9589) 2020-03-12 18:48:45 -07:00
Chris LaFreniere
d87eebd6a5 Add separate dialog to notebook charts for specifying chart options. (#9454) (#9575)
Co-authored-by: Cory Rivera <corivera@microsoft.com>
2020-03-12 00:30:01 -07:00
Chris LaFreniere
9c14910c55 Notebooks: Fix Internal Links on Windows (#9513) (#9574)
* Improve workbench file path detection

* Use fspath instead
2020-03-12 00:27:49 -07:00
Charles Gagnon
61e3700ed4 Add dashboard refresh icon back in (#9564) (#9568)
(cherry picked from commit 0226ad69da)
2020-03-11 22:58:09 -07:00
Jeff Trimmer
09f017c6f4 Reverts ADS Always encrypted (#9559)
Co-authored-by: Amir Omidi <amomidi@microsoft.com>
2020-03-11 14:50:44 -07:00
Charles Gagnon
b01218cbbc Fix long account dialog text hiding actions (Port #9449) (#9535)
* Fix long account dialog text hiding actions (#9449)


(cherry picked from commit b02273de48)

* Fix account label being cut off (#9547)


(cherry picked from commit 96f0ae79ca)
2020-03-11 14:50:18 -07:00
Anthony Dresser
f984e89493 fix sml formatting (#9510) (#9514) 2020-03-11 14:49:25 -07:00
Anthony Dresser
479fac2310 Query editor input titles (#9512) (#9553)
* address untitled editor file name differences; remove feature for updating title for untitled to content

* add tests for new methods

* fix tests

* fix up tests

* remove unncessary await

* revert changes to title for content
2020-03-11 14:48:54 -07:00
Anthony Dresser
32ea281e11 Fix text content in title (#9534) (#9552)
* fix text content in title

* revert changes and change default setting instead
2020-03-11 14:48:26 -07:00
Chris LaFreniere
29031462c7 Remove Decompress + Replace with Other Package (#9532) (#9545)
* add windows support

* works on windows

* Still testing, works on Windows

* Reject on error

* Fix adm-zip external
2020-03-11 01:14:12 -07:00
Anthony Dresser
7379d66729 Revert "fix sml formatting (#9510)"
This reverts commit 705a7d7dc6.
2020-03-09 15:54:30 -07:00
Anthony Dresser
705a7d7dc6 fix sml formatting (#9510) 2020-03-09 15:53:44 -07:00
Anthony Dresser
9764438982 Merge from vscode 78a4c91400152c0f27ba4d363eb56d2835f9903a (#9506)
* Merge from vscode 78a4c91400152c0f27ba4d363eb56d2835f9903a

* fix hygiene
2020-03-09 13:56:25 -07:00
Aditya Bist
a93f5883b9 Fix updating step icon (#9488)
* fix updating data

* bump toolsservice and agent versions

* unbumo the version
2020-03-06 16:51:32 -08:00
Amir Omidi
5578693635 Fix the svg issue (#9487) 2020-03-06 15:10:46 -08:00
Maddy
9cc31bee62 Feat/close book (#9453)
* initial commit

* Add Reveal in Books editor tab context option

* Select item in books viewlet automatically

* changes

* easier than i thought it'd be

* added file watcher on toc file v1

* Merge from Feat/create book

* Undo Merge from Feat/create book

* Use fsPath instead of path

* repen book on toc update

* update book in-place

* fix close book

* error handling for closeBook

* PR comments

* addressed comments

* moved the watch block to try ,watch vs watchFile

Co-authored-by: chlafreniere <hichise@gmail.com>
Co-authored-by: Chris LaFreniere <40371649+chlafreniere@users.noreply.github.com>
2020-03-06 14:55:22 -08:00
Kim Santiago
6f17f0de58 Add schema compare to database connection context menu (#9382)
* add schema compare to database connection context menu

* don't show dacfx and schema compare in context menus for system dbs

* Remove checks for system db

* undo whitespace change
2020-03-06 13:35:47 -08:00
Amir Omidi
20f7670b32 Stricter tslint rules (#9352) 2020-03-06 13:06:44 -08:00
Amir Omidi
f3a255a7f7 Revert "Revert "Revert "Temporarily add aaomidi (#9467)" (#9468)" (#9479)" (#9484)
This reverts commit cfcee3287a.
2020-03-06 11:57:59 -08:00
Amir Omidi
e1a0835140 Change to PAT (#9481) 2020-03-06 11:52:17 -08:00
Amir Omidi
cfcee3287a Revert "Revert "Temporarily add aaomidi (#9467)" (#9468)" (#9479)
This reverts commit 34a7340a18.
2020-03-06 11:38:33 -08:00
Chris LaFreniere
0a9a0d3f46 Ensure Active File is Highlighted in Books Viewlet (#9338)
* Add Reveal in Books editor tab context option

* Select item in books viewlet automatically

* changes

* easier than i thought it'd be

* Merge from Feat/create book

* Undo Merge from Feat/create book

* Use fsPath instead of path

* PR comments

* Fix tests

Co-authored-by: Maddy <12754347+MaddyDev@users.noreply.github.com>
2020-03-05 23:43:22 -08:00
Amir Omidi
34a7340a18 Revert "Temporarily add aaomidi (#9467)" (#9468)
This reverts commit 95f0ae32db.
2020-03-05 17:47:29 -08:00
Amir Omidi
95f0ae32db Temporarily add aaomidi (#9467) 2020-03-05 17:43:07 -08:00
Amir Omidi
2b427d8a62 Fix file format (#9466) 2020-03-05 17:18:01 -08:00
Amir Omidi
c6447d3280 Fixes the labeler (#9464) 2020-03-05 17:13:11 -08:00
Amir Omidi
d363bfb0da Fix the path to actions (#9461) 2020-03-05 17:06:42 -08:00
Amir Omidi
2ac6852cf1 Revert "Change path (#9456)" (#9459)
This reverts commit 8f15c05d8a.
2020-03-05 16:58:52 -08:00
Amir Omidi
8f15c05d8a Change path (#9456) 2020-03-05 16:52:38 -08:00
Amir Omidi
76cf10d23c Automatically label PRs (#9418)
* Automatically label and merge PRs
2020-03-05 16:46:06 -08:00
Amir Omidi
673e5a85cb Update the page based on feedback from PM/UX (#9452)
* Update the page based on feedback from PM/UX
2020-03-05 14:38:57 -08:00
Aditya Bist
997e91f19c Fix agent steps refresh when changing history (#9446)
* layering

* switch to events and emitters

* changed to self
2020-03-05 12:33:47 -08:00
Amir Omidi
a93cc68e24 Fail on error (#9429)
* Fail on error
2020-03-04 17:31:09 -08:00
Kim Santiago
eb1218b651 bump sqltoolsservice to 2.0.0-release.50 (#9444) 2020-03-04 16:45:09 -08:00
Charles Gagnon
df5a8dcb6a Revert "Hale test (#9442)" (#9443)
This reverts commit 837404b2d6.
2020-03-04 16:11:15 -08:00
Hale Rankin
837404b2d6 Hale test (#9442)
* Test commit

* Test commit. Added new line to comment.

Co-authored-by: Hale Rankin <61754801+harankin@users.noreply.github.com>
2020-03-04 15:42:17 -08:00
Charles Gagnon
9f62e2bf22 Bump Service Downloader (#9254)
* bump service-downloader

* handle new event

* Add output logging for servicedownloading events (#9277)

* bump service-downloader to 0.2.0

* bump service-downloader 0.2.1

* Retry github checks

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2020-03-04 15:24:46 -08:00
Charles Gagnon
299568a506 Remove some azure commands from palette (#9436) 2020-03-04 11:57:34 -08:00
Charles Gagnon
47c77cc2a7 Add CredScanSuppressions file (#9438)
* Add cred scan suppressions file

* Fix path
2020-03-04 11:55:19 -08:00
Chris LaFreniere
0f9d98730e Improve find by tracking actual rendered text (#9419)
* Improve find by tracking actual rendered text

* Fix tests, add notebook md render
2020-03-03 16:56:11 -08:00
Alan Ren
ff0992510b mark as test as unstable (#9426) 2020-03-03 10:47:47 -08:00
Charles Gagnon
9293d3654c Update postgres extension for integration tests (#9421) 2020-03-03 09:39:03 -08:00
Anthony Dresser
886329cd67 Merge from vscode 17c6d123d212f90300429ecad3fc96fcec6e338f (#9423) 2020-03-03 02:19:34 -08:00
Alan Ren
00d0e4778b upload the extension unit test coverage files to pipeline (#9398)
* copy coverage results

* tweek the parameters

* fix error
2020-03-02 17:48:58 -08:00
Anthony Dresser
89786bea04 remove special casing of untitled (#9379) 2020-03-02 17:24:34 -08:00
Charles Gagnon
efab499f1f Fix TSA scan issue (#9417) 2020-03-02 16:08:51 -08:00
Leila Lali
b5b65117a7 Machine Learning Extension - Model details (#9377)
* Machine Learning Services Extension - adding model details
2020-03-02 12:47:09 -08:00
Maddy
c1f6a67829 Feat/create book (#9159)
* added secondary action

* create book command

* open as untitled

* create toc.yml and update title

* added comments

* throw error if filenames have unsupported chars

* update prompt message

* remove the toLocaleLower

* added await

* moced createbookpath out of the command handler

* removed tolocalelower and added comments

* moved the formatting and file handling code from core to notebook

* fixes for contents with folders

* collapse the code cell

* remove output

* reused existing command to open book

* comment typu and added await
2020-03-02 12:45:53 -08:00
Charles Gagnon
01db78f743 Add required property to checkbox and set it for deployment dialog (#9392) 2020-03-02 07:54:13 -08:00
Charles Gagnon
6383bc7ebd Fix checks for checkbox height/width (#9393) 2020-03-02 07:53:59 -08:00
Anthony Dresser
4c3d51aa52 distro (#9390) 2020-02-28 13:06:30 -08:00
Anthony Dresser
5d13ebf0d2 Merge from vscode e5834d3280fcd04898efeac32b9cf1b893f9b127 (#9385)
* Merge from vscode e5834d3280fcd04898efeac32b9cf1b893f9b127

* distro
2020-02-28 00:37:06 -08:00
Aditya Bist
70851716f7 add back sql icons for ads installation (#9376) 2020-02-27 16:12:56 -08:00
Kim Santiago
c8bcd25832 Fix for dacfx wizard if user doesn't have access to master db (#9362)
* fix for if user doesn't have access to master db

* add console.warn with error
2020-02-27 15:37:04 -08:00
Alan Ren
2de3bd3209 only download the required files (#9374) 2020-02-27 15:00:06 -08:00
Amir Omidi
1c9841c8e6 Add ossRdmbs to getAccessTokens (#9364) 2020-02-27 14:09:58 -08:00
Alex Ma
2448a109fc Fix for table resizing (#9117)
* some optimization

* check for table

* fix table resizing

* Fix for sash crash

* Removed space

* small optimization

* small change in message

* small change

* changed wording

* removed timeout for onResize

* Removed onGridRendered

* fix isCellOnScreen

* small spacing fixes

* removed timeout in gridParentComponent

* fix for indexing

* reduced instances of "self"

* minor fixes for self and this
2020-02-27 12:52:35 -08:00
Charles Gagnon
c05ff67622 Update pgsql extension and readme (#9371) 2020-02-27 11:09:00 -08:00
Anthony Dresser
d6b5d3c6b1 implement editor move and fix disposal error in query editor (#9281) 2020-02-26 21:11:48 -08:00
Alan Ren
80baa4a732 only show the tabs for server context (#9344) 2020-02-26 16:11:43 -08:00
Amir Omidi
2ae3810dac Only install the cert on signed builds (#9357) 2020-02-26 14:55:44 -08:00
Alan Ren
7d7a7e2e37 pick up the latest sql tools service (#9354) 2020-02-26 14:42:19 -08:00
Chris LaFreniere
29cf1f898e Search sections in Jupyter Viewlet (#9346) 2020-02-26 13:59:38 -08:00
Amir Omidi
924815353d Fix a few notebook promises (#9315)
* Fix a few notebook promises

* Add a _ before sessionDetails

* Change to onUnexpectedError
2020-02-26 11:58:56 -08:00
Amir Omidi
6cf82d2611 Start on new eslint file (#9314) 2020-02-26 11:39:00 -08:00
Cory Rivera
73d9b7f22a Check if notebook model is undefined in setTrustForNewEditor. (#9312) 2020-02-26 11:17:56 -08:00
Cory Rivera
412214e193 Add charting functionality to SQL notebooks. (#9306) 2020-02-26 10:52:19 -08:00
Leila Lali
ff207859d6 Machine Learning Model Registry - Iteration1 (#9105)
* Machine learning services extension - model registration wizard
2020-02-26 09:19:48 -08:00
Anthony Dresser
067fcc8dfb Merge from vscode dbe62be3266ffb6772a7f3db0bf61d63f4aa7f65 (#9337) 2020-02-26 00:23:48 -08:00
Amir Omidi
d2892ff78b Runtime hardening and notarization for OSX (#8663) 2020-02-25 15:24:31 -08:00
Charles Gagnon
a9056bbba5 Fix server group dialog open (#9330) 2020-02-25 15:14:32 -08:00
Karl Burtram
70352f94ea Fix ADS branding in Git viewlet (#9332) 2020-02-25 12:47:41 -08:00
Charles Gagnon
b1d58767c4 Add livy_session_startup_timeout_seconds config back in (#9212) 2020-02-25 11:31:10 -08:00
Anthony Dresser
4a9c47d3d6 Merge from vscode 5e80bf449c995aa32a59254c0ff845d37da11b70 (#9317) 2020-02-24 21:15:52 -08:00
Amir Omidi
628fd8d74d Separator component (#9310)
* Separator component
2020-02-24 16:53:42 -08:00
Aditya Bist
d7ea1123ef fix azdata connection API for dashboard connections (#9311) 2020-02-24 16:32:38 -08:00
Aditya Bist
eeae87ea32 remove icon files and use codicons for extensions (#9305) 2020-02-24 13:19:24 -08:00
Benjin Dubishar
1a639f83c4 .sqlproj and datasources.json file parsing (#8921)
* Checkpoint

* Adding mock contents for tree

* added open sqlproj dialog

* reading files from directory

* Added directory traversal

* Adding tree sorting by folder vs file and label

* Improved auto-unfolding of tree based on node type

* replacing fs with fs.promise alias

* PR feedback

* added activation event for when workspace contains sqlproj files

* Returning after displaying error

* Fixing linter errors

* Reworked tree

* Fixing missing grandchildren

* Correcting tree URI construction

* Refactoring to isolate tree item responsibilities from data model responsibilities

* project file parsing

* constructing tree from project files rather than filesystem

* Fixing double-initialization

* Changing projectEntry to take enum for file type

* Correct node type for project item

* Parsing datasources.json

* Child nodes for sql data source

* Localizing strings

* Checkpoint

* Adding mock contents for tree

* added open sqlproj dialog

* reading files from directory

* Added directory traversal

* Adding tree sorting by folder vs file and label

* Improved auto-unfolding of tree based on node type

* replacing fs with fs.promise alias

* PR feedback

* added activation event for when workspace contains sqlproj files

* Returning after displaying error

* Fixing linter errors

* Reworked tree

* Fixing missing grandchildren

* Correcting tree URI construction

* Refactoring to isolate tree item responsibilities from data model responsibilities

* project file parsing

* constructing tree from project files rather than filesystem

* Fixing double-initialization

* Changing projectEntry to take enum for file type

* Correct node type for project item

* Parsing datasources.json

* Child nodes for sql data source

* Localizing strings

* missed file in merge

* changed extension method to helper

* cleanup

* Adding docstrings
2020-02-24 12:11:41 -08:00
Aditya Bist
933cfb21ef formatted file (#9303) 2020-02-24 11:20:36 -08:00
Alan Ren
5982925ed7 keep up with latest azdata (#9276) 2020-02-24 10:54:54 -08:00
Kim Santiago
9090143f9d Add a few unit tests for dacpac extension (#9194)
* add a few unit tests

* fix tests for linux
2020-02-24 10:01:30 -08:00
Charles Gagnon
10b681b3c8 Add Arc Resources to Azure view (#9271)
* Initial work

* Add setting change handler

* Fix tests

* Update loc names and add preview tag

* Remove TODOs
2020-02-24 08:15:27 -08:00
Anthony Dresser
de5f1eb780 Merge from vscode 33a65245075e4d18908652865a79cf5489c30f40 (#9279)
* Merge from vscode 33a65245075e4d18908652865a79cf5489c30f40

* remove github
2020-02-21 23:42:19 -08:00
Alan Ren
c446cea3a0 fix the input width height issue (#9273)
* fix the input width height issue

* updates
2020-02-21 16:12:56 -08:00
Chris LaFreniere
41a90c01c3 Listen to escape key to close nb find widget (#9247) 2020-02-21 15:54:21 -08:00
Anthony Dresser
1b78a9b1e0 Merge from vscode e6a45f4242ebddb7aa9a229f85555e8a3bd987e2 (#9253)
* Merge from vscode e6a45f4242ebddb7aa9a229f85555e8a3bd987e2

* skip failing tests

* remove github-authentication extensions

* ignore github compile steps

* ignore github compile steps

* check in compiled files
2020-02-21 12:11:51 -08:00
Anthony Dresser
c74bac3746 Add missing resources (#9246)
* add missing resources

* don't bump versions

* fix workbench file

* distro
2020-02-20 22:58:52 -08:00
Anthony Dresser
4c54b5dbac Batch messages on the exthost to not freeze ads (#8949)
* batch messages on the exthost to not freeze ads

* clear out messages on query complete
2020-02-20 14:50:13 -08:00
Charles Gagnon
8fe0a13b61 Update release notes link (#9191) 2020-02-20 14:29:02 -08:00
Kim Santiago
2fc0e28e57 Remove required from dacpac wizard dropdowns (#9200)
* remove required from dropdowns

* set required for dropdown

* also set required for editable dropdown

* add back required for db and server dropdowns

* add back to required to databaseLoader
2020-02-20 11:49:26 -08:00
Charles Gagnon
c6bc68f399 Fix UI not selecting false options initially (#9213) 2020-02-20 07:36:56 -08:00
Anthony Dresser
0cec223301 Merge from vscode 777931080477e28b7c27e8f7d4b0d69897945946 (#9220) 2020-02-19 22:27:53 -08:00
Anthony Dresser
ab6fb810f8 move update model for notebook save to the input (#8995) 2020-02-19 22:01:07 -08:00
Charles Gagnon
7eef23f232 Fix refreshing nodes in Azure view (#9215)
* Fix refreshing nodes in Azure view

* refactor

* Remove refreshNode from shim

* Add missing await
2020-02-19 16:55:17 -08:00
Anthony Dresser
1d0f76d26a Setup files for workbench/services to be strict compiled (#9168)
* setup services to be strict compiled. fix some of the issues

* fix compile

* fix compile

* revert some undefined changes
2020-02-19 16:07:57 -08:00
Anthony Dresser
cec7753e3d Final layering (#9164)
* move handling generated files to the serilization classes

* remove unneeded methods

* add more folders to strictire compile, add more strict compile options

* update ci

* wip

* add more layering and fix issues

* add more strictness

* remove unnecessary assertion

* add missing checks

* fix indentation

* wip

* remove jsdoc

* fix layering

* fix compile

* fix compile errors

* wip

* wip

* finish layering

* fix css

* more layering

* rip

* reworking results serializer

* move some files around

* move capabilities to platform wip

* implement capabilities register provider

* fix capabilities service

* fix usage of the regist4ry

* add contribution

* wip

* wip

* wip

* remove no longer good parts

* fix strict-nulls

* fix issues with startup

* another try

* fix startup

* fix imports

* fix tests

* fix tests

* fix more tests

* fix tests

* fix more tests

* fix broken test

* fix tabbing

* fix naming

* wip

* finished layering

* fix imports

* fix valid layers

* fix layers

* wip

* finish layering

* final layering

* finish layering

* fix spacing
2020-02-19 14:43:16 -08:00
Karl Burtram
161ea001c0 Update changelog for Feb Hotfix 1 release (#9195) 2020-02-19 13:16:53 -08:00
Charles Gagnon
f2ffa6c7e5 Initial post-release extension vBump (#9144) 2020-02-19 07:56:15 -08:00
Anthony Dresser
5194ee2f9b distro 2020-02-19 03:55:41 +00:00
ADS Merger
1e308639e5 Merge from vscode 9bc92b48d945144abb405b9e8df05e18accb9148 2020-02-19 03:11:35 +00:00
Anthony Dresser
98584d32a7 distro (#9198) 2020-02-18 17:16:58 -08:00
Jeff Trimmer
5672500af2 Add Always Encrypted enclave connection parameters to the ADS UI (#9062)
* Add Always Encrypted enclave connection parameters to Advanced Connections Options dialog.

* Update always encrypted advanced connection options strings.

* Change enclave protocol category name properties to the Enum constants.
2020-02-18 15:32:49 -08:00
Arvind Ranasaria
d69cda80c3 wipe status message only when not installing (#9192) 2020-02-18 15:16:54 -08:00
Anthony Dresser
47e716d3b2 warn instead of error on disabled apis (#9193) 2020-02-18 14:09:16 -08:00
Charles Gagnon
6bd3ed72dd Display azure resource fetch errors as warnings (#9158) 2020-02-18 10:48:39 -08:00
Charles Gagnon
48c3702c7a Add null ref check for click handler (#9190) 2020-02-18 10:18:02 -08:00
Anthony Dresser
506c6a5e5f More Layering (#9139)
* move handling generated files to the serilization classes

* remove unneeded methods

* add more folders to strictire compile, add more strict compile options

* update ci

* wip

* add more layering and fix issues

* add more strictness

* remove unnecessary assertion

* add missing checks

* fix indentation

* wip

* remove jsdoc

* fix layering

* fix compile

* fix compile errors

* wip

* wip

* finish layering

* fix css

* more layering

* rip

* reworking results serializer

* move some files around

* move capabilities to platform wip

* implement capabilities register provider

* fix capabilities service

* fix usage of the regist4ry

* add contribution

* wip

* wip

* wip

* remove no longer good parts

* fix strict-nulls

* fix issues with startup

* another try

* fix startup

* fix imports

* fix tests

* fix tests

* fix more tests

* fix tests

* fix more tests

* fix broken test

* fix tabbing

* fix naming

* wip

* finished layering

* fix imports

* fix valid layers

* fix layers
2020-02-15 01:54:23 -06:00
Anthony Dresser
873c6a39fe Merge from vscode 1a81711a85e38ccf784110568ebf3784ab9094a5 (#9161)
* Merge from vscode 1a81711a85e38ccf784110568ebf3784ab9094a5

* small spacing fix
2020-02-15 00:43:09 -06:00
Anthony Dresser
74b89a0a85 No console linting (#9156)
* add no-console linting and change to just using overrides for sql files

* whitespace

* fix tests
2020-02-14 21:13:16 -06:00
Alex Ma
6b0332b2d1 call refreshDatasets upon loading new dataset (#9160)
* call refreshDatasets upon loading new dataset

* readded space
2020-02-14 18:25:52 -08:00
Charles Gagnon
2d70ff7f4e Improve azure resource API error handling (#9151)
* Improve azure resource API error handling

* Add ref path

* Add missed typings file and remove module references
2020-02-14 14:22:05 -08:00
Cory Rivera
dd5c0ce08f Maintain notebook trust status after saving. (#9127) 2020-02-14 10:07:02 -08:00
Anthony Dresser
71375808b9 Merge from vscode 4c9161a3f125f5a788aafa73a4ecfcb27dcfc319 (#9143)
* Merge from vscode 4c9161a3f125f5a788aafa73a4ecfcb27dcfc319

* minor spacing fix
2020-02-13 21:20:36 -06:00
Arvind Ranasaria
0c56d44e4f Add support for 4 part version numbers (#8925)
* first crack at fix

* after test complete

* pr feedback + tests

* fix whitespace

* PR fedback
2020-02-13 16:59:22 -08:00
Charles Gagnon
321b41b7e1 Bump version to 1.16.0 (#9135)
* Bump version to 1.16.0

* Update version
2020-02-13 16:53:20 -08:00
Chris LaFreniere
2503b18d4b Fix for manage access dialog focus (#9114)
* Fix for manage access dialog focus

* Leverage eventuallyRunOnInitialized
2020-02-13 16:40:23 -08:00
Charles Gagnon
bbf6fcb0fc Fix min/max ignoring 0 value (#9137) 2020-02-13 11:53:06 -08:00
Maddy
6e5b13ac8f Tests/book tests (#9075)
* Conditionally add associatedResource t untitled nb

* Fix Jupyter Book notebook titles (#9039)

* Fix notebook titles

* Fix navigation links for books

* Added comments

Co-authored-by: Chris LaFreniere <40371649+chlafreniere@users.noreply.github.com>

* PR comment nit

* fix book tests

* tslint formatting fixes

* merged master and undid formatting

* added book path to error message

Co-authored-by: Chris LaFreniere <40371649+chlafreniere@users.noreply.github.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2020-02-13 11:35:04 -08:00
Cory Rivera
30c8182f16 Print jupyter URL without encoded characters in notebook start message. (#9131) 2020-02-13 11:19:34 -08:00
Chris LaFreniere
f10a504f45 Notebooks: Listen for Enter on Add Package Tab (#9124)
* Pressing enter searches for package

* cleanup
2020-02-13 11:14:51 -08:00
Charles Gagnon
844bf04c42 Update CHANGELOG and README for 1.15 release (#9133)
* Update CHANGELOG and README for 1.15 release

* Correct link
2020-02-13 09:07:47 -08:00
Anthony Dresser
17bb895f7c fix tests 2020-02-13 03:15:18 +00:00
Anthony Dresser
e257612e82 fix tests 2020-02-13 03:15:08 +00:00
Anthony Dresser
3d8ed48bee distro 2020-02-13 03:14:18 +00:00
ADS Merger
73ea8b79b2 Merge from vscode 1fbacccbc900bb59ba8a8f26a4128d48a1c97842 2020-02-13 02:56:02 +00:00
Anthony Dresser
9af1f3b0eb More layering (#9111)
* move handling generated files to the serilization classes

* remove unneeded methods

* add more folders to strictire compile, add more strict compile options

* update ci

* wip

* add more layering and fix issues

* add more strictness

* remove unnecessary assertion

* add missing checks

* fix indentation

* wip

* remove jsdoc

* fix layering

* fix compile

* fix compile errors

* wip

* wip

* finish layering

* fix css

* more layering

* rip

* reworking results serializer

* move some files around

* move capabilities to platform wip

* implement capabilities register provider

* fix capabilities service

* fix usage of the regist4ry

* add contribution

* remove no longer good parts

* fix issues with startup

* another try

* fix startup

* fix imports

* fix tests

* fix tests

* fix more tests

* fix tests

* fix more tests

* fix broken test

* fix tabbing

* fix naming
2020-02-12 18:24:08 -06:00
Anthony Dresser
fa3eaa59f5 disable ci browser tests 2020-02-11 09:12:15 +00:00
Anthony Dresser
fcec5f2b59 disable browser tests for now 2020-02-11 08:32:36 +00:00
Anthony Dresser
92fa296533 distro 2020-02-11 07:19:25 +00:00
ADS Merger
085752f111 Merge from vscode 8a997f7321ae6612fc0e6eb3eac4f358a6233bfb 2020-02-11 07:08:19 +00:00
Anthony Dresser
0f934081e1 More layering and strictness (#9004)
* move handling generated files to the serilization classes

* remove unneeded methods

* add more folders to strictire compile, add more strict compile options

* update ci

* wip

* add more layering and fix issues

* add more strictness

* remove unnecessary assertion

* add missing checks

* fix indentation

* wip

* remove jsdoc

* fix layering

* fix compile

* fix compile errors

* wip

* wip

* finish layering

* fix css

* more layering

* remove no longer good parts

* fix issues with startup

* another try

* fix startup
2020-02-11 00:47:17 -06:00
Cory Rivera
3a8b74a311 Set notebook as trusted after executing a cell. (#9108)
* Also set trusted by default when opening a notebook without any code cells.
2020-02-10 17:03:57 -08:00
Kim Santiago
45341d786b Move dacpac and schema compare localized strings (#9107)
* move localized strings

* move schema compare localized strings
2020-02-10 13:30:52 -08:00
Charles Gagnon
eac05c85f1 Make connectionProfileGroup support undefined values (#9102)
* Make connectionProfileGroup able to support undefined values being passed

* Fix strict null checks

* More strict null check fixes
2020-02-10 13:03:57 -08:00
Anthony Dresser
c11c7d2f0e Merge branch 'ads-master-vscode-2020-02-08T04-50-56' 2020-02-10 20:41:19 +00:00
Leila Lali
ac6a27b9c2 Machine Learning Services Extension - External Languages (#9043)
* Added external language list, edit and delete UIs to Machine Learning extension
2020-02-10 08:58:46 -08:00
Anthony Dresser
5d81d70a9a distro 2020-02-08 06:24:28 +00:00
Anthony Dresser
68061de010 distro 2020-02-08 05:01:14 +00:00
ADS Merger
2af13c18d2 Merge from vscode 718331d6f3ebd1b571530ab499edb266ddd493d5 2020-02-08 04:50:58 +00:00
Alan Ren
8c61538a27 fix charting issue (#9094)
* fix charting issue

* fix charting issue 2

* revert version bump
2020-02-07 17:42:58 -08:00
Anthony Dresser
1a2381cc7c Disable unnecessary parts in testing (#8996)
* disable unnecessary parts in testing

* fix options for extension unit tests
2020-02-07 18:59:04 -06:00
Amir Omidi
5283a7c874 Remove unused nls line (#9098) 2020-02-07 16:53:28 -08:00
Charles Gagnon
ec0a7a29d3 Remove quality checks for events (#8934)
* Remove quality checks for events

* Update iKey

* Add missed quality check
2020-02-07 14:43:03 -08:00
Alex Ma
aa22466c0f Fix for revert on pressing escape. (#9090)
* added working revert

* set currentEditCellValue to undefined

* Some consolidation
2020-02-07 14:24:29 -08:00
Charles Gagnon
fe9ffddd3b Fix loading and clickable div screen reader issues (#9088)
* Fix loading and clickable div screen reader issues

* Change back to default clickable to false
2020-02-07 13:27:29 -08:00
Charles Gagnon
39ac8498dc Fix feature request links (#9089)
* Fix feature request links

* fwlink for send a smile link too
2020-02-07 13:03:49 -08:00
Chris LaFreniere
b4e30e17af Remove unnecessary code to sql-vnext extension (#9027) 2020-02-06 17:37:46 -08:00
Maddy
32ac169906 Task/check file length (#9047)
* add filelength task to vscodeTasks

* added to package task instead of build

* testing for failures with reduced limits

* reverted to actual lengths
2020-02-06 16:45:10 -08:00
Amir Omidi
df3f1768f7 Show error to user (#9014)
* Show error to user

* Update the errors

* change message
2020-02-06 13:42:01 -08:00
Chris LaFreniere
343daf58fe Notebooks: Fix Padding on Mac SelectContainers in Toolbar (#9021)
* fix css on mac

* change to monaco workbench mac
2020-02-05 16:06:55 -08:00
Chris LaFreniere
8e67b104c3 BDC: Add another command for bdc extension activation events (#9050)
* Add another command for bdc extension activation

* spaces

* Add other activation events

* spacing
2020-02-04 20:09:39 -08:00
Alex Ma
4b2121e3f8 removed unnecessary formatting in formatter (#9041) 2020-02-04 11:59:58 -08:00
Chris LaFreniere
10d817b6b4 Change ps kernel version to latest 4 updated flow (#9023) 2020-02-04 11:52:28 -08:00
Chris LaFreniere
2208666eef Books: Ensure associatedResource is Present for Untitled Notebooks that have a File Associated with them (#9037)
* Conditionally add associatedResource t untitled nb

* Fix Jupyter Book notebook titles (#9039)

* Fix notebook titles

* Fix navigation links for books

* Added comments

Co-authored-by: Chris LaFreniere <40371649+chlafreniere@users.noreply.github.com>

* PR comment nit

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2020-02-04 11:42:24 -08:00
Karl Burtram
9c7f844d59 Import "fromPromise" so Observables work correctly (#9034)
* Import "fromPromise" so Observables work correctly

* Bump distro guid

* Fix unit test missing file error

* Bump distro to pick up latest changes
2020-02-04 11:15:31 -08:00
Charles Gagnon
86ad477c77 Add enabled property and make default account option empty (#9036)
* Add enabled property and make default account option empty

* Rmove unused loc string

* Add descriptive comment and support required azure dropdowns.
2020-02-04 08:06:14 -08:00
Charles Gagnon
62df5359e2 Even more robust handling of extension tree loading (#9007)
* Even more robust handling of extension tree loading

* Fix initial loading and add new test for CMS

* Fix compile errors

* Fix logic

* Remove debug log statements
2020-02-04 08:03:34 -08:00
Charles Gagnon
5a2bbc0375 Add location to azure-account deploy field (#9019) 2020-02-03 18:25:54 -08:00
khoiph1
2cce8b21c8 Loc Update (#9031) 2020-02-03 14:07:26 -08:00
Leila Lali
56a6f70c0d Machine Learning Services Settings (#8968)
* Added two config to Machine Learning Services extension to enable and disable python and r
2020-02-03 09:25:36 -08:00
Amir Omidi
c6689700f6 Move files locations (#9015)
* Move files locations

* Extension path
2020-01-31 14:54:32 -08:00
Alex Ma
5b2c14f11a Fix for table name not showing up on the header. (#9016)
* fix for edit data table header

* Fix for name, and SQL load
2020-01-31 14:06:56 -08:00
Charles Gagnon
402d693885 Fix action id for OpenFileInFolderAction (#9005)
* Fix action id for OpenFileInFolderAction

* Undo unrelated change
2020-01-31 13:15:23 -08:00
Anthony Dresser
7d751a20ab Move handling generated files to the serialization classes (#8952)
* move handling generated files to the serilization classes

* remove unneeded methods

* fix compile
2020-01-30 21:27:21 -08:00
Charles Gagnon
261e6fa89e Fix error when using azure-account deployment field (#8992)
* Fix error when using azure-account deployment field

* Make param optional

* Remove extra comment
2020-01-30 16:51:10 -08:00
Charles Gagnon
637a33c7a7 Support for removing hardcoded deployment options (#8986)
* Support for removing hardcode deployment options

* Add missing file

* Generalize errors and make name and id required. Sort dropdowns.

* Fix test

* Capitalize text
2020-01-30 10:35:37 -08:00
Anthony Dresser
56695be14a More layering and compile strictness (#8973)
* add more folders to strictire compile, add more strict compile options

* update ci

* wip

* add more layering and fix issues

* add more strictness

* remove unnecessary assertion

* add missing checks

* fix indentation

* remove jsdoc
2020-01-29 20:35:11 -08:00
2036 changed files with 130543 additions and 27054 deletions

View File

@@ -0,0 +1,9 @@
{
"tool": "Credential Scanner",
"suppressions": [
{
"file": "src\\vs\\base\\test\\common\\uri.test.ts",
"_justification": "External code"
}
]
}

View File

@@ -26,7 +26,17 @@
"no-throw-literal": "warn",
"no-unsafe-finally": "warn",
"no-unused-labels": "warn",
"no-restricted-globals": ["warn", "name", "length", "event", "closed", "external", "status", "origin", "orientation"], // non-complete list of globals that are easy to access unintentionally
"no-restricted-globals": [
"warn",
"name",
"length",
"event",
"closed",
"external",
"status",
"origin",
"orientation"
], // non-complete list of globals that are easy to access unintentionally
"no-var": "warn",
"jsdoc/no-types": "warn",
"semi": "off",
@@ -45,7 +55,7 @@
"code-layering": [
"warn",
{
"common": ["browser"], // {{SQL CARBON EDIT}} @anthonydresser not ideal, but for our purposes its fine for now,
"common": [],
"node": [
"common"
],
@@ -69,195 +79,609 @@
// !!! Do not relax these rules !!!
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
{
"target": "**/{vs,sql}/base/common/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/common/**"
]
},
{
"target": "**/{vs,sql}/base/test/common/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/test/common/**"
]
},
{
"target": "**/{vs,sql}/base/browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/base/node/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/{common,browser,node}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
// vs/base/test/browser contains tests for vs/base/browser
"target": "**/{vs,sql}/base/test/browser/**",
"restrictions": [
"assert",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/test/{common,browser}/**",
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/base/parts/*/common/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/parts/*/common/**"
]
},
{
"target": "**/{vs,sql}/base/parts/*/browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser}/**",
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/base/parts/*/node/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/{common,browser,node}/**",
"**/{vs,sql}/base/parts/*/{common,browser,node}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/base/parts/*/electron-browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**",
"!path", // node modules (except path where we have our own impl)
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/base/parts/*/electron-main/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/{common,browser,node,electron-main}/**",
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-main}/**",
"!path", // node modules (except path where we have our own impl)
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/platform/*/common/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/parts/*/common/**",
"**/{vs,sql}/{platform,workbench}/**/common/**",
"**/vs/editor/common/**",
"azdata" // TODO remove
]
},
{
"target": "**/{vs,sql}/platform/*/test/common/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/{platform,workbench}/**/common/**",
"**/{vs,sql}/{base,platform,workbench}/**/test/common/**",
"typemoq",
"azdata" // TODO remove
]
},
{
"target": "**/{vs,sql}/platform/*/browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser}/**",
"**/{vs,sql}/{platform,workbench}/**/{common,browser}/**",
"**/vs/editor/{common,browser}/**",
"@angular/*",
"rxjs/*",
"azdata" // TODO remove
]
},
{
"target": "**/{vs,sql}/platform/*/node/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/{common,browser,node}/**",
"**/{vs,sql}/base/parts/*/{common,browser,node}/**",
"**/{vs,sql}/{platform,workbench}/**/{common,browser,node}/**",
"**/vs/editor/{common,browser,node}/**",
"!path", // node modules (except path where we have our own impl)
"azdata" // TODO remove
]
},
{
"target": "**/{vs,sql}/platform/*/electron-browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser,node}/**",
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/{platform,workbench}/**/{common,browser,node,electron-browser}/**",
"**/vs/editor/{common,browser,node,electron-browser}/**",
"!path", // node modules (except path where we have our own impl)
"@angular/*",
"rxjs/*",
"azdata" // TODO remove
]
},
{
"target": "**/{vs,sql}/platform/*/electron-main/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/{common,browser,node}/**",
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/{platform,workbench}/**/{common,browser,node,electron-main}/**",
"**/vs/editor/{common,browser,node,electron-main}/**",
"!path", // node modules (except path where we have our own impl)
"azdata" // TODO remove
]
},
{
"target": "**/{vs,sql}/platform/*/test/browser/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/{platform,workbench}/**/{common,browser}/**",
"**/{vs,sql}/{base,platform,workbench}/**/test/{common,browser}/**",
"typemoq",
"@angular/*",
"rxjs/*",
"azdata" // TODO remove
]
}
"target": "**/{vs,sql}/base/common/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/common/**"
]
},
{
"target": "**/{vs,sql}/base/test/common/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/test/common/**"
]
},
{
"target": "**/{vs,sql}/base/browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/base/node/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/{common,node}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
// vs/base/test/browser contains tests for vs/base/browser
"target": "**/{vs,sql}/base/test/browser/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/test/{common,browser}/**",
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/base/parts/*/common/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/parts/*/common/**"
]
},
{
"target": "**/{vs,sql}/base/parts/*/browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser}/**",
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/base/parts/*/node/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/{common,node}/**",
"**/{vs,sql}/base/parts/*/{common,node}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/base/parts/*/electron-browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**",
"!path", // node modules (except path where we have our own impl)
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/base/parts/*/electron-main/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/{common,node,electron-main}/**",
"**/{vs,sql}/base/parts/*/{common,node,electron-main}/**",
"!path", // node modules (except path where we have our own impl)
"@angular/*",
"rxjs/*"
]
},
{
"target": "**/{vs,sql}/platform/*/common/**",
"restrictions": [
"vs/nls",
"azdata",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/parts/*/common/**",
"**/{vs,sql}/platform/*/common/**"
]
},
{
"target": "**/{vs,sql}/platform/*/test/common/**",
"restrictions": [
"assert",
"typemoq",
"sinon",
"vs/nls",
"azdata",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/test/common/**",
"**/{vs,sql}/base/parts/*/common/**",
"**/{vs,sql}/platform/*/common/**",
"**/{vs,sql}/platform/*/test/common/**"
]
},
{
"target": "**/{vs,sql}/platform/*/browser/**",
"restrictions": [
"vs/nls",
"azdata",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**"
]
},
{
"target": "**/{vs,sql}/platform/*/node/**",
"restrictions": [
"vs/nls",
"azdata",
"**/{vs,sql}/base/{common,node}/**",
"**/{vs,sql}/base/parts/*/{common,node}/**",
"**/{vs,sql}/platform/*/{common,node}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/platform/*/electron-browser/**",
"restrictions": [
"vs/nls",
"azdata",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser,node}/**",
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/platform/*/{common,browser,node,electron-browser}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/platform/*/electron-main/**",
"restrictions": [
"vs/nls",
"azdata",
"**/{vs,sql}/base/{common,node,electron-main}/**",
"**/{vs,sql}/base/parts/*/{common,node,electron-main}/**",
"**/{vs,sql}/platform/*/{common,node,electron-main}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/platform/*/test/browser/**",
"restrictions": [
"assert",
"typemoq",
"sinon",
"azdata",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/test/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
"**/{vs,sql}/platform/*/test/{common,browser}/**"
]
},
{
"target": "**/{vs,sql}/editor/common/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/worker/**",
"**/{vs,sql}/platform/*/common/**",
"**/{vs,sql}/editor/common/**"
]
},
{
"target": "**/{vs,sql}/editor/test/common/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/platform/*/common/**",
"**/{vs,sql}/platform/*/test/common/**",
"**/{vs,sql}/editor/common/**",
"**/{vs,sql}/editor/test/common/**"
]
},
{
"target": "**/{vs,sql}/editor/browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
"**/{vs,sql}/editor/{common,browser}/**"
]
},
{
"target": "**/{vs,sql}/editor/test/browser/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
"**/{vs,sql}/platform/*/test/{common,browser}/**",
"**/{vs,sql}/editor/{common,browser}/**",
"**/{vs,sql}/editor/test/{common,browser}/**"
]
},
{
"target": "**/{vs,sql}/editor/standalone/common/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/platform/*/common/**",
"**/{vs,sql}/editor/common/**",
"**/{vs,sql}/editor/standalone/common/**"
]
},
{
"target": "**/{vs,sql}/editor/standalone/test/common/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/platform/*/common/**",
"**/{vs,sql}/platform/*/test/common/**",
"**/{vs,sql}/editor/common/**",
"**/{vs,sql}/editor/test/common/**"
]
},
{
"target": "**/{vs,sql}/editor/standalone/browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
"**/{vs,sql}/editor/{common,browser}/**",
"**/{vs,sql}/editor/contrib/**",
"**/{vs,sql}/editor/standalone/{common,browser}/**"
]
},
{
"target": "**/{vs,sql}/editor/standalone/test/browser/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
"**/{vs,sql}/platform/*/test/{common,browser}/**",
"**/{vs,sql}/editor/{common,browser}/**",
"**/{vs,sql}/editor/standalone/{common,browser}/**",
"**/{vs,sql}/editor/test/{common,browser}/**"
]
},
{
"target": "**/{vs,sql}/editor/contrib/*/test/**",
"restrictions": [
"assert",
"sinon",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/test/{common,browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
"**/{vs,sql}/platform/*/test/{common,browser}/**",
"**/{vs,sql}/editor/{common,browser}/**",
"**/{vs,sql}/editor/test/{common,browser}/**",
"**/{vs,sql}/editor/contrib/**"
]
},
{
"target": "**/{vs,sql}/editor/contrib/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser}/**",
"**/{vs,sql}/platform/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
"**/{vs,sql}/editor/{common,browser}/**",
"**/{vs,sql}/editor/contrib/**"
]
},
{
"target": "**/{vs,sql}/workbench/common/**",
"restrictions": [
"vs/nls",
"azdata",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/parts/*/common/**",
"**/{vs,sql}/platform/*/common/**",
"**/{vs,sql}/editor/common/**",
"**/{vs,sql}/editor/contrib/*/common/**",
"**/{vs,sql}/workbench/common/**",
"**/{vs,sql}/workbench/services/*/common/**",
"assert"
]
},
{
"target": "**/{vs,sql}/workbench/browser/**",
"restrictions": [
"vs/nls",
"azdata",
"@angular/*",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
"**/{vs,sql}/editor/{common,browser}/**",
"**/{vs,sql}/editor/contrib/**", // editor/contrib is equivalent to /browser/ by convention
"**/{vs,sql}/workbench/workbench.web.api",
"**/{vs,sql}/workbench/{common,browser}/**",
"**/{vs,sql}/workbench/services/*/{common,browser}/**",
"assert"
]
},
{
"target": "**/{vs,sql}/workbench/workbench.desktop.main.ts",
"restrictions": [
"**"
]
},
{
"target": "**/{vs,sql}/workbench/api/common/**",
"restrictions": [
"vscode",
"azdata",
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/platform/*/common/**",
"**/{vs,sql}/editor/common/**",
"**/{vs,sql}/editor/contrib/*/common/**",
"**/{vs,sql}/workbench/api/common/**",
"**/{vs,sql}/workbench/common/**",
"**/{vs,sql}/workbench/services/*/common/**",
"**/{vs,sql}/workbench/contrib/*/common/**"
]
},
{
"target": "**/{vs,sql}/workbench/api/worker/**",
"restrictions": [
"vscode",
"azdata",
"vs/nls",
"**/{vs,sql}/**/{common,worker}/**"
]
},
{
"target": "**/{vs,sql}/workbench/electron-browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/platform/*/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/editor/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/editor/contrib/**", // editor/contrib is equivalent to /browser/ by convention
"**/{vs,sql}/workbench/{common,browser,node,electron-browser,api}/**",
"**/{vs,sql}/workbench/services/*/{common,browser,node,electron-browser}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/workbench/services/**/test/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/**",
"**/{vs,sql}/platform/**",
"**/{vs,sql}/editor/**",
"**/{vs,sql}/workbench/{common,browser,node,electron-browser}/**",
"vs/workbench/contrib/files/common/editors/fileEditorInput",
"**/{vs,sql}/workbench/services/**",
"**/{vs,sql}/workbench/test/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/workbench/services/**/common/**",
"restrictions": [
"vs/nls",
"azdata",
"**/{vs,sql}/base/**/common/**",
"**/{vs,sql}/platform/**/common/**",
"**/{vs,sql}/editor/common/**",
"**/{vs,sql}/workbench/workbench.web.api",
"**/{vs,sql}/workbench/common/**",
"**/{vs,sql}/workbench/services/**/common/**",
"**/{vs,sql}/workbench/api/**/common/**",
"vs/workbench/contrib/files/common/editors/fileEditorInput", // this should be fine, it only accesses constants from contrib
"vscode-textmate"
]
},
{
"target": "**/{vs,sql}/workbench/services/**/worker/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/**/common/**",
"**/{vs,sql}/platform/**/common/**",
"**/{vs,sql}/editor/common/**",
"**/{vs,sql}/workbench/**/common/**",
"**/{vs,sql}/workbench/**/worker/**",
"**/{vs,sql}/workbench/services/**/common/**",
"vscode"
]
},
{
"target": "**/{vs,sql}/workbench/services/**/browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"azdata",
"vscode",
"**/{vs,sql}/base/**/{common,browser,worker}/**",
"**/{vs,sql}/platform/**/{common,browser}/**",
"**/{vs,sql}/editor/{common,browser}/**",
"**/{vs,sql}/workbench/workbench.web.api",
"**/{vs,sql}/workbench/{common,browser}/**",
"**/{vs,sql}/workbench/api/{common,browser}/**",
"**/{vs,sql}/workbench/services/**/{common,browser}/**",
"vscode-textmate",
"onigasm-umd",
"sanitize-html",
"@angular/*",
"rxjs/**"
]
},
{
"target": "**/{vs,sql}/workbench/services/**/node/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/**/{common,node}/**",
"**/{vs,sql}/platform/**/{common,node}/**",
"**/{vs,sql}/editor/{common,node}/**",
"**/{vs,sql}/workbench/{common,node}/**",
"**/{vs,sql}/workbench/api/{common,node}/**",
"**/{vs,sql}/workbench/services/**/{common,node}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/workbench/services/**/electron-browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/**/{common,browser,worker,node,electron-browser}/**",
"**/{vs,sql}/platform/**/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/editor/**",
"**/{vs,sql}/workbench/{common,browser,node,electron-browser,api}/**",
"**/{vs,sql}/workbench/services/**/{common,browser,node,electron-browser}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/workbench/contrib/terminal/browser/**",
"restrictions": [
// xterm and its addons are strictly browser-only components
"xterm",
"xterm-addon-*",
"**/{vs,sql}/**"
]
},
{
"target": "**/{vs,sql}/workbench/contrib/extensions/browser/**",
"restrictions": [
"semver-umd",
"**/{vs,sql}/**"
]
},
{
"target": "**/{vs,sql}/workbench/contrib/update/browser/update.ts",
"restrictions": [
"semver-umd",
"**/{vs,sql}/**"
]
},
{
"target": "**/{vs,sql}/code/node/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/**/{common,node}/**",
"**/{vs,sql}/base/parts/**/{common,node}/**",
"**/{vs,sql}/platform/**/{common,node}/**",
"**/{vs,sql}/code/**/{common,node}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/code/electron-browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/{vs,sql}/base/**/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/base/parts/**/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/platform/**/{common,browser,node,electron-browser}/**",
"**/{vs,sql}/code/**/{common,browser,node,electron-browser}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/code/electron-main/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/**/{common,node,electron-main}/**",
"**/{vs,sql}/base/parts/**/{common,node,electron-main}/**",
"**/{vs,sql}/platform/**/{common,node,electron-main}/**",
"**/{vs,sql}/code/**/{common,node,electron-main}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{vs,sql}/server/**",
"restrictions": [
"vs/nls",
"**/{vs,sql}/base/**/{common,node}/**",
"**/{vs,sql}/base/parts/**/{common,node}/**",
"**/{vs,sql}/platform/**/{common,node}/**",
"**/{vs,sql}/workbench/**/{common,node}/**",
"**/{vs,sql}/server/**",
"**/{vs,sql}/code/**/{common,node}/**",
"!path" // node modules (except path where we have our own impl)
]
},
{
"target": "**/{node,electron-browser,electron-main}/**",
"restrictions": "**/*"
},
{
"target": "**/extensions/**",
"restrictions": "**/*"
},
{
"target": "**/test/smoke/**",
"restrictions": [
"**/test/smoke/**",
"*"
]
},
{
"target": "**/test/automation/**",
"restrictions": [
"**/test/automation/**",
"*"
]
},
{
"target": "**/test/integration/**",
"restrictions": [
"**/test/integration/**",
"*"
]
},
{
"target": "{**/api/**.test.ts,}",
"restrictions": "{**/{vs,sql}/**,assert,sinon,crypto,vscode,typemoq,azdata}"
},
{
"target": "{**/**.test.ts,**/test/**}",
"restrictions": "{**/{vs,sql}/**,assert,sinon,crypto,xterm*,vscode,typemoq,azdata}"
},
{
"target": "**/browser/**",
"restrictions": [
"**/{vs,sql}/**",
"azdata",
"vscode",
"@angular/*",
"rxjs/**",
"chart.js",
"ng2-charts",
"angular2-grid",
"html-query-plan",
"plotly.js-dist"
]
},
{
"target": "**/{common,browser,workbench}/**",
"restrictions": ["**/{vs,sql}/**","azdata","vscode"]
}
]
},
"overrides": [
@@ -268,6 +692,61 @@
"rules": {
"jsdoc/no-types": "off"
}
},
{
"files": [
"**/sql/**"
],
"rules": {
"no-sync": "warn",
"strict": ["warn", "never"],
"no-console": "warn"
}
},
{
"files": [
"**/vscode.d.ts",
"**/vscode.proposed.d.ts"
],
"rules": {
"vscode-dts-create-func": "warn",
"vscode-dts-literal-or-types": "warn",
"vscode-dts-interface-naming": "warn",
"vscode-dts-event-naming": [
"warn",
{
"allowed": [
"onCancellationRequested",
"event"
],
"verbs": [
"accept",
"change",
"close",
"collapse",
"create",
"delete",
"dispose",
"edit",
"end",
"expand",
"hide",
"open",
"override",
"receive",
"register",
"rename",
"save",
"send",
"start",
"terminate",
"trigger",
"unregister",
"write"
]
}
]
}
}
]
}

View File

@@ -1,7 +0,0 @@
{
"extends": ".eslintrc.json",
"rules": {
"no-sync": "warn",
"strict": ["warn", "never"]
}
}

20
.eslintrc.sql.ts.json Normal file
View File

@@ -0,0 +1,20 @@
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"project": "./tsconfig.sql.json"
},
"plugins": [
"@typescript-eslint",
"jsdoc"
],
"rules": {
"@typescript-eslint/no-floating-promises": [
"error",
{
"ignoreVoid": true
}
]
}
}

7
.github/mergers.json vendored Normal file
View File

@@ -0,0 +1,7 @@
[
"kenvanhyning",
"kburtram",
"udeeshagautam",
"qifahs",
"chlafreniere"
]

View File

@@ -11,46 +11,49 @@ on:
- release/*
jobs:
# linux:
# runs-on: ubuntu-latest
# env:
# CHILD_CONCURRENCY: "1"
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v1
# # TODO: rename azure-pipelines/linux/xvfb.init to github-actions
# - run: |
# sudo apt-get update
# sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libkrb5-dev # {{SQL CARBON EDIT}} add kerberos dep
# sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
# sudo chmod +x /etc/init.d/xvfb
# sudo update-rc.d xvfb defaults
# sudo service xvfb start
# name: Setup Build Environment
# - uses: actions/setup-node@v1
# with:
# node-version: 10
# # TODO: cache node modules
# - run: yarn --frozen-lockfile
# name: Install Dependencies
# - run: yarn electron x64
# name: Download Electron
# - run: yarn gulp hygiene
# name: Run Hygiene Checks
# - run: yarn strict-vscode # {{SQL CARBON EDIT}} add step
# name: Run Strict Compile Options
# # - run: yarn monaco-compile-check {{SQL CARBON EDIT}} remove step
# # name: Run Monaco Editor Checks
# - run: yarn valid-layers-check
# name: Run Valid Layers Checks
# - run: yarn compile
# name: Compile Sources
# # - run: yarn download-builtin-extensions {{SQL CARBON EDIT}} remove step
# # name: Download Built-in Extensions
# - run: DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
# name: Run Unit Tests
# # - run: DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests" {{SQL CARBON EDIT}} remove step
# # name: Run Integration Tests
linux:
runs-on: ubuntu-latest
env:
CHILD_CONCURRENCY: "1"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v1
# TODO: rename azure-pipelines/linux/xvfb.init to github-actions
- run: |
sudo apt-get update
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libkrb5-dev # {{SQL CARBON EDIT}} add kerberos dep
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
sudo chmod +x /etc/init.d/xvfb
sudo update-rc.d xvfb defaults
sudo service xvfb start
name: Setup Build Environment
- uses: actions/setup-node@v1
with:
node-version: 10
# TODO: cache node modules
- run: yarn --frozen-lockfile
name: Install Dependencies
- run: yarn electron x64
name: Download Electron
- run: yarn gulp hygiene
name: Run Hygiene Checks
- run: yarn strict-vscode # {{SQL CARBON EDIT}} add step
name: Run Strict Compile Options
# - run: yarn monaco-compile-check {{SQL CARBON EDIT}} remove step
# name: Run Monaco Editor Checks
- run: yarn valid-layers-check
name: Run Valid Layers Checks
- run: yarn compile
name: Compile Sources
# - run: yarn download-builtin-extensions {{SQL CARBON EDIT}} remove step
# name: Download Built-in Extensions
- run: DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
name: Run Unit Tests (Electron)
# Fails with cryptic error (e.g. https://github.com/microsoft/vscode/pull/90292/checks?check_run_id=433681926#step:13:9)
# - run: DISPLAY=:10 yarn test-browser --browser chromium
# name: Run Unit Tests (Browser)
# - run: DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests" {{SQL CARBON EDIT}} remove step
# name: Run Integration Tests (Electron)
windows:
runs-on: windows-2016
@@ -82,9 +85,11 @@ jobs:
# - run: yarn download-builtin-extensions {{SQL CARBON EDIT}} remove step
# name: Download Built-in Extensions
- run: .\scripts\test.bat --tfs "Unit Tests"
name: Run Unit Tests
name: Run Unit Tests (Electron)
# - run: yarn test-browser --browser chromium {{SQL CARBON EDIT}} disable for now @TODO @anthonydresser
# name: Run Unit Tests (Browser)
# - run: .\scripts\test-integration.bat --tfs "Integration Tests" {{SQL CARBON EDIT}} remove step
# name: Run Integration Tests
# name: Run Integration Tests (Electron)
darwin:
runs-on: macos-latest
@@ -113,6 +118,34 @@ jobs:
# - run: yarn download-builtin-extensions {{SQL CARBON EDIT}} remove step
# name: Download Built-in Extensions
- run: ./scripts/test.sh --tfs "Unit Tests"
name: Run Unit Tests
# - run: ./scripts/test-integration.sh --tfs "Integration Tests" {{SQL CARBON EDIT}} remove step
# name: Run Integration Tests
name: Run Unit Tests (Electron)
# - run: yarn test-browser --browser chromium --browser webkit
# name: Run Unit Tests (Browser)
# - run: ./scripts/test-integration.sh --tfs "Integration Tests"
# name: Run Integration Tests (Electron)
# monaco:
# runs-on: ubuntu-latest
# env:
# CHILD_CONCURRENCY: "1"
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v1
# # TODO: rename azure-pipelines/linux/xvfb.init to github-actions
# - run: |
# sudo apt-get update
# sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
# sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
# sudo chmod +x /etc/init.d/xvfb
# sudo update-rc.d xvfb defaults
# sudo service xvfb start
# name: Setup Build Environment
# - uses: actions/setup-node@v1
# with:
# node-version: 10
# - run: yarn --frozen-lockfile
# name: Install Dependencies
# - run: yarn monaco-compile-check
# name: Run Monaco Editor Checks
# - run: yarn gulp editor-esm-bundle
# name: Editor Distro & ESM Bundle

16
.github/workflows/merger.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: AutoMerger
on:
issue_comment:
types: [created]
jobs:
release_labeler:
name: Auto Merger
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- uses: ./build/actions/AutoMerge
env:
GITHUB_TOKEN: "${{ secrets.GithubMerger }}"

19
.github/workflows/portlabel.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: Port Request Labeler
on:
pull_request:
branches:
- release/**
jobs:
release_labeler:
name: Release labeler
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- uses: ./build/actions/AutoLabel
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
label: "Port Request"

1
.gitignore vendored
View File

@@ -11,6 +11,7 @@ out-editor/
out-editor-src/
out-editor-build/
out-editor-esm/
out-editor-esm-bundle/
out-editor-min/
out-monaco-editor-core/
out-vscode/

8
.vscode/launch.json vendored
View File

@@ -16,8 +16,6 @@
"request": "attach",
"name": "Attach to Extension Host",
"port": 5870,
"timeout": 30000,
"restart": true,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
]
@@ -95,7 +93,9 @@
"webRoot": "${workspaceFolder}",
// Settings for js-debug:
"pauseForSourceMap": false,
"outFiles": ["${workspaceFolder}/out/**/*.js"],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
},
{
"type": "node",
@@ -197,7 +197,7 @@
"type": "node",
"request": "launch",
"name": "Run Unit Tests",
"program": "${workspaceFolder}/test/electron/index.js",
"program": "${workspaceFolder}/test/unit/electron/index.js",
"runtimeExecutable": "${workspaceFolder}/.build/electron/Azure Data Studio.app/Contents/MacOS/Electron",
"windows": {
"runtimeExecutable": "${workspaceFolder}/.build/electron/azuredatastudio.exe"

View File

@@ -1,7 +1,6 @@
# Query: \\w+\\?\\..+![(.[]
# Flags: RegExp
# ContextLines: 2
src/vs/base/browser/ui/tree/asyncDataTree.ts:
270 } : undefined,
271 isChecked: options.ariaProvider!.isChecked ? (e) => {

View File

@@ -22,6 +22,8 @@
"i18n/**": true,
"extensions/**/out/**": true,
"test/smoke/out/**": true,
"test/automation/out/**": true,
"test/integration/browser/out/**": true,
"src/vs/base/test/node/uri.test.data.txt": true
},
"lcov.path": [

14
.vscode/tasks.json vendored
View File

@@ -31,20 +31,6 @@
}
}
},
{
"type": "npm",
"script": "strict-function-types-watch",
"label": "TS - Strict Function Types",
"isBackground": true,
"presentation": {
"reveal": "never"
},
"problemMatcher": {
"base": "$tsc-watch",
"owner": "typescript-function-types",
"applyTo": "allDocuments"
}
},
{
"type": "npm",
"script": "strict-vscode-watch",

View File

@@ -1,3 +1,3 @@
disturl "https://atom.io/download/electron"
target "6.1.6"
target "7.1.11"
runtime "electron"

View File

@@ -1,5 +1,20 @@
# Change Log
## Version 1.15.1
* Release date: February 19, 2020
* Release status: General Availability
* Resolved [#9145 Edit Data render the result grid incorrectly when using custom query](https://github.com/microsoft/azuredatastudio/issues/9145).
* Resolved [#9149 Show Active Connections](https://github.com/microsoft/azuredatastudio/issues/9149).
## Version 1.15.0
* Release date: February 13, 2020
* Release status: General Availability
* New Azure Sign-in improvement - Added improved Azure Sign-in experience, including removal of copy/paste of device code to make a more seamless connected experience.
* Find in Notebook support - Users can now use Ctrl+F inside of a notebook. Find in Notebook support searches line by line through both code and text cells.
* VS Code merge from 1.38 to 1.42 - This release includes updates to VS Code from the 3 previous VS Code releases. Read their [release notes](https://code.visualstudio.com/updates/v1_42) to learn more.
* Fix for the ["white/blank screen"](https://github.com/microsoft/azuredatastudio/issues/8775) issue reported by many users.
* Resolved [bugs and issues](https://github.com/microsoft/azuredatastudio/issues?q=is%3Aissue+label%3ABug+milestone%3A%22February+2020%22+is%3Aclosed).
## Version 1.14.1
* Release date: December 26, 2019
* Release status: General Availability

View File

@@ -10,13 +10,13 @@ Azure Data Studio is a data management tool that enables you to work with SQL Se
Platform | Link
-- | --
Windows User Installer | https://go.microsoft.com/fwlink/?linkid=2113530
Windows System Installer | https://go.microsoft.com/fwlink/?linkid=2113628
Windows ZIP | https://go.microsoft.com/fwlink/?linkid=2113529
macOS ZIP | https://go.microsoft.com/fwlink/?linkid=2113528
Linux TAR.GZ | https://go.microsoft.com/fwlink/?linkid=2113627
Linux RPM | https://go.microsoft.com/fwlink/?linkid=2113718
Linux DEB | https://go.microsoft.com/fwlink/?linkid=2113344
Windows User Installer | https://go.microsoft.com/fwlink/?linkid=2116782
Windows System Installer | https://go.microsoft.com/fwlink/?linkid=2116781
Windows ZIP | https://go.microsoft.com/fwlink/?linkid=2116691
macOS ZIP | https://go.microsoft.com/fwlink/?linkid=2116692
Linux TAR.GZ | https://go.microsoft.com/fwlink/?linkid=2116783
Linux RPM | https://go.microsoft.com/fwlink/?linkid=2116779
Linux DEB | https://go.microsoft.com/fwlink/?linkid=2116780
Go to our [download page](https://aka.ms/azuredatastudio) for more specific instructions.

View File

@@ -108,6 +108,8 @@ jquery-ui/demos/**
slickgrid/node_modules/**
slickgrid/examples/**
kerberos/build/**
# END SQL Modules
nsfw/binding.gyp

View File

@@ -0,0 +1,17 @@
{
"env": {
"commonjs": true,
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2018
},
"rules": {
}
}

98
build/actions/AutoLabel/.gitignore vendored Normal file
View File

@@ -0,0 +1,98 @@
# Created by https://www.gitignore.io/api/node
# Edit at https://www.gitignore.io/?templates=node
### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# react / gatsby
public/
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# End of https://www.gitignore.io/api/node

View File

@@ -0,0 +1,9 @@
name: 'Auto Labeler'
description: 'Automatically add a label to a PR'
author: 'aaomidi'
inputs:
token:
description: 'The GITHUB_TOKEN secret'
runs:
using: 'node12'
main: 'dist/index.js'

View File

@@ -0,0 +1 @@
export {};

35714
build/actions/AutoLabel/dist/index.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,24 @@
{
"name": "auto-merge",
"version": "1.0.0",
"main": "src/index.js",
"repository": "git@github.com:aaomidi/AutoLabel.git",
"author": "Amir Omidi <amir@aaomidi.com>",
"license": "MIT",
"scripts": {
"package": "ncc build src/index.ts -o dist",
"lint": "eslint src/index.js"
},
"devDependencies": {
"@types/node": "^12.11.1",
"@zeit/ncc": "^0.21.1",
"eslint": "^6.8.0",
"typescript": "^3.8.3"
},
"dependencies": {
"@actions/core": "^1.1.3",
"@actions/github": "^1.1.0",
"@octokit/rest": "^16.33.1",
"actions-toolkit": "^3.0.1"
}
}

View File

@@ -0,0 +1,37 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Toolkit } from 'actions-toolkit';
const tools = new Toolkit({
event: 'pull_request',
secrets: ['GITHUB_TOKEN']
});
const label = tools.inputs.label || 'Port Request';
async function run() {
try {
let prNumber = tools.context.payload?.pull_request?.number;
if (prNumber === undefined) {
console.error('PR Number was undefined');
tools.log.error('PR Number was undefined');
return;
}
tools.github.issues.addLabels({
...tools.context.repo,
labels: [label],
issue_number: prNumber
});
} catch (ex) {
console.error(ex);
tools.log.error(ex);
}
}
run();

View File

@@ -0,0 +1,76 @@
{
"compilerOptions": {
/* Basic Options */
"target": "es6",
/* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
"module": "commonjs",
/* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
// "lib": [], /* Specify library files to be included in the compilation. */
// "allowJs": true, /* Allow javascript files to be compiled. */
// "checkJs": true, /* Report errors in .js files. */
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
"declaration": true,
/* Generates corresponding '.d.ts' file. */
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
"sourceMap": true,
/* Generates corresponding '.map' file. */
// "outFile": "./", /* Concatenate and emit output to single file. */
"outDir": "out",
/* Redirect output structure to the directory. */
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
// "composite": true, /* Enable project compilation */
// "removeComments": true, /* Do not emit comments to output. */
// "noEmit": true, /* Do not emit outputs. */
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
/* Strict Type-Checking Options */
"strict": true,
/* Enable all strict type-checking options. */
// "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
"strictNullChecks": true,
/* Enable strict null checks. */
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
"alwaysStrict": true,
/* Parse in strict mode and emit "use strict" for each source file. */
/* Additional Checks */
// "noUnusedLocals": true, /* Report errors on unused locals. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
/* Module Resolution Options */
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
// "typeRoots": [], /* List of folders to include type definitions from. */
"types": ["node"],
"skipLibCheck": true,
/* Type declaration files to be included in compilation. */
"allowSyntheticDefaultImports": true,
/* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
/* Source Map Options */
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
/* Experimental Options */
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
},
"include": [
"./src/**/*.ts"
],
"exclude": [
"node_modules"
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
{
"env": {
"commonjs": true,
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2018
},
"rules": {
}
}

100
build/actions/AutoMerge/.gitignore vendored Normal file
View File

@@ -0,0 +1,100 @@
# Created by https://www.gitignore.io/api/node
# Edit at https://www.gitignore.io/?templates=node
### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# react / gatsby
public/
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# End of https://www.gitignore.io/api/node
out/

View File

@@ -0,0 +1,6 @@
name: 'Auto Merge'
description: 'Automatically merges a PR based on command'
author: 'aaomidi'
runs:
using: 'node12'
main: 'dist/index.js'

View File

@@ -0,0 +1 @@
export {};

35769
build/actions/AutoMerge/dist/index.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,24 @@
{
"name": "auto-merge",
"version": "1.0.0",
"main": "src/index.js",
"repository": "git@github.com:aaomidi/AutoMerge.git",
"author": "Amir Omidi <amir@aaomidi.com>",
"license": "MIT",
"scripts": {
"package": "ncc build src/index.ts -o dist",
"lint": "eslint src/index.js"
},
"devDependencies": {
"@types/node": "^12.11.1",
"@zeit/ncc": "^0.21.1",
"eslint": "^6.8.0",
"typescript": "^3.8.3"
},
"dependencies": {
"@actions/core": "^1.1.3",
"@actions/github": "^1.1.0",
"@octokit/rest": "^16.33.1",
"actions-toolkit": "^3.0.1"
}
}

View File

@@ -0,0 +1,134 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Toolkit } from 'actions-toolkit';
import { Octokit } from '@octokit/rest';
interface LabelDefinition {
id: number,
name: string
}
interface RepoContext {
repo: string,
owner: string
}
const tools = new Toolkit({
event: 'issue_comment',
secrets: ['GITHUB_TOKEN']
});
const labelToCheckFor = tools.inputs.label || 'Approved';
const fileToCheckFor = tools.inputs.filePath || './.github/mergers.json';
const checkMerged = async (repoContext: RepoContext, pullNumber: number): Promise<boolean> => {
let isMerged: boolean;
try {
const result = await tools.github.pulls.checkIfMerged({
...repoContext,
pull_number: pullNumber
});
isMerged = result.status === 204;
} catch (ex) {
isMerged = false;
}
return isMerged;
};
const checkCollabrator = async (repoContext: RepoContext, username: string): Promise<boolean> => {
let isCollabrator: boolean;
try {
const result = await tools.github.repos.checkCollaborator({
...repoContext,
username,
});
isCollabrator = result.status === 204;
} catch (ex) {
isCollabrator = false;
}
return isCollabrator;
};
tools.command('merge', async () => {
try {
const issue = tools.context.payload.issue;
if (issue?.pull_request === undefined) {
console.log('This command only works on pull requests');
return;
}
const sender = tools.context.payload.sender;
const senderName = sender?.login ?? ' Unknown Sender';
const issueNumber = issue?.number;
if (!issueNumber) {
return tools.log.error('Issue number not defined.');
}
const isMerged = await checkMerged(tools.context.repo, issueNumber);
if (isMerged === true) {
console.log('PR is already merged');
return;
}
const mergers: string[] = JSON.parse(tools.getFile(fileToCheckFor));
if (!mergers.includes(senderName)) {
console.log('Unrecognized user tried to merge!', senderName);
return;
}
const isCollabrator = await checkCollabrator(tools.context.repo, senderName);
if (isCollabrator !== true) {
console.log('User is not a collabrator');
return;
}
const labels: LabelDefinition[] = issue.labels || [];
const foundLabel = labels.find(l => l.name === labelToCheckFor);
if (foundLabel === undefined) {
console.log(`Label ${labelToCheckFor} must be applied`);
const createCommentParams: Octokit.IssuesCreateCommentParams = {
...tools.context.repo,
issue_number: issueNumber,
body: `The label ${labelToCheckFor} is required for using this command.`
};
await tools.github.issues.createComment(createCommentParams);
return;
}
const createCommentParams: Octokit.IssuesCreateCommentParams = {
...tools.context.repo,
issue_number: issueNumber,
body: `Merging PR based on approval from @${senderName}`
};
const commentResult = await tools.github.issues.createComment(createCommentParams);
if (commentResult.status !== 201) {
console.log('Comment not created');
return;
}
const mergeResult = await tools.github.pulls.merge({
...tools.context.repo,
pull_number: issueNumber,
merge_method: 'squash'
});
console.log(mergeResult);
} catch (ex) {
console.error(ex);
}
});
console.log('Running...');

View File

@@ -0,0 +1,76 @@
{
"compilerOptions": {
/* Basic Options */
"target": "es6",
/* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
"module": "commonjs",
/* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
// "lib": [], /* Specify library files to be included in the compilation. */
// "allowJs": true, /* Allow javascript files to be compiled. */
// "checkJs": true, /* Report errors in .js files. */
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
"declaration": true,
/* Generates corresponding '.d.ts' file. */
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
"sourceMap": true,
/* Generates corresponding '.map' file. */
// "outFile": "./", /* Concatenate and emit output to single file. */
"outDir": "out",
/* Redirect output structure to the directory. */
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
// "composite": true, /* Enable project compilation */
// "removeComments": true, /* Do not emit comments to output. */
// "noEmit": true, /* Do not emit outputs. */
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
/* Strict Type-Checking Options */
"strict": true,
/* Enable all strict type-checking options. */
// "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
"strictNullChecks": true,
/* Enable strict null checks. */
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
"alwaysStrict": true,
/* Parse in strict mode and emit "use strict" for each source file. */
/* Additional Checks */
// "noUnusedLocals": true, /* Report errors on unused locals. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
/* Module Resolution Options */
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
// "typeRoots": [], /* List of folders to include type definitions from. */
"types": ["node"],
"skipLibCheck": true,
/* Type declaration files to be included in compilation. */
"allowSyntheticDefaultImports": true,
/* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
/* Source Map Options */
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
/* Experimental Options */
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
},
"include": [
"./src/**/*.ts"
],
"exclude": [
"node_modules"
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -44,15 +44,16 @@ async function doesAssetExist(blobService: azure.BlobService, quality: string, b
return existsResult.exists;
}
async function uploadBlob(blobService: azure.BlobService, quality: string, blobName: string, file: string): Promise<void> {
async function uploadBlob(blobService: azure.BlobService, quality: string, blobName: string, filePath: string, fileName: string): Promise<void> {
const blobOptions: azure.BlobService.CreateBlockBlobRequestOptions = {
contentSettings: {
contentType: mime.lookup(file),
contentType: mime.lookup(filePath),
contentDisposition: `attachment; filename="${fileName}"`,
cacheControl: 'max-age=31536000, public'
}
};
await new Promise((c, e) => blobService.createBlockBlobFromLocalFile(quality, blobName, file, blobOptions, err => err ? e(err) : c()));
await new Promise((c, e) => blobService.createBlockBlobFromLocalFile(quality, blobName, filePath, blobOptions, err => err ? e(err) : c()));
}
function getEnv(name: string): string {
@@ -66,24 +67,24 @@ function getEnv(name: string): string {
}
async function main(): Promise<void> {
const [, , platform, type, name, file] = process.argv;
const [, , platform, type, fileName, filePath] = process.argv;
const quality = getEnv('VSCODE_QUALITY');
const commit = getEnv('BUILD_SOURCEVERSION');
console.log('Creating asset...');
const stat = await new Promise<fs.Stats>((c, e) => fs.stat(file, (err, stat) => err ? e(err) : c(stat)));
const stat = await new Promise<fs.Stats>((c, e) => fs.stat(filePath, (err, stat) => err ? e(err) : c(stat)));
const size = stat.size;
console.log('Size:', size);
const stream = fs.createReadStream(file);
const stream = fs.createReadStream(filePath);
const [sha1hash, sha256hash] = await Promise.all([hashStream('sha1', stream), hashStream('sha256', stream)]);
console.log('SHA1:', sha1hash);
console.log('SHA256:', sha256hash);
const blobName = commit + '/' + name;
const blobName = commit + '/' + fileName;
const storageAccount = process.env['AZURE_STORAGE_ACCOUNT_2']!;
const blobService = azure.createBlobService(storageAccount, process.env['AZURE_STORAGE_ACCESS_KEY_2']!)
@@ -98,7 +99,7 @@ async function main(): Promise<void> {
console.log('Uploading blobs to Azure storage...');
await uploadBlob(blobService, quality, blobName, file);
await uploadBlob(blobService, quality, blobName, filePath, fileName);
console.log('Blobs successfully uploaded.');

View File

@@ -43,10 +43,13 @@ steps:
# displayName: Download Built-in Extensions
- script: |
./scripts/test.sh --tfs "Unit Tests"
displayName: Run Unit Tests
displayName: Run Unit Tests (Electron)
# - script: | {{SQL CARBON EDIT}} disable for now @TODO @anthonydresser
# yarn test-browser --browser chromium --browser webkit
# displayName: Run Unit Tests (Browser)
# - script: | {{SQL CARBON EDIT}} remove step
# ./scripts/test-integration.sh --tfs "Integration Tests"
# displayName: Run Integration Tests
# displayName: Run Integration Tests (Electron)
- task: PublishTestResults@2
displayName: Publish Tests Results
inputs:

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
</dict>
</plist>

View File

@@ -96,9 +96,13 @@ steps:
- script: |
set -e
./scripts/test.sh --build --tfs "Unit Tests"
# APP_NAME="`ls $(agent.builddirectory)/VSCode-darwin | head -n 1`"
# yarn smoketest -- --build "$(agent.builddirectory)/VSCode-darwin/$APP_NAME"
displayName: Run unit tests
displayName: Run unit tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
yarn test-browser --build --browser chromium --browser webkit
displayName: Run unit tests (Browser)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
@@ -111,33 +115,40 @@ steps:
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
./scripts/test-integration.sh --build --tfs "Integration Tests"
displayName: Run integration tests
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
# Web Smoke Tests disabled due to https://github.com/microsoft/vscode/issues/80308
# - script: |
# set -e
# cd test/smoke
# yarn compile
# cd -
# yarn smoketest --web --headless
# continueOnError: true
# displayName: Run web smoke tests
# condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
cd test/smoke
yarn compile
cd -
yarn smoketest --web --headless
continueOnError: true
displayName: Run smoke tests
displayName: Run integration tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
pushd ../VSCode-darwin && zip -r -X -y ../VSCode-darwin.zip * && popd
APP_ROOT=$(agent.builddirectory)/VSCode-darwin
APP_NAME="`ls $APP_ROOT | head -n 1`"
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
./resources/server/test/test-remote-integration.sh
displayName: Run remote integration tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
./resources/server/test/test-web-integration.sh --browser webkit
displayName: Run integration tests (Browser)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
security default-keychain -s $(agent.tempdirectory)/buildagent.keychain
security unlock-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
echo "$(macos-developer-certificate)" | base64 -D > $(agent.tempdirectory)/cert.p12
security import $(agent.tempdirectory)/cert.p12 -k $(agent.tempdirectory)/buildagent.keychain -P "$(macos-developer-certificate-key)" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd $(agent.tempdirectory)/buildagent.keychain
codesign -s 99FM488X57 --deep --force --options runtime --entitlements build/azure-pipelines/darwin/entitlements.plist $(agent.builddirectory)/VSCode-darwin/*.app
displayName: Set Hardened Entitlements
- script: |
set -e
pushd $(agent.builddirectory)/VSCode-darwin && zip -r -X -y $(agent.builddirectory)/VSCode-darwin.zip * && popd
displayName: Archive build
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
@@ -151,14 +162,54 @@ steps:
{
"keyCode": "CP-401337-Apple",
"operationSetCode": "MacAppDeveloperSign",
"parameters": [ ],
"parameters": [
{
"parameterName": "Hardening",
"parameterValue": "--options=runtime"
}
],
"toolName": "sign",
"toolVersion": "1.0"
}
]
SessionTimeout: 120
SessionTimeout: 60
displayName: Codesign
- script: |
zip -d $(agent.builddirectory)/VSCode-darwin.zip "*.pkg"
displayName: Clean Archive
- script: |
APP_ROOT=$(agent.builddirectory)/VSCode-darwin
APP_NAME="`ls $APP_ROOT | head -n 1`"
BUNDLE_IDENTIFIER=$(node -p "require(\"$APP_ROOT/$APP_NAME/Contents/Resources/app/product.json\").darwinBundleIdentifier")
echo "##vso[task.setvariable variable=BundleIdentifier]$BUNDLE_IDENTIFIER"
displayName: Export bundle identifier
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
inputs:
ConnectedServiceName: 'ESRP CodeSign'
FolderPath: '$(agent.builddirectory)'
Pattern: 'VSCode-darwin.zip'
signConfigType: inlineSignParams
inlineOperation: |
[
{
"keyCode": "CP-401337-Apple",
"operationSetCode": "MacAppNotarize",
"parameters": [
{
"parameterName": "BundleId",
"parameterValue": "$(BundleIdentifier)"
}
],
"toolName": "sign",
"toolVersion": "1.0"
}
]
SessionTimeout: 60
displayName: Notarization
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \

View File

@@ -1,9 +1,6 @@
#!/usr/bin/env bash
set -e
# remove pkg from archive
zip -d ../VSCode-darwin.zip "*.pkg"
# publish the build
node build/azure-pipelines/common/createAsset.js \
darwin \
@@ -22,7 +19,9 @@ node build/azure-pipelines/common/createAsset.js \
../vscode-server-darwin.zip
# publish hockeyapp symbols
node build/azure-pipelines/common/symbols.js "$VSCODE_MIXIN_PASSWORD" "$VSCODE_HOCKEYAPP_TOKEN" x64 "$VSCODE_HOCKEYAPP_ID_MACOS"
# node build/azure-pipelines/common/symbols.js "$VSCODE_MIXIN_PASSWORD" "$VSCODE_HOCKEYAPP_TOKEN" x64 "$VSCODE_HOCKEYAPP_ID_MACOS"
# Skip hockey app because build failure.
# https://github.com/microsoft/vscode/issues/90491
# upload configuration
yarn gulp upload-vscode-configuration

View File

@@ -3,6 +3,7 @@ steps:
displayName: 'Install developer certificate'
inputs:
certSecureFile: 'osx_signing_key.p12'
condition: eq(variables['signed'], true)
- script: |
mkdir -p .build
@@ -139,6 +140,7 @@ steps:
codesign --force --timestamp --options runtime --entitlements $(Build.SourcesDirectory)/build/azure-pipelines/darwin/entitlements.xml -s LPV3BJJYXS *.app
popd
displayName: 'Manual codesign'
condition: and(succeeded(), eq(variables['signed'], true))
- script: |
set -e
@@ -174,19 +176,19 @@ steps:
}
]
SessionTimeout: 90
condition: and(succeeded(), eq(variables['signtba'], true))
condition: and(succeeded(), eq(variables['signed'], true))
- script: |
zip -d $(Build.SourcesDirectory)/.build/darwin/archive/azuredatastudio-darwin.zip "*.pkg"
displayName: Clean Archive
condition: and(succeeded(), eq(variables['signtba'], true))
condition: and(succeeded(), eq(variables['signed'], true))
- task: PublishPipelineArtifact@0
displayName: 'Publish Signed'
inputs:
artifactName: darwin-signed
targetPath: $(Build.SourcesDirectory)/.build/darwin/archive/azuredatastudio-darwin.zip
condition: and(succeeded(), eq(variables['signtba'], true))
condition: and(succeeded(), eq(variables['signed'], true))
- task: EsrpCodeSigning@1
displayName: 'ESRP Notarization'
@@ -208,14 +210,14 @@ steps:
}
]
SessionTimeout: 120
condition: and(succeeded(), eq(variables['signtba'], true))
condition: and(succeeded(), eq(variables['signed'], true))
- task: PublishPipelineArtifact@0
displayName: 'Publish Notarized'
inputs:
artifactName: darwin-notarized
targetPath: $(Build.SourcesDirectory)/.build/darwin/archive/azuredatastudio-darwin.zip
condition: and(succeeded(), eq(variables['signtba'], true))
condition: and(succeeded(), eq(variables['signed'], true))
- script: |
set -e
@@ -233,14 +235,6 @@ steps:
continueOnError: true
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
- task: PublishTestResults@2
displayName: 'Publish Integration and Smoke Test Results'
inputs:
testResultsFiles: 'dawin-integration-tests-results.xml'
searchFolder: '$(Build.ArtifactStagingDirectory)\test-results'
continueOnError: true
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
- task: PublishCodeCoverageResults@1
displayName: 'Publish code coverage from $(Build.SourcesDirectory)/.build/coverage/cobertura-coverage.xml'
inputs:

View File

@@ -51,10 +51,13 @@ steps:
# displayName: Download Built-in Extensions
- script: |
DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
displayName: Run Unit Tests
displayName: Run Unit Tests (Electron)
# - script: | {{SQL CARBON EDIT}} disable for now @TODO @anthonydresser
# DISPLAY=:10 yarn test-browser --browser chromium
# displayName: Run Unit Tests (Browser)
# - script: | {{SQL CARBON EDIT}} remove step
# DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
# displayName: Run Integration Tests
# displayName: Run Integration Tests (Electron)
- task: PublishTestResults@2
displayName: Publish Tests Results
inputs:

View File

@@ -101,7 +101,13 @@ steps:
- script: |
set -e
DISPLAY=:10 ./scripts/test.sh --build --tfs "Unit Tests"
displayName: Run unit tests
displayName: Run unit tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
DISPLAY=:10 yarn test-browser --build --browser chromium
displayName: Run unit tests (Browser)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
@@ -114,8 +120,24 @@ steps:
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-x64" \
DISPLAY=:10 ./scripts/test-integration.sh --build --tfs "Integration Tests"
# yarn smoketest -- --build "$(agent.builddirectory)/VSCode-linux-x64"
displayName: Run integration tests
displayName: Run integration tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-linux-x64
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-x64" \
DISPLAY=:10 ./resources/server/test/test-remote-integration.sh
displayName: Run remote integration tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-x64" \
DISPLAY=:10 ./resources/server/test/test-web-integration.sh --browser chromium
displayName: Run integration tests (Browser)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |

View File

@@ -28,7 +28,9 @@ rm -rf $ROOT/vscode-server-*.tar.*
node build/azure-pipelines/common/createAsset.js "server-$PLATFORM_LINUX" archive-unsigned "$SERVER_TARBALL_FILENAME" "$SERVER_TARBALL_PATH"
# Publish hockeyapp symbols
node build/azure-pipelines/common/symbols.js "$VSCODE_MIXIN_PASSWORD" "$VSCODE_HOCKEYAPP_TOKEN" "x64" "$VSCODE_HOCKEYAPP_ID_LINUX64"
# node build/azure-pipelines/common/symbols.js "$VSCODE_MIXIN_PASSWORD" "$VSCODE_HOCKEYAPP_TOKEN" "x64" "$VSCODE_HOCKEYAPP_ID_LINUX64"
# Skip hockey app because build failure.
# https://github.com/microsoft/vscode/issues/90491
# Publish DEB
PLATFORM_DEB="linux-deb-x64"

View File

@@ -147,24 +147,23 @@ steps:
./build/azure-pipelines/linux/createDrop.sh
displayName: Create Drop
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
- task: CopyFiles@2
displayName: 'Copy Extension Unit Test Coverage Files to: $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.SourcesDirectory)/extensions'
Contents: '*/coverage/**'
TargetFolder: '$(Build.ArtifactStagingDirectory)/test-results/coverage'
- task: PublishTestResults@2
displayName: 'Publish Test Results test-results.xml'
inputs:
testResultsFiles: 'test-results.xml'
searchFolder: '$(Build.SourcesDirectory)'
testResultsFiles: '*.xml'
searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
continueOnError: true
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
- task: PublishCodeCoverageResults@1
displayName: 'Publish code coverage from $(Build.SourcesDirectory)/.build/coverage/cobertura-coverage.xml'
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(Build.SourcesDirectory)/.build/coverage/cobertura-coverage.xml'
reportDirectory: '$(Build.SourcesDirectory)/.build/coverage'
continueOnError: true
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
displayName: 'Component Detection'

View File

@@ -19,7 +19,7 @@
[ "${NETWORKING}" = "no" ] && exit 0
PROG="/usr/bin/Xvfb"
PROG_OPTIONS=":10 -ac"
PROG_OPTIONS=":10 -ac -screen 0 1024x768x24"
PROG_OUTPUT="/tmp/Xvfb.out"
case "$1" in
@@ -50,4 +50,4 @@ case "$1" in
exit 1
esac
exit $RETVAL
exit $RETVAL

View File

@@ -77,6 +77,21 @@ steps:
yarn postinstall
displayName: Run postinstall scripts
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))
env:
OSS_GITHUB_ID: "a5d3c261b032765a78de"
OSS_GITHUB_SECRET: $(oss-github-client-secret)
INSIDERS_GITHUB_ID: "31f02627809389d9f111"
INSIDERS_GITHUB_SECRET: $(insiders-github-client-secret)
STABLE_GITHUB_ID: "baa8a44b5e861d918709"
STABLE_GITHUB_SECRET: $(stable-github-client-secret)
EXPLORATION_GITHUB_ID: "94e8376d3a90429aeaea"
EXPLORATION_GITHUB_SECRET: $(exploration-github-client-secret)
VSO_GITHUB_ID: "3d4be8f37a0325b5817d"
VSO_GITHUB_SECRET: $(vso-github-client-secret)
VSO_PPE_GITHUB_ID: "eabf35024dc2e891a492"
VSO_PPE_GITHUB_SECRET: $(vso-ppe-github-client-secret)
VSO_DEV_GITHUB_ID: "84383ebd8a7c5f5efc5c"
VSO_DEV_GITHUB_SECRET: $(vso-dev-github-client-secret)
# Mixin must run before optimize, because the CSS loader will
# inline small SVGs

View File

@@ -87,10 +87,11 @@ steps:
- script: |
set -e
yarn sqllint
yarn gulp hygiene
yarn strict-vscode
yarn valid-layers-check
displayName: Run hygiene, tslint
displayName: Run hygiene, eslint
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EsrpClient" version="1.0.27" />
<package id="Microsoft.ESRPClient" version="1.2.25" />
</packages>

View File

@@ -48,10 +48,13 @@ steps:
# displayName: Download Built-in Extensions
- powershell: |
.\scripts\test.bat --tfs "Unit Tests"
displayName: Run Unit Tests
displayName: Run Unit Tests (Electron)
# - powershell: | {{SQL CARBON EDIT}} disable for now @TODO @anthonydresser
# yarn test-browser --browser chromium
# displayName: Run Unit Tests (Browser)
# - powershell: | {{SQL CARBON EDIT}} remove step
# .\scripts\test-integration.bat --tfs "Integration Tests"
# displayName: Run Integration Tests
# displayName: Run Integration Tests (Electron)
- task: PublishTestResults@2
displayName: Publish Tests Results
inputs:

View File

@@ -109,7 +109,14 @@ steps:
$ErrorActionPreference = "Stop"
exec { yarn electron $(VSCODE_ARCH) }
exec { .\scripts\test.bat --build --tfs "Unit Tests" }
displayName: Run unit tests
displayName: Run unit tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- powershell: |
. build/azure-pipelines/win32/exec.ps1
$ErrorActionPreference = "Stop"
exec { yarn test-browser --build --browser chromium }
displayName: Run unit tests (Browser)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- powershell: |
@@ -122,7 +129,24 @@ steps:
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
$AppNameShort = $AppProductJson.nameShort
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-integration.bat --build --tfs "Integration Tests" }
displayName: Run integration tests
displayName: Run integration tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- powershell: |
. build/azure-pipelines/win32/exec.ps1
$ErrorActionPreference = "Stop"
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
$AppNameShort = $AppProductJson.nameShort
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-remote-integration.bat }
displayName: Run remote integration tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- powershell: |
. build/azure-pipelines/win32/exec.ps1
$ErrorActionPreference = "Stop"
exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-web-integration.bat --browser firefox }
displayName: Run integration tests (Browser)
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1

View File

@@ -11,13 +11,12 @@ $SystemExe = "$Repo\.build\win32-$Arch\system-setup\VSCodeSetup.exe"
$UserExe = "$Repo\.build\win32-$Arch\user-setup\VSCodeSetup.exe"
$Zip = "$Repo\.build\win32-$Arch\archive\VSCode-win32-$Arch.zip"
$LegacyServer = "$Root\vscode-reh-win32-$Arch"
$ServerName = "vscode-server-win32-$Arch"
$Server = "$Root\$ServerName"
$Server = "$Root\vscode-server-win32-$Arch"
$ServerZip = "$Repo\.build\vscode-server-win32-$Arch.zip"
$Build = "$Root\VSCode-win32-$Arch"
# Create server archive
exec { Rename-Item -Path $LegacyServer -NewName $ServerName }
exec { xcopy $LegacyServer $Server /H /E /I }
exec { .\node_modules\7zip\7zip-lite\7z.exe a -tzip $ServerZip $Server -r }
# get version
@@ -31,6 +30,8 @@ exec { node build/azure-pipelines/common/createAsset.js "$AssetPlatform" setup "
exec { node build/azure-pipelines/common/createAsset.js "$AssetPlatform-user" setup "VSCodeUserSetup-$Arch-$Version.exe" $UserExe }
exec { node build/azure-pipelines/common/createAsset.js "server-$AssetPlatform" archive "vscode-server-win32-$Arch.zip" $ServerZip }
# Skip hockey app because build failure.
# https://github.com/microsoft/vscode/issues/90491
# publish hockeyapp symbols
$hockeyAppId = if ("$Arch" -eq "ia32") { "$env:VSCODE_HOCKEYAPP_ID_WIN32" } else { "$env:VSCODE_HOCKEYAPP_ID_WIN64" }
exec { node build/azure-pipelines/common/symbols.js "$env:VSCODE_MIXIN_PASSWORD" "$env:VSCODE_HOCKEYAPP_TOKEN" "$Arch" $hockeyAppId }
# $hockeyAppId = if ("$Arch" -eq "ia32") { "$env:VSCODE_HOCKEYAPP_ID_WIN32" } else { "$env:VSCODE_HOCKEYAPP_ID_WIN64" }
# exec { node build/azure-pipelines/common/symbols.js "$env:VSCODE_MIXIN_PASSWORD" "$env:VSCODE_HOCKEYAPP_TOKEN" "$Arch" $hockeyAppId }

View File

@@ -67,4 +67,4 @@ $Input = Create-TmpJson @{
$Output = [System.IO.Path]::GetTempFileName()
$ScriptPath = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
& "$ScriptPath\ESRPClient\packages\EsrpClient.1.0.27\tools\ESRPClient.exe" Sign -a $Auth -p $Policy -i $Input -o $Output
& "$ScriptPath\ESRPClient\packages\Microsoft.ESRPClient.1.2.25\tools\ESRPClient.exe" Sign -a $Auth -p $Policy -i $Input -o $Output

View File

@@ -19,6 +19,9 @@ steps:
buildType: 'current'
targetPath: '$(Build.SourcesDirectory)\.build'
artifactName: drop
itemPattern: |
drop/extensions/**
drop/win32-x64/**
- powershell: |
. build/azure-pipelines/win32/exec.ps1
@@ -47,7 +50,7 @@ steps:
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
$AppNameShort = $AppProductJson.nameShort
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:INTEGRATION_TEST_CLI_PATH = "$AppRoot\bin\$AppNameShort"; .\scripts\sql-test-integration.bat }
continueOnError: true
continueOnError: false
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
displayName: Run stable tests
env:

View File

@@ -1,7 +1,7 @@
[
{
"name": "Microsoft.sqlservernotebook",
"version": "0.3.4",
"version": "0.3.5",
"repo": "https://github.com/Microsoft/azuredatastudio"
}
]

View File

@@ -16,6 +16,8 @@ const cp = require('child_process');
const compilation = require('./lib/compilation');
const monacoapi = require('./monaco/api');
const fs = require('fs');
const webpack = require('webpack');
const webpackGulp = require('webpack-stream');
let root = path.dirname(__dirname);
let sha1 = util.getVersion(root);
@@ -227,8 +229,13 @@ function toExternalDTS(contents) {
if (line.indexOf('declare namespace monaco.') === 0) {
lines[i] = line.replace('declare namespace monaco.', 'export namespace ');
}
if (line.indexOf('declare let MonacoEnvironment') === 0) {
lines[i] = `declare global {\n let MonacoEnvironment: Environment | undefined;\n}`;
// lines[i] = line.replace('declare namespace monaco.', 'export namespace ');
}
}
return lines.join('\n');
return lines.join('\n').replace(/\n\n\n+/g, '\n\n');
}
function filterStream(testFunc) {
@@ -353,6 +360,49 @@ gulp.task('editor-distro',
)
);
const bundleEditorESMTask = task.define('editor-esm-bundle-webpack', () => {
const result = es.through();
const webpackConfigPath = path.join(root, 'build/monaco/monaco.webpack.config.js');
const webpackConfig = {
...require(webpackConfigPath),
...{ mode: 'production' }
};
const webpackDone = (err, stats) => {
if (err) {
result.emit('error', err);
return;
}
const { compilation } = stats;
if (compilation.errors.length > 0) {
result.emit('error', compilation.errors.join('\n'));
}
if (compilation.warnings.length > 0) {
result.emit('data', compilation.warnings.join('\n'));
}
};
return webpackGulp(webpackConfig, webpack, webpackDone)
.pipe(gulp.dest('out-editor-esm-bundle'));
});
gulp.task('editor-esm-bundle',
task.series(
task.parallel(
util.rimraf('out-editor-src'),
util.rimraf('out-editor-esm'),
util.rimraf('out-monaco-editor-core'),
util.rimraf('out-editor-esm-bundle'),
),
extractEditorSrcTask,
createESMSourcesAndResourcesTask,
compileEditorESMTask,
bundleEditorESMTask,
)
);
gulp.task('monacodts', task.define('monacodts', () => {
const result = monacoapi.execute();
fs.writeFileSync(result.filePath, result.content);

View File

@@ -33,7 +33,9 @@ const all = [
'scripts/**/*',
'src/**/*',
'test/**/*',
'!**/node_modules/**'
'!test/**/out/**',
'!**/node_modules/**',
'!build/actions/**/dist/*' // {{ SQL CARBON EDIT }}
];
const indentationFilter = [
@@ -53,8 +55,7 @@ const indentationFilter = [
'!src/vs/base/common/marked/marked.js',
'!src/vs/base/node/terminateProcess.sh',
'!src/vs/base/node/cpuUsage.sh',
'!test/assert.js',
'!build/testSetup.js',
'!test/unit/assert.js',
// except specific folders
'!test/automation/out/**',
@@ -84,7 +85,7 @@ const indentationFilter = [
'!src/vs/*/**/*.d.ts',
'!src/typings/**/*.d.ts',
'!extensions/**/*.d.ts',
'!**/*.{svg,exe,png,bmp,scpt,bat,cmd,cur,ttf,woff,eot,md,ps1,template,yaml,yml,d.ts.recipe,ico,icns}',
'!**/*.{svg,exe,png,bmp,scpt,bat,cmd,cur,ttf,woff,eot,md,ps1,template,yaml,yml,d.ts.recipe,ico,icns,plist}',
'!build/{lib,download}/**/*.js',
'!build/**/*.sh',
'!build/azure-pipelines/**/*.js',
@@ -95,6 +96,7 @@ const indentationFilter = [
'!**/*.dockerfile',
'!extensions/markdown-language-features/media/*.js',
// {{SQL CARBON EDIT}}
'!build/actions/**/dist/*',
'!**/*.{xlf,docx,sql,vsix,bacpac,ipynb}',
'!extensions/mssql/sqltoolsservice/**',
'!extensions/import/flatfileimportservice/**',
@@ -103,7 +105,8 @@ const indentationFilter = [
'!extensions/mssql/notebooks/**',
'!extensions/integration-tests/testData/**',
'!extensions/big-data-cluster/src/bigDataCluster/controller/apiGenerated.ts',
'!extensions/big-data-cluster/src/bigDataCluster/controller/clusterApiGenerated2.ts'
'!extensions/big-data-cluster/src/bigDataCluster/controller/clusterApiGenerated2.ts',
'!resources/linux/snap/electron-launch'
];
const copyrightFilter = [
@@ -141,9 +144,9 @@ const copyrightFilter = [
'!extensions/mssql/src/hdfs/webhdfs.ts',
'!src/sql/workbench/contrib/notebook/browser/outputs/tableRenderers.ts',
'!src/sql/workbench/contrib/notebook/common/models/url.ts',
'!src/sql/workbench/contrib/notebook/browser/models/renderMimeInterfaces.ts',
'!src/sql/workbench/services/notebook/browser/outputs/renderMimeInterfaces.ts',
'!src/sql/workbench/contrib/notebook/browser/models/outputProcessor.ts',
'!src/sql/workbench/contrib/notebook/browser/models/mimemodel.ts',
'!src/sql/workbench/services/notebook/browser/outputs/mimemodel.ts',
'!src/sql/workbench/contrib/notebook/browser/cellViews/media/*.css',
'!src/sql/base/browser/ui/table/plugins/rowSelectionModel.plugin.ts',
'!src/sql/base/browser/ui/table/plugins/rowDetailView.ts',
@@ -151,11 +154,11 @@ const copyrightFilter = [
'!src/sql/base/browser/ui/table/plugins/checkboxSelectColumn.plugin.ts',
'!src/sql/base/browser/ui/table/plugins/cellSelectionModel.plugin.ts',
'!src/sql/base/browser/ui/table/plugins/autoSizeColumns.plugin.ts',
'!src/sql/workbench/contrib/notebook/browser/outputs/sanitizer.ts',
'!src/sql/workbench/services/notebook/browser/outputs/sanitizer.ts',
'!src/sql/workbench/contrib/notebook/browser/outputs/renderers.ts',
'!src/sql/workbench/contrib/notebook/browser/outputs/registry.ts',
'!src/sql/workbench/contrib/notebook/browser/outputs/factories.ts',
'!src/sql/workbench/contrib/notebook/common/models/nbformat.ts',
'!src/sql/workbench/services/notebook/browser/outputs/registry.ts',
'!src/sql/workbench/services/notebook/browser/outputs/factories.ts',
'!src/sql/workbench/services/notebook/common/nbformat.ts',
'!extensions/markdown-language-features/media/tomorrow.css',
'!src/sql/workbench/browser/modelComponents/media/highlight.css',
'!src/sql/workbench/contrib/notebook/electron-browser/cellViews/media/highlight.css',
@@ -202,13 +205,6 @@ const tsHygieneFilter = [
'!src/vs/workbench/contrib/extensions/browser/extensionTipsService.ts' // {{SQL CARBON EDIT}} skip this because known issue
];
const sqlHygieneFilter = [ // for rules we want to only apply to our code
'src/sql/**/*.ts',
'!**/node_modules/**',
'extensions/**/*.ts',
'!extensions/{git,search-result,vscode-test-resolver,extension-editing,json-language-features,vscode-colorize-tests}/**/*.ts',
];
const copyrightHeaderLines = [
'/*---------------------------------------------------------------------------------------------',
' * Copyright (c) Microsoft Corporation. All rights reserved.',
@@ -376,20 +372,8 @@ function hygiene(some) {
errorCount += results.errorCount;
}));
const sqlJavascript = result
.pipe(filter(sqlHygieneFilter))
.pipe(gulpeslint({
configFile: '.eslintrc.sql.json',
rulePaths: ['./build/lib/eslint']
}))
.pipe(gulpeslint.formatEach('compact'))
.pipe(gulpeslint.results(results => {
errorCount += results.warningCount;
errorCount += results.errorCount;
}));
let count = 0;
return es.merge(typescript, javascript, sqlJavascript)
return es.merge(typescript, javascript)
.pipe(es.through(function (data) {
count++;
if (process.env['TRAVIS'] && count % 10 === 0) {

View File

@@ -103,6 +103,9 @@ function installService() {
// fix path since it won't be correct
config.installDirectory = path.join(__dirname, '../extensions/mssql/src', config.installDirectory);
let installer = new serviceDownloader(config);
installer.eventEmitter.onAny((event, ...values) => {
console.log(`ServiceDownloader Event : ${event}${values && values.length > 0 ? ` - ${values.join(' ')}` : ''}`);
});
let serviceInstallFolder = installer.getInstallDirectory(runtime);
console.log('Cleaning up the install folder: ' + serviceInstallFolder);
return del(serviceInstallFolder + '/*').then(() => {
@@ -124,6 +127,9 @@ gulp.task('install-ssmsmin', () => {
// fix path since it won't be correct
config.installDirectory = path.join(__dirname, '..', 'extensions', 'admin-tool-ext-win', config.installDirectory);
let installer = new serviceDownloader(config);
installer.eventEmitter.onAny((event, ...values) => {
console.log(`ServiceDownloader Event : ${event}${values && values.length > 0 ? ` - ${values.join(' ')}` : ''}`);
});
const serviceInstallFolder = installer.getInstallDirectory(runtime);
const serviceCleanupFolder = path.join(serviceInstallFolder, '..');
console.log('Cleaning up the install folder: ' + serviceCleanupFolder);

View File

@@ -275,6 +275,9 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
}
let result = all
.pipe(fileLengthFilter)
.pipe(filelength)
.pipe(fileLengthFilter.restore)
.pipe(util.skipDirectories())
.pipe(util.fixWin32DirectoryPermissions())
.pipe(electron(_.extend({}, config, { platform, arch, ffmpegChromium: true })))
@@ -329,6 +332,29 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
};
}
const fileLengthFilter = filter([
'**',
'!extensions/import/*.docx',
'!extensions/admin-tool-ext-win/license/**'
], {restore: true});
const filelength = es.through(function (file) {
const fileName = path.basename(file.relative);
const fileDir = path.dirname(file.relative);
//check the filename is < 50 characters (basename gets the filename with extension).
if (fileName.length > 50) {
console.error(`File name '${fileName}' under ${fileDir} is too long. Rename file to have less than 50 characters.`);
throw new Error('File name exceeds acceptable length of 50 characters: ' + fileName);
}
if (file.relative.length > 150) {
console.error(`File path ${file.relative} exceeds acceptable file-length. Rename the path to have less than 150 characters.`);
throw new Error('File path exceeds acceptable path-length of 150 characters: ' + file.relative);
}
this.emit('data', file);
});
const buildRoot = path.dirname(root);
const BUILD_TARGETS = [

View File

@@ -0,0 +1,35 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
module.exports = new class ApiLiteralOrTypes {
constructor() {
this.meta = {
docs: { url: 'https://github.com/microsoft/vscode/wiki/Extension-API-guidelines#creating-objects' },
messages: { sync: '`createXYZ`-functions are constructor-replacements and therefore must return sync', }
};
}
create(context) {
return {
['TSDeclareFunction Identifier[name=/create.*/]']: (node) => {
var _a;
const decl = node.parent;
if (((_a = decl.returnType) === null || _a === void 0 ? void 0 : _a.typeAnnotation.type) !== experimental_utils_1.AST_NODE_TYPES.TSTypeReference) {
return;
}
if (decl.returnType.typeAnnotation.typeName.type !== experimental_utils_1.AST_NODE_TYPES.Identifier) {
return;
}
const ident = decl.returnType.typeAnnotation.typeName.name;
if (ident === 'Promise' || ident === 'Thenable') {
context.report({
node,
messageId: 'sync'
});
}
}
};
}
};

View File

@@ -0,0 +1,40 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as eslint from 'eslint';
import { TSESTree, AST_NODE_TYPES } from '@typescript-eslint/experimental-utils';
export = new class ApiLiteralOrTypes implements eslint.Rule.RuleModule {
readonly meta: eslint.Rule.RuleMetaData = {
docs: { url: 'https://github.com/microsoft/vscode/wiki/Extension-API-guidelines#creating-objects' },
messages: { sync: '`createXYZ`-functions are constructor-replacements and therefore must return sync', }
};
create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
return {
['TSDeclareFunction Identifier[name=/create.*/]']: (node: any) => {
const decl = <TSESTree.FunctionDeclaration>(<TSESTree.Identifier>node).parent;
if (decl.returnType?.typeAnnotation.type !== AST_NODE_TYPES.TSTypeReference) {
return;
}
if (decl.returnType.typeAnnotation.typeName.type !== AST_NODE_TYPES.Identifier) {
return;
}
const ident = decl.returnType.typeAnnotation.typeName.name;
if (ident === 'Promise' || ident === 'Thenable') {
context.report({
node,
messageId: 'sync'
});
}
}
};
}
};

View File

@@ -0,0 +1,81 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
var _a;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
module.exports = new (_a = class ApiEventNaming {
constructor() {
this.meta = {
docs: {
url: 'https://github.com/microsoft/vscode/wiki/Extension-API-guidelines#event-naming'
},
messages: {
naming: 'Event names must follow this patten: `on[Did|Will]<Verb><Subject>`',
verb: 'Unknown verb \'{{verb}}\' - is this really a verb? Iff so, then add this verb to the configuration',
subject: 'Unknown subject \'{{subject}}\' - This subject has not been used before but it should refer to something in the API',
unknown: 'UNKNOWN event declaration, lint-rule needs tweaking'
}
};
}
create(context) {
const config = context.options[0];
const allowed = new Set(config.allowed);
const verbs = new Set(config.verbs);
return {
['TSTypeAnnotation TSTypeReference Identifier[name="Event"]']: (node) => {
var _a, _b;
const def = (_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent;
let ident;
if ((def === null || def === void 0 ? void 0 : def.type) === experimental_utils_1.AST_NODE_TYPES.Identifier) {
ident = def;
}
else if (((def === null || def === void 0 ? void 0 : def.type) === experimental_utils_1.AST_NODE_TYPES.TSPropertySignature || (def === null || def === void 0 ? void 0 : def.type) === experimental_utils_1.AST_NODE_TYPES.ClassProperty) && def.key.type === experimental_utils_1.AST_NODE_TYPES.Identifier) {
ident = def.key;
}
if (!ident) {
// event on unknown structure...
return context.report({
node,
message: 'unknown'
});
}
if (allowed.has(ident.name)) {
// configured exception
return;
}
const match = ApiEventNaming._nameRegExp.exec(ident.name);
if (!match) {
context.report({
node: ident,
messageId: 'naming'
});
return;
}
// check that <verb> is spelled out (configured) as verb
if (!verbs.has(match[2].toLowerCase())) {
context.report({
node: ident,
messageId: 'verb',
data: { verb: match[2] }
});
}
// check that a subject (if present) has occurred
if (match[3]) {
const regex = new RegExp(match[3], 'ig');
const parts = context.getSourceCode().getText().split(regex);
if (parts.length < 3) {
context.report({
node: ident,
messageId: 'subject',
data: { subject: match[3] }
});
}
}
}
};
}
},
_a._nameRegExp = /on(Did|Will)([A-Z][a-z]+)([A-Z][a-z]+)?/,
_a);

View File

@@ -0,0 +1,91 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as eslint from 'eslint';
import { TSESTree, AST_NODE_TYPES } from '@typescript-eslint/experimental-utils';
export = new class ApiEventNaming implements eslint.Rule.RuleModule {
private static _nameRegExp = /on(Did|Will)([A-Z][a-z]+)([A-Z][a-z]+)?/;
readonly meta: eslint.Rule.RuleMetaData = {
docs: {
url: 'https://github.com/microsoft/vscode/wiki/Extension-API-guidelines#event-naming'
},
messages: {
naming: 'Event names must follow this patten: `on[Did|Will]<Verb><Subject>`',
verb: 'Unknown verb \'{{verb}}\' - is this really a verb? Iff so, then add this verb to the configuration',
subject: 'Unknown subject \'{{subject}}\' - This subject has not been used before but it should refer to something in the API',
unknown: 'UNKNOWN event declaration, lint-rule needs tweaking'
}
};
create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
const config = <{ allowed: string[], verbs: string[] }>context.options[0];
const allowed = new Set(config.allowed);
const verbs = new Set(config.verbs);
return {
['TSTypeAnnotation TSTypeReference Identifier[name="Event"]']: (node: any) => {
const def = (<TSESTree.Identifier>node).parent?.parent?.parent;
let ident: TSESTree.Identifier | undefined;
if (def?.type === AST_NODE_TYPES.Identifier) {
ident = def;
} else if ((def?.type === AST_NODE_TYPES.TSPropertySignature || def?.type === AST_NODE_TYPES.ClassProperty) && def.key.type === AST_NODE_TYPES.Identifier) {
ident = def.key;
}
if (!ident) {
// event on unknown structure...
return context.report({
node,
message: 'unknown'
});
}
if (allowed.has(ident.name)) {
// configured exception
return;
}
const match = ApiEventNaming._nameRegExp.exec(ident.name);
if (!match) {
context.report({
node: ident,
messageId: 'naming'
});
return;
}
// check that <verb> is spelled out (configured) as verb
if (!verbs.has(match[2].toLowerCase())) {
context.report({
node: ident,
messageId: 'verb',
data: { verb: match[2] }
});
}
// check that a subject (if present) has occurred
if (match[3]) {
const regex = new RegExp(match[3], 'ig');
const parts = context.getSourceCode().getText().split(regex);
if (parts.length < 3) {
context.report({
node: ident,
messageId: 'subject',
data: { subject: match[3] }
});
}
}
}
};
}
};

View File

@@ -0,0 +1,30 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
var _a;
module.exports = new (_a = class ApiInterfaceNaming {
constructor() {
this.meta = {
messages: {
naming: 'Interfaces must not be prefixed with uppercase `I`',
}
};
}
create(context) {
return {
['TSInterfaceDeclaration Identifier']: (node) => {
const name = node.name;
if (ApiInterfaceNaming._nameRegExp.test(name)) {
context.report({
node,
messageId: 'naming'
});
}
}
};
}
},
_a._nameRegExp = /I[A-Z]/,
_a);

View File

@@ -0,0 +1,35 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as eslint from 'eslint';
import { TSESTree } from '@typescript-eslint/experimental-utils';
export = new class ApiInterfaceNaming implements eslint.Rule.RuleModule {
private static _nameRegExp = /I[A-Z]/;
readonly meta: eslint.Rule.RuleMetaData = {
messages: {
naming: 'Interfaces must not be prefixed with uppercase `I`',
}
};
create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
return {
['TSInterfaceDeclaration Identifier']: (node: any) => {
const name = (<TSESTree.Identifier>node).name;
if (ApiInterfaceNaming._nameRegExp.test(name)) {
context.report({
node,
messageId: 'naming'
});
}
}
};
}
};

View File

@@ -0,0 +1,23 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
module.exports = new class ApiLiteralOrTypes {
constructor() {
this.meta = {
docs: { url: 'https://github.com/microsoft/vscode/wiki/Extension-API-guidelines#enums' },
messages: { useEnum: 'Use enums, not literal-or-types', }
};
}
create(context) {
return {
['TSTypeAnnotation TSUnionType TSLiteralType']: (node) => {
context.report({
node: node,
messageId: 'useEnum'
});
}
};
}
};

View File

@@ -0,0 +1,25 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as eslint from 'eslint';
export = new class ApiLiteralOrTypes implements eslint.Rule.RuleModule {
readonly meta: eslint.Rule.RuleMetaData = {
docs: { url: 'https://github.com/microsoft/vscode/wiki/Extension-API-guidelines#enums' },
messages: { useEnum: 'Use enums, not literal-or-types', }
};
create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
return {
['TSTypeAnnotation TSUnionType TSLiteralType']: (node: any) => {
context.report({
node: node,
messageId: 'useEnum'
});
}
};
}
};

View File

@@ -110,6 +110,10 @@
"name": "vs/workbench/contrib/output",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/contrib/openInDesktop",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/contrib/performance",
"project": "vscode-workbench"
@@ -142,6 +146,10 @@
"name": "vs/workbench/contrib/search",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/contrib/searchEditor",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/contrib/snippets",
"project": "vscode-workbench"
@@ -294,6 +302,10 @@
"name": "vs/workbench/services/textMate",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/services/workingCopy",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/services/workspaces",
"project": "vscode-workbench"
@@ -321,6 +333,10 @@
{
"name": "vs/workbench/services/userDataSync",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/contrib/timeline",
"project": "vscode-workbench"
}
]
}

View File

@@ -38,6 +38,7 @@ const CORE_TYPES = [
'group',
'groupEnd',
'table',
'assert',
'Error',
'String',
'throws',
@@ -60,7 +61,7 @@ const RULES = [
},
// Common: vs/base/common/platform.ts
{
target: '**/vs/base/common/platform.ts',
target: '**/{vs,sql}/base/common/platform.ts',
allowedTypes: [
...CORE_TYPES,
// Safe access to postMessage() and friends
@@ -74,7 +75,7 @@ const RULES = [
},
// Common: vs/workbench/api/common/extHostExtensionService.ts
{
target: '**/vs/workbench/api/common/extHostExtensionService.ts',
target: '**/{vs,sql}/workbench/api/common/extHostExtensionService.ts',
allowedTypes: [
...CORE_TYPES,
// Safe access to global
@@ -102,6 +103,14 @@ const RULES = [
'@types/node' // no node.js
]
},
// Browser (editor contrib)
{
target: '**/src/{vs,sql}/editor/contrib/**',
allowedTypes: CORE_TYPES,
disallowedDefinitions: [
'@types/node' // no node.js
]
},
// node.js
{
target: '**/{vs,sql}/**/node/**',

View File

@@ -39,6 +39,7 @@ const CORE_TYPES = [
'group',
'groupEnd',
'table',
'assert',
'Error',
'String',
'throws',
@@ -64,7 +65,7 @@ const RULES = [
// Common: vs/base/common/platform.ts
{
target: '**/vs/base/common/platform.ts',
target: '**/{vs,sql}/base/common/platform.ts',
allowedTypes: [
...CORE_TYPES,
@@ -80,7 +81,7 @@ const RULES = [
// Common: vs/workbench/api/common/extHostExtensionService.ts
{
target: '**/vs/workbench/api/common/extHostExtensionService.ts',
target: '**/{vs,sql}/workbench/api/common/extHostExtensionService.ts',
allowedTypes: [
...CORE_TYPES,
@@ -112,6 +113,15 @@ const RULES = [
]
},
// Browser (editor contrib)
{
target: '**/src/{vs,sql}/editor/contrib/**',
allowedTypes: CORE_TYPES,
disallowedDefinitions: [
'@types/node' // no node.js
]
},
// node.js
{
target: '**/{vs,sql}/**/node/**',

View File

@@ -135,11 +135,12 @@ function getMassagedTopLevelDeclarationText(sourceFile, declaration, importName,
}
else {
const memberName = member.name.text;
const memberAccess = (memberName.indexOf('.') >= 0 ? `['${memberName}']` : `.${memberName}`);
if (isStatic(member)) {
usage.push(`a = ${staticTypeName}.${memberName};`);
usage.push(`a = ${staticTypeName}${memberAccess};`);
}
else {
usage.push(`a = (<${instanceTypeName}>b).${memberName};`);
usage.push(`a = (<${instanceTypeName}>b)${memberAccess};`);
}
}
}

View File

@@ -167,10 +167,11 @@ function getMassagedTopLevelDeclarationText(sourceFile: ts.SourceFile, declarati
result = result.replace(memberText, '');
} else {
const memberName = (<ts.Identifier | ts.StringLiteral>member.name).text;
const memberAccess = (memberName.indexOf('.') >= 0 ? `['${memberName}']` : `.${memberName}`);
if (isStatic(member)) {
usage.push(`a = ${staticTypeName}.${memberName};`);
usage.push(`a = ${staticTypeName}${memberAccess};`);
} else {
usage.push(`a = (<${instanceTypeName}>b).${memberName};`);
usage.push(`a = (<${instanceTypeName}>b)${memberAccess};`);
}
}
} catch (err) {

21
build/monaco/esm.core.js Normal file
View File

@@ -0,0 +1,21 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Entry file for webpack bunlding.
import * as monaco from 'monaco-editor-core';
self.MonacoEnvironment = {
getWorkerUrl: function (moduleId, label) {
return './editor.worker.bundle.js';
}
};
monaco.editor.create(document.getElementById('container'), {
value: [
'var hello = "hello world";'
].join('\n'),
language: 'javascript'
});

View File

@@ -3,12 +3,18 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
declare let MonacoEnvironment: monaco.Environment | undefined;
declare namespace monaco {
// THIS IS A GENERATED FILE. DO NOT EDIT DIRECTLY.
export type Thenable<T> = PromiseLike<T>;
export interface Environment {
baseUrl?: string;
getWorker?(workerId: string, label: string): Worker;
getWorkerUrl?(workerId: string, label: string): string;
}
export interface IDisposable {
dispose(): void;
}

View File

@@ -0,0 +1,44 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
const path = require('path');
module.exports = {
mode: 'production',
entry: {
'core': './build/monaco/esm.core.js',
'editor.worker': './out-monaco-editor-core/esm/vs/editor/editor.worker.js'
},
output: {
globalObject: 'self',
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}, {
test: /\.ttf$/,
use: ['file-loader']
}]
},
resolve: {
alias: {
'monaco-editor-core': path.resolve(__dirname, '../../out-monaco-editor-core/esm/vs/editor/editor.main.js'),
}
},
stats: {
all: false,
modules: true,
maxModules: 0,
errors: true,
warnings: true,
// our additional options
moduleTrace: true,
errorDetails: true,
chunks: true
}
};

View File

@@ -13,7 +13,7 @@ const yarn = process.platform === 'win32' ? 'yarn.cmd' : 'yarn';
* @param {*} [opts]
*/
function yarnInstall(location, opts) {
opts = opts || {};
opts = opts || { env: process.env };
opts.cwd = location;
opts.stdio = 'inherit';
@@ -52,8 +52,6 @@ extensions.forEach(extension => yarnInstall(`extensions/${extension}`));
function yarnInstallBuildDependencies() {
// make sure we install the deps of build/lib/watch for the system installed
// node, since that is the driver of gulp
//@ts-ignore
const env = Object.assign({}, process.env);
const watchPath = path.join(path.dirname(__dirname), 'lib', 'watch');
const yarnrcPath = path.join(watchPath, '.yarnrc');
@@ -66,10 +64,11 @@ target "${target}"
runtime "${runtime}"`;
fs.writeFileSync(yarnrcPath, yarnrc, 'utf8');
yarnInstall(watchPath, { env });
yarnInstall(watchPath);
}
yarnInstall(`build`); // node modules required for build
yarnInstall('test/automation'); // node modules required for smoketest
yarnInstall('test/smoke'); // node modules required for smoketest
yarnInstall('test/integration/browser'); // node modules required for integration
yarnInstallBuildDependencies(); // node modules for watching, specific to host node version, not electron

View File

@@ -48,9 +48,9 @@
"rollup": "^1.20.3",
"rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-node-resolve": "^5.2.0",
"service-downloader": "github:anthonydresser/service-downloader#0.1.7",
"service-downloader": "0.2.1",
"terser": "4.3.8",
"typescript": " 3.8.0-beta",
"typescript": "3.8.2",
"vsce": "1.48.0",
"vscode-telemetry-extractor": "^1.5.4",
"xml2js": "^0.4.17"

View File

@@ -20,6 +20,7 @@
"**/*.ts"
],
"exclude": [
"node_modules/**"
"node_modules/**",
"actions/**"
]
}

View File

@@ -662,11 +662,6 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
base64-js@^1.0.2:
version "1.3.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
@@ -702,14 +697,6 @@ binary-search-bounds@2.0.3:
resolved "https://registry.yarnpkg.com/binary-search-bounds/-/binary-search-bounds-2.0.3.tgz#5ff8616d6dd2ca5388bc85b2d6266e2b9da502dc"
integrity sha1-X/hhbW3SylOIvIWy1iZuK52lAtw=
bl@^1.0.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c"
integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==
dependencies:
readable-stream "^2.3.5"
safe-buffer "^5.1.1"
boolbase@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
@@ -772,42 +759,16 @@ browserify-mime@~1.2.9:
resolved "https://registry.yarnpkg.com/browserify-mime/-/browserify-mime-1.2.9.tgz#aeb1af28de6c0d7a6a2ce40adb68ff18422af31f"
integrity sha1-rrGvKN5sDXpqLOQK22j/GEIq8x8=
buffer-alloc-unsafe@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
buffer-alloc@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
dependencies:
buffer-alloc-unsafe "^1.1.0"
buffer-fill "^1.0.0"
buffer-crc32@~0.2.3:
version "0.2.13"
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
buffer-fill@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
buffer@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6"
integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==
dependencies:
base64-js "^1.0.2"
ieee754 "^1.1.4"
builtin-modules@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
@@ -880,6 +841,11 @@ chownr@^1.1.1:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
chownr@^1.1.3:
version "1.1.4"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@@ -967,13 +933,6 @@ commander@^2.8.1:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
commander@~2.8.1:
version "2.8.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=
dependencies:
graceful-readlink ">= 1.0.0"
component-emitter@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
@@ -1110,59 +1069,6 @@ decode-uri-component@^0.2.0:
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1"
integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==
dependencies:
file-type "^5.2.0"
is-stream "^1.1.0"
tar-stream "^1.5.2"
decompress-tarbz2@^4.0.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b"
integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==
dependencies:
decompress-tar "^4.1.0"
file-type "^6.1.0"
is-stream "^1.1.0"
seek-bzip "^1.0.5"
unbzip2-stream "^1.0.9"
decompress-targz@^4.0.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee"
integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==
dependencies:
decompress-tar "^4.1.1"
file-type "^5.2.0"
is-stream "^1.1.0"
decompress-unzip@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69"
integrity sha1-3qrM39FK6vhVePczroIQ+bSEj2k=
dependencies:
file-type "^3.8.0"
get-stream "^2.2.0"
pify "^2.3.0"
yauzl "^2.4.2"
decompress@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d"
integrity sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=
dependencies:
decompress-tar "^4.0.0"
decompress-tarbz2 "^4.0.0"
decompress-targz "^4.0.0"
decompress-unzip "^4.0.1"
graceful-fs "^4.1.10"
make-dir "^1.0.0"
pify "^2.3.0"
strip-dirs "^2.0.0"
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
@@ -1316,13 +1222,6 @@ ecc-jsbn@~0.1.1:
dependencies:
jsbn "~0.1.0"
end-of-stream@^1.0.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==
dependencies:
once "^1.4.0"
end-of-stream@^1.1.0:
version "1.4.4"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
@@ -1502,21 +1401,6 @@ fd-slicer@~1.1.0:
dependencies:
pend "~1.2.0"
file-type@^3.8.0:
version "3.9.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek=
file-type@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6"
integrity sha1-LdvqfHP/42No365J3DOMBYwritY=
file-type@^6.1.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919"
integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
@@ -1576,11 +1460,6 @@ fragment-cache@^0.2.1:
dependencies:
map-cache "^0.2.2"
fs-constants@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
fs-extra@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
@@ -1597,6 +1476,13 @@ fs-minipass@^1.2.5:
dependencies:
minipass "^2.2.1"
fs-minipass@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
dependencies:
minipass "^3.0.0"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -1624,14 +1510,6 @@ gauge@~2.7.3:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
get-stream@^2.2.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de"
integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=
dependencies:
object-assign "^4.0.1"
pinkie-promise "^2.0.0"
get-stream@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
@@ -1749,7 +1627,7 @@ graceful-fs@4.X:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=
graceful-fs@^4.1.10, graceful-fs@^4.1.11:
graceful-fs@^4.1.11:
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
@@ -1759,11 +1637,6 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
"graceful-readlink@>= 1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
gulp-bom@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/gulp-bom/-/gulp-bom-1.0.0.tgz#38a183a07187bd57a7922d37977441f379df2abf"
@@ -1988,7 +1861,7 @@ http-signature@~1.2.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
https-proxy-agent@^2.2.1:
https-proxy-agent@^2.2.3:
version "2.2.4"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b"
integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==
@@ -2010,11 +1883,6 @@ iconv-lite@^0.4.4:
dependencies:
safer-buffer ">= 2.1.2 < 3"
ieee754@^1.1.4:
version "1.1.12"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b"
integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==
ignore-walk@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
@@ -2171,11 +2039,6 @@ is-module@^1.0.0:
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
is-natural-number@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8"
integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=
is-negated-glob@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2"
@@ -2515,13 +2378,6 @@ magic-string@^0.25.2:
dependencies:
sourcemap-codec "^1.4.4"
make-dir@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
dependencies:
pify "^3.0.0"
make-error-cause@^1.1.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d"
@@ -2661,6 +2517,13 @@ minipass@^2.2.1, minipass@^2.3.4:
safe-buffer "^5.1.2"
yallist "^3.0.0"
minipass@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5"
integrity sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==
dependencies:
yallist "^4.0.0"
minizlib@^1.1.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614"
@@ -2668,6 +2531,14 @@ minizlib@^1.1.1:
dependencies:
minipass "^2.2.1"
minizlib@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.0.tgz#fd52c645301ef09a63a2c209697c294c6ce02cf3"
integrity sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==
dependencies:
minipass "^3.0.0"
yallist "^4.0.0"
mixin-deep@^1.2.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
@@ -2683,6 +2554,11 @@ mkdirp@^0.5.0, mkdirp@^0.5.1:
dependencies:
minimist "0.0.8"
mkdirp@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.3.tgz#4cf2e30ad45959dddea53ad97d518b6c8205e1ea"
integrity sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -3003,7 +2879,7 @@ picomatch@^2.0.5:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6"
integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==
pify@^2.0.0, pify@^2.3.0:
pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
@@ -3098,7 +2974,7 @@ read@^1.0.7:
dependencies:
mute-stream "~0.0.4"
readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.3.0, readable-stream@^2.3.5:
readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
@@ -3349,13 +3225,6 @@ sax@>=0.6.0, sax@^1.2.4:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
seek-bzip@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc"
integrity sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=
dependencies:
commander "~2.8.1"
semaphore@1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.0.5.tgz#b492576e66af193db95d65e25ec53f5f19798d60"
@@ -3381,17 +3250,19 @@ semver@^6.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
"service-downloader@github:anthonydresser/service-downloader#0.1.7":
version "0.1.7"
resolved "https://codeload.github.com/anthonydresser/service-downloader/tar.gz/c08de456c9f1af6258061fdc524275b21c6db667"
service-downloader@0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/service-downloader/-/service-downloader-0.2.1.tgz#8bd756bc4bc0cbfdf04fe71d4337f19ce6196203"
integrity sha512-5IEy2nyMJj/f41pI65b8RMeJyCecGNrMmNCpUW8hckZ9cBMyX+VCp8GjYoM6Mz/X0XSaGVz7V5gtCWjfeJI7gA==
dependencies:
async-retry "^1.2.3"
decompress "^4.2.0"
eventemitter2 "^5.0.1"
http-proxy-agent "^2.1.0"
https-proxy-agent "^2.2.1"
https-proxy-agent "^2.2.3"
mkdirp "^0.5.1"
tar "^6.0.1"
tmp "^0.0.33"
yauzl "^2.10.0"
set-blocking@~2.0.0:
version "2.0.0"
@@ -3618,13 +3489,6 @@ strip-bom@2.X:
dependencies:
is-utf8 "^0.2.0"
strip-dirs@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5"
integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==
dependencies:
is-natural-number "^4.0.1"
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@@ -3640,19 +3504,6 @@ supports-color@^2.0.0:
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
tar-stream@^1.5.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555"
integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==
dependencies:
bl "^1.0.0"
buffer-alloc "^1.2.0"
end-of-stream "^1.0.0"
fs-constants "^1.0.0"
readable-stream "^2.3.0"
to-buffer "^1.1.1"
xtend "^4.0.0"
tar@^4:
version "4.4.8"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"
@@ -3666,6 +3517,18 @@ tar@^4:
safe-buffer "^5.1.2"
yallist "^3.0.2"
tar@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.1.tgz#7b3bd6c313cb6e0153770108f8d70ac298607efa"
integrity sha512-bKhKrrz2FJJj5s7wynxy/fyxpE0CmCjmOQ1KV4KkgXFWOgoIT/NbTMnB1n+LFNrNk0SSBVGGxcK5AGsyC+pW5Q==
dependencies:
chownr "^1.1.3"
fs-minipass "^2.0.0"
minipass "^3.0.0"
minizlib "^2.1.0"
mkdirp "^1.0.3"
yallist "^4.0.0"
terser@*:
version "4.2.1"
resolved "https://registry.yarnpkg.com/terser/-/terser-4.2.1.tgz#1052cfe17576c66e7bc70fcc7119f22b155bdac1"
@@ -3692,11 +3555,6 @@ through2@2.X, through2@^2.0.0, through2@^2.0.3:
readable-stream "^2.1.5"
xtend "~4.0.1"
through@^2.3.8:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
time-stamp@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
@@ -3716,11 +3574,6 @@ tmp@^0.0.33:
dependencies:
os-tmpdir "~1.0.2"
to-buffer@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80"
integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@@ -3823,10 +3676,10 @@ typed-rest-client@^0.9.0:
tunnel "0.0.4"
underscore "1.8.3"
"typescript@ 3.8.0-beta":
version "3.8.0-beta"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.0-beta.tgz#acdcaf9f24c7e20b1ff0a6329d1e8d63691e2e13"
integrity sha512-mQEmQUJg0CQBhf/GSVnGscKv/jrKsrLxE01AhdjYmBNoXX2Iah3i38ufxXByXacK6Fc5Nr9oMz7MjpjgddiknA==
typescript@3.8.2:
version "3.8.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.2.tgz#91d6868aaead7da74f493c553aeff76c0c0b1d5a"
integrity sha512-EgOVgL/4xfVrCMbhYKUQTdF37SQn4Iw73H5BgCrF1Abdun7Kwy/QZsE/ssAy0y4LxBbvua3PIbFsbRczWWnDdQ==
typescript@^3.0.1:
version "3.5.3"
@@ -3851,14 +3704,6 @@ uglify-js@^3.0.5:
commander "~2.20.0"
source-map "~0.6.1"
unbzip2-stream@^1.0.9:
version "1.3.3"
resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a"
integrity sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==
dependencies:
buffer "^5.2.1"
through "^2.3.8"
unc-path-regex@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
@@ -4079,7 +3924,7 @@ xmlbuilder@~9.0.1:
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.4.tgz#519cb4ca686d005a8420d3496f3f0caeecca580f"
integrity sha1-UZy0ymhtAFqEINNJbz8MruzKWA8=
xtend@^4.0.0, xtend@~4.0.1:
xtend@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
@@ -4089,7 +3934,12 @@ yallist@^3.0.0, yallist@^3.0.2:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
yauzl@^2.3.1, yauzl@^2.4.2:
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yauzl@^2.10.0, yauzl@^2.3.1:
version "2.10.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=

View File

@@ -81,5 +81,13 @@
"prependLicenseText": [
"Copyright (c) Microsoft Corporation. All rights reserved."
]
},
{
// Reason: The license at https://github.com/rbuckton/reflect-metadata/blob/master/LICENSE
// does not include a clear Copyright statement (it's in https://github.com/rbuckton/reflect-metadata/blob/master/CopyrightNotice.txt).
"name": "reflect-metadata",
"prependLicenseText": [
"Copyright (c) Microsoft Corporation. All rights reserved."
]
}
]

View File

@@ -6,7 +6,7 @@
"git": {
"name": "chromium",
"repositoryUrl": "https://chromium.googlesource.com/chromium/src",
"commitHash": "91f08db83c2ce8c722ddf0911ead8f7c473bedfa"
"commitHash": "e4745133a1d3745f066e068b8033c6a269b59caf"
}
},
"licenseDetail": [
@@ -40,7 +40,7 @@
"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
],
"isOnlyProductionDependency": true,
"version": "76.0.3809.146"
"version": "78.0.3904.130"
},
{
"component": {
@@ -48,11 +48,11 @@
"git": {
"name": "nodejs",
"repositoryUrl": "https://github.com/nodejs/node",
"commitHash": "64219741218aa87e259cf8257596073b8e747f0a"
"commitHash": "787378879acfb212ed4ff824bf9f767a24a5cb43a"
}
},
"isOnlyProductionDependency": true,
"version": "12.4.0"
"version": "12.8.1"
},
{
"component": {
@@ -60,12 +60,12 @@
"git": {
"name": "electron",
"repositoryUrl": "https://github.com/electron/electron",
"commitHash": "19c705ab80cd6fdccca3d65803ec2c4addb9540a"
"commitHash": "d17dfabfcba7bd0bc994b8dac5f5d2000bef572c"
}
},
"isOnlyProductionDependency": true,
"license": "MIT",
"version": "6.1.6"
"version": "7.1.11"
},
{
"component": {
@@ -98,7 +98,7 @@
"git": {
"name": "vscode-codicons",
"repositoryUrl": "https://github.com/microsoft/vscode-codicons",
"commitHash": "65d11e0839d0ce09faa1a159dc0b3c0bd1aa50be"
"commitHash": "f0caa623812a8ed5059516277675b4158d4c4867"
}
},
"license": "MIT and Creative Commons Attribution 4.0",

View File

@@ -2,7 +2,7 @@
"name": "admin-pack",
"displayName": "Admin Pack for SQL Server",
"description": "",
"version": "0.0.2",
"version": "0.1.0",
"publisher": "Microsoft",
"engines": {
"vscode": "*",

View File

@@ -2,7 +2,7 @@
"name": "admin-tool-ext-win",
"displayName": "%adminToolExtWin.displayName%",
"description": "%adminToolExtWin.description%",
"version": "0.0.2",
"version": "0.1.0",
"publisher": "Microsoft",
"preview": true,
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/extensions/admin-tool-ext-win/license/Azure%20Data%20Studio%20Extension%20-%20Standalone%20(free)%20Use%20Terms.txt",

View File

@@ -2,7 +2,7 @@
"name": "agent",
"displayName": "SQL Server Agent",
"description": "Manage and troubleshoot SQL Server Agent jobs",
"version": "0.45.0",
"version": "0.46.0",
"publisher": "Microsoft",
"preview": true,
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/LICENSE.txt",
@@ -32,7 +32,7 @@
"description": "Manage and troubleshoot SQL Agent jobs",
"provider": "MSSQL",
"title": "SQL Agent",
"when": "connectionProvider == 'MSSQL' && !mssql:iscloud && mssql:engineedition != 11",
"when": "connectionProvider == 'MSSQL' && !mssql:iscloud && mssql:engineedition != 11 && dashboardContext == 'server'",
"container": {
"controlhost-container": {
"type": "agent"

View File

@@ -215,8 +215,7 @@ export class OperatorDialog extends AgentDialog<OperatorData> {
this.pagerFridayCheckBox = view.modelBuilder.checkBox()
.withProperties({
label: OperatorDialog.PagerFridayCheckBoxLabel,
width: 80
label: OperatorDialog.PagerFridayCheckBoxLabel
}).component();
this.pagerFridayCheckBox.onChanged(() => {
if (this.pagerFridayCheckBox.checked) {
@@ -241,8 +240,7 @@ export class OperatorDialog extends AgentDialog<OperatorData> {
this.pagerSaturdayCheckBox = view.modelBuilder.checkBox()
.withProperties({
label: OperatorDialog.PagerSaturdayCheckBoxLabel,
width: 80
label: OperatorDialog.PagerSaturdayCheckBoxLabel
}).component();
this.pagerSaturdayCheckBox.onChanged(() => {
@@ -288,8 +286,7 @@ export class OperatorDialog extends AgentDialog<OperatorData> {
this.pagerSundayCheckBox = view.modelBuilder.checkBox()
.withProperties({
label: OperatorDialog.PagerSundayCheckBoxLabel,
width: 80
label: OperatorDialog.PagerSundayCheckBoxLabel
}).component();
this.pagerSundayCheckBox.onChanged(() => {
@@ -359,18 +356,25 @@ export class OperatorDialog extends AgentDialog<OperatorData> {
}, {
component: this.pagerThursdayCheckBox,
title: ''
}, {
component: pagerFridayCheckboxContainer,
title: ''
}, {
component: pagerSaturdayCheckboxContainer,
title: ''
}, {
component: pagerSundayCheckboxContainer,
title: ''
}],
title: OperatorDialog.PagerDutyScheduleLabel
}]).withLayout({ width: '100%' }).component();
}, {
component: pagerFridayCheckboxContainer,
title: ''
}, {
component: view.modelBuilder.separator().component(),
title: ''
}, {
component: pagerSaturdayCheckboxContainer,
title: ''
}, {
component: view.modelBuilder.separator().component(),
title: ''
}, {
component: pagerSundayCheckboxContainer,
title: ''
}
]).withLayout({ width: '100%' }).component();
await view.initializeModel(formModel);
});
}

View File

@@ -0,0 +1,31 @@
<svg width="170" height="145" viewBox="0 0 170 145" xmlns="http://www.w3.org/2000/svg">
<path d="M144.495 82.6972L144.325 139.517C144.325 143.907 141.215 145.667 137.395 143.467L43.5446 89.2772C41.5389 87.9706 39.8696 86.2093 38.6725 84.1364C37.4753 82.0635 36.784 79.7375 36.6546 77.3472L36.8146 20.5272L144.495 82.6972Z" fill="#F2F2F2"/>
<path d="M87.465 63.7357C87.5216 63.7679 87.5764 63.8 87.6331 63.834C89.1724 64.7217 90.655 65.8058 92.0791 67.0863C93.5051 68.3669 94.8367 69.7816 96.0719 71.336C97.3052 72.8866 98.4366 74.5449 99.4659 76.3071C100.492 78.0674 101.362 79.8655 102.072 81.6994C102.781 83.5334 103.34 85.3975 103.748 87.2938C104.156 89.1901 104.35 91.0089 104.328 92.7484C104.322 94.5144 104.12 96.1047 103.719 97.5175C103.319 98.9283 102.752 100.135 102.018 101.134C101.285 102.135 100.407 102.932 99.3904 103.533C98.3724 104.132 97.2429 104.483 96.0039 104.589C94.7649 104.695 93.422 104.568 91.9771 104.209C90.587 103.864 89.1592 103.267 87.6935 102.422C87.6369 102.39 87.5821 102.358 87.5254 102.324C85.988 101.437 84.5053 100.352 83.0794 99.0719C81.6534 97.7932 80.3237 96.3767 79.0885 94.8242C77.8533 93.2716 76.7238 91.6152 75.6944 89.853C74.6651 88.0908 73.7982 86.2947 73.088 84.4607C72.3778 82.6249 71.8188 80.7607 71.4108 78.8625C71.0029 76.9663 70.8102 75.1474 70.831 73.4079C70.8367 71.6401 71.0406 70.0498 71.4392 68.6389C71.8415 67.228 72.4081 66.0211 73.1409 65.022C73.8737 64.0209 74.7501 63.2201 75.7681 62.6233C76.7861 62.0246 77.9156 61.6714 79.1546 61.5656C80.3936 61.4598 81.7365 61.5864 83.1814 61.9452C84.5733 62.2947 86.0012 62.8915 87.465 63.7357Z" fill="#50E6FF"/>
<path d="M96.1136 79.2601C96.5245 79.4977 96.9076 79.8016 97.2586 80.174C97.6118 80.5464 97.9243 80.9702 98.1982 81.4453C98.4722 81.9183 98.6755 82.3913 98.8125 82.8643C98.9473 83.3395 99.0265 83.8296 99.0436 84.3368C99.0415 84.7863 98.9666 85.178 98.8189 85.5097C98.6712 85.8414 98.4593 86.0876 98.1854 86.2438L86.4717 92.9364C86.1978 93.0927 85.8767 93.1504 85.515 93.1098C85.1533 93.0713 84.7745 92.9428 84.3828 92.7267C83.9911 92.4998 83.6123 92.198 83.2506 91.8192C82.8889 91.4404 82.5721 91.0102 82.2982 90.5243L76.9925 81.334C76.7185 80.861 76.5088 80.3731 76.3632 79.8722C76.2177 79.3714 76.1406 78.892 76.1321 78.4361C76.1342 77.961 76.2134 77.5693 76.3718 77.2526C76.5302 76.9379 76.7421 76.7004 77.0074 76.5377C77.2728 76.375 77.581 76.3151 77.9342 76.3622C78.2895 76.4071 78.6747 76.542 79.0963 76.7624C79.488 76.9893 79.8668 77.2911 80.2285 77.6699C80.5903 78.0487 80.9092 78.4746 81.181 78.9476L84.4063 84.5316L94.0226 79.0333C94.2987 78.877 94.6176 78.8192 94.9793 78.8578C95.3431 78.8984 95.7198 79.0333 96.1136 79.2601Z" fill="#FDFDFD"/>
<path d="M142.315 143.947L146.595 141.457C147.835 140.737 148.595 139.207 148.595 137.027L144.315 139.517C144.325 141.697 143.545 143.207 142.315 143.947Z" fill="#DCDCDC"/>
<path d="M144.495 82.6972L144.325 139.507L148.605 137.027L148.775 80.2072L144.495 82.6972Z" fill="#DCDCDC"/>
<path d="M144.495 69.5572L148.775 67.0672L148.725 80.5972L144.455 83.0772L144.495 69.5572Z" fill="#D2D2D2"/>
<path d="M137.605 57.6272C139.611 58.9333 141.281 60.6944 142.478 62.7674C143.675 64.8404 144.366 67.1668 144.495 69.5572V83.0772L36.7746 20.9172V7.39723C36.7746 3.00723 39.8946 1.23723 43.7046 3.39723L137.605 57.6272Z" fill="#E2E2E2"/>
<path d="M43.1246 0.467229L38.8446 2.95723C40.1046 2.22723 41.8446 2.32723 43.7646 3.43723L48.0446 0.947229C46.1246 -0.162771 44.3746 -0.262771 43.1246 0.467229Z" fill="#D2D2D2"/>
<path d="M141.885 55.1372L48.0346 0.95723L43.7546 3.43723L137.605 57.6272C139.611 58.9333 141.28 60.6944 142.478 62.7674C143.675 64.8404 144.366 67.1668 144.495 69.5572L148.775 67.0672C148.646 64.6768 147.955 62.3504 146.758 60.2774C145.56 58.2044 143.891 56.4433 141.885 55.1372V55.1372Z" fill="#D2D2D2"/>
<path d="M53.7446 123.757C52.9957 117.287 49.9037 111.314 45.0524 106.967C40.2011 102.62 33.9262 100.2 27.4125 100.163C20.8987 100.126 14.5967 102.475 9.69649 106.767C4.79624 111.058 1.63677 116.995 0.814578 123.457C0.597712 124.394 0.530216 125.359 0.614581 126.317C0.954581 130.017 3.61458 133.667 8.45458 136.487C18.9146 142.487 35.7846 142.487 46.1946 136.487C51.0246 133.667 53.5946 130.017 53.8946 126.367C53.9645 125.494 53.914 124.616 53.7446 123.757Z" fill="url(#paint0_radial)"/>
<path d="M27.2546 97.3472C30.4076 97.3472 33.4899 96.4121 36.1114 94.6602C38.7329 92.9082 40.776 90.4181 41.9822 87.5049C43.1883 84.5917 43.5034 81.3861 42.8876 78.2938C42.2717 75.2015 40.7526 72.3613 38.5223 70.1324C36.2921 67.9036 33.4509 66.3862 30.3582 65.7723C27.2655 65.1584 24.0601 65.4755 21.1477 66.6835C18.2352 67.8915 15.7464 69.9361 13.9961 72.5587C12.2458 75.1814 11.3126 78.2642 11.3146 81.4172C11.3146 83.51 11.7269 85.5823 12.5281 87.5157C13.3293 89.4491 14.5036 91.2056 15.9839 92.685C17.4642 94.1643 19.2215 95.3375 21.1554 96.1375C23.0892 96.9375 25.1618 97.3485 27.2546 97.3472V97.3472Z" fill="url(#paint1_radial)"/>
<path d="M165.911 60.1545L165.763 92.4967V103.332L128.073 81.661L128.221 38.4831L137.532 43.8227L165.911 60.1545Z" fill="url(#paint2_linear)"/>
<path d="M128.221 38.4832L137.532 43.8227L165.763 60.1545L169.116 58.317L140.738 41.8369L131.426 36.4973L128.221 38.4832Z" fill="#0078D4"/>
<path d="M165.763 103.332L168.96 101.346L169.116 58.3169L165.763 60.1545V103.332Z" fill="#5EA0EF"/>
<path d="M145.323 72.7556V83.3731L148.663 85.0512V74.4337L157.828 79.8027V76.1642L148.663 70.6716V60.0262L145.323 58.348V68.9687L136.156 63.4992L136.156 67.319L145.323 72.7556Z" fill="#ffffff"/>
<defs>
<radialGradient id="paint0_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(16.7476 84.5481) scale(75.2721)">
<stop stop-color="#4DC2EB"/>
<stop offset="0.58" stop-color="#0078D4"/>
</radialGradient>
<radialGradient id="paint1_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(30.9546 59.4672) scale(37.3)">
<stop stop-color="#4DC2EB"/>
<stop offset="1" stop-color="#0078D4"/>
</radialGradient>
<linearGradient id="paint2_linear" x1="148.335" y1="38.9281" x2="145.294" y2="111.482" gradientUnits="userSpaceOnUse">
<stop stop-color="#5EA0EF"/>
<stop offset="1" stop-color="#0078D4"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -14,9 +14,9 @@ body {
padding: 15px 30px;
display: flex;
flex-direction: column;
color: white;
color: #007acc;
font-family: "Segoe UI","Helvetica Neue","Helvetica",Arial,sans-serif;
background-color: #007acc;
background-color: white;
}
.branding {
@@ -28,21 +28,37 @@ body {
font-size: 20px;
letter-spacing: -0.04rem;
font-weight: 400;
color: white;
color: #007acc;
text-decoration: none;
}
.message-container {
flex-grow: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin: 0 30px;
}
.message {
.text {
text-align: center;
}
.message-image img {
max-width: 300px;
width: 100%
}
.message-large {
font-weight: 500;
font-size: 1.5rem;
}
.message-small {
font-weight: 300;
font-size: 1.3rem;
font-size: 1.1rem;
color: gray;
}
body.error .message {

View File

@@ -13,10 +13,16 @@
Azure Data Studio
</a>
<div class="message-container">
<div class="message">
You are signed in now and can close this page.
<div class="message-image">
<img src="./SignIn.svg">
</div>
<div class="error-message">
<div class="text message-large">
Your account was added successfully!
</div>
<div class="text message-small">
You may now close this page.
</div>
<div class="text error-message">
An error occurred while signing in:
<div class="error-text"></div>
</div>

View File

@@ -46,6 +46,17 @@
"description": "%config.enableDeviceCodeLogin%"
}
}
},
{
"type": "object",
"title": "Azure",
"properties": {
"azure.enableArcFeatures": {
"type": "boolean",
"default": false,
"description": "%config.enableArcFeatures%"
}
}
}
],
"account-type": [
@@ -70,37 +81,35 @@
"title": "%accounts.clearTokenCache%",
"category": "Azure Accounts"
},
{
"command": "azure.accounts.getSubscriptions",
"title": "%azure.accounts.getSubscriptions.title%",
"category": "Azure Accounts"
},
{
"command": "azure.accounts.getResourceGroups",
"title": "%azure.accounts.getResourceGroups.title%",
"category": "Azure Accounts"
},
{
"command": "azure.resource.signin",
"title": "%azure.resource.signin.title%",
"icon": {
"dark": "resources/dark/add_inverse.svg",
"light": "resources/light/add.svg"
}
"icon": "$(add)"
},
{
"command": "azure.resource.refreshall",
"title": "%azure.resource.refreshall.title%",
"icon": {
"dark": "resources/dark/refresh_inverse.svg",
"light": "resources/light/refresh.svg"
}
"icon": "$(refresh)"
},
{
"command": "azure.resource.refresh",
"title": "%azure.resource.refresh.title%",
"icon": {
"dark": "resources/dark/refresh_inverse.svg",
"light": "resources/light/refresh.svg"
}
"icon": "$(refresh)"
},
{
"command": "azure.resource.selectsubscriptions",
"title": "%azure.resource.selectsubscriptions.title%",
"icon": {
"dark": "resources/dark/filter_inverse.svg",
"light": "resources/light/filter.svg"
}
"icon": "$(filter)"
},
{
"command": "azure.resource.connectsqlserver",
@@ -148,6 +157,14 @@
{
"command": "azure.resource.connectsqlserver",
"when": "false"
},
{
"command": "azure.accounts.getSubscriptions",
"when": "false"
},
{
"command": "azure.accounts.getResourceGroups",
"when": "false"
}
],
"view/title": [
@@ -201,6 +218,6 @@
"vscodetestcover": "github:corivera/vscodetestcover#1.0.4"
},
"resolutions": {
"esprima": "^4.0.0"
"esprima": "^4.0.0"
}
}

View File

@@ -14,10 +14,13 @@
"azure.resource.connectsqldb.title": "Add to Servers",
"accounts.clearTokenCache": "Clear Azure Account Token Cache",
"azure.accounts.getSubscriptions.title": "Get Azure Account Subscriptions",
"azure.accounts.getResourceGroups.title": "Get Azure Account Subscription Resource Groups",
"config.enablePublicCloudDescription": "Should Azure public cloud integration be enabled",
"config.enableUsGovCloudDescription": "Should US Government Azure cloud (Fairfax) integration be enabled",
"config.enableChinaCloudDescription": "Should Azure China integration be enabled",
"config.enableGermanyCloudDescription": "Should Azure Germany integration be enabled",
"config.enableArcFeatures": "Should features related to Azure Arc be enabled (preview)",
"config.enableDeviceCodeLogin": "Enable Azure Active Directory device code login mechanism"
}

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><defs><style>.icon-canvas-transparent,.icon-vs-out{fill:#252526;}.icon-canvas-transparent{opacity:0;}.icon-vs-bg{fill:#c5c5c5;}</style></defs><title>add</title><g id="canvas"><path class="icon-canvas-transparent" d="M16,16H0V0H16Z"/></g><g id="outline" style="display: none;"><path class="icon-vs-out" d="M14,6v4H10v4H6V10H2V6H6V2h4V6Z"/></g><g id="iconBg"><path class="icon-vs-bg" d="M13,7V9H9v4H7V9H3V7H7V3H9V7Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 486 B

View File

@@ -1 +0,0 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><defs><style>.cls-1{font-size:12px;font-family:FullMDL2Assets, Full MDL2 Assets;}.cls-1,.cls-2{fill:#fff;}</style></defs><title>filter_inverse_16x16</title><text class="cls-1" transform="translate(0.03 12.1)"> </text><path class="cls-2" d="M.05,1.63H16V3.33l-6,6v6.27H6V9.31l-6-6ZM15,2.91V2.62H1v.29l6,6v5.69H9V8.89Z"/></svg>

Before

Width:  |  Height:  |  Size: 418 B

View File

@@ -1,4 +0,0 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.56253 2.51574C3.46348 3.45007 2 5.55411 2 7.99996C2 11.3137 4.68629 14 8 14C11.3137 14 14 11.3137 14 7.99996C14 5.32516 12.2497 3.05916 9.83199 2.28479L9.52968 3.23829C11.5429 3.88451 13 5.77207 13 7.99996C13 10.7614 10.7614 13 8 13C5.23858 13 3 10.7614 3 7.99996C3 6.31101 3.83742 4.81764 5.11969 3.91242L5.56253 2.51574Z" fill="#C5C5C5"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 3H2V2H5.5L6 2.5V6H5V3Z" fill="#C5C5C5"/>
</svg>

Before

Width:  |  Height:  |  Size: 589 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><defs><style>.icon-canvas-transparent,.icon-vs-out{fill:#f6f6f6;}.icon-canvas-transparent{opacity:0;}.icon-vs-bg{fill:#424242;}</style></defs><title>add</title><g id="canvas"><path class="icon-canvas-transparent" d="M16,16H0V0H16Z"/></g><g id="outline" style="display: none;"><path class="icon-vs-out" d="M14,6v4H10v4H6V10H2V6H6V2h4V6Z"/></g><g id="iconBg"><path class="icon-vs-bg" d="M13,7V9H9v4H7V9H3V7H7V3H9V7Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 486 B

View File

@@ -1 +0,0 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><defs><style>.cls-1{font-size:12px;font-family:FullMDL2Assets, Full MDL2 Assets;}</style></defs><title>filter_16x16</title><text class="cls-1" transform="translate(0 12)"> </text><path d="M0,1.53H16V3.24l-6,6v6.27H6V9.22l-6-6ZM15,2.82V2.53H1v.29l6,6v5.69H9V8.8Z"/></svg>

Before

Width:  |  Height:  |  Size: 363 B

View File

@@ -1,4 +0,0 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.56253 2.51574C3.46348 3.45007 2 5.55411 2 7.99996C2 11.3137 4.68629 14 8 14C11.3137 14 14 11.3137 14 7.99996C14 5.32516 12.2497 3.05916 9.83199 2.28479L9.52968 3.23829C11.5429 3.88451 13 5.77207 13 7.99996C13 10.7614 10.7614 13 8 13C5.23858 13 3 10.7614 3 7.99996C3 6.31101 3.83742 4.81764 5.11969 3.91242L5.56253 2.51574Z" fill="#424242"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 3H2V2H5.5L6 2.5V6H5V3Z" fill="#424242"/>
</svg>

Before

Width:  |  Height:  |  Size: 589 B

View File

@@ -44,6 +44,10 @@ export class AzureAccountProvider implements azdata.AccountProvider {
constructor(private metadata: AzureAccountProviderMetadata, private _tokenCache: TokenCache, private _context: vscode.ExtensionContext) {
this.commonAuthorityUrl = url.resolve(this.metadata.settings.host, AzureAccountProvider.AadCommonTenant);
}
// interface method
clearTokenCache(): Thenable<void> {
return this._tokenCache.clear();
}
// interface method
initialize(storedAccounts: azdata.Account[]): Thenable<azdata.Account[]> {
@@ -91,7 +95,8 @@ export class AzureAccountProvider implements azdata.AccountProvider {
private async getAccessTokens(account: azdata.Account, resource: azdata.AzureResource): Promise<AzureAccountSecurityTokenCollection> {
const resourceIdMap = new Map<azdata.AzureResource, string>([
[azdata.AzureResource.ResourceManagement, this.metadata.settings.armResource.id],
[azdata.AzureResource.Sql, this.metadata.settings.sqlResource.id]
[azdata.AzureResource.Sql, this.metadata.settings.sqlResource.id],
[azdata.AzureResource.OssRdbms, this.metadata.settings.ossRdbmsResource.id]
]);
const tenantRefreshPromises: Promise<{ tenantId: any, securityToken: AzureAccountSecurityToken }>[] = [];
const tokenCollection: AzureAccountSecurityTokenCollection = {};
@@ -253,9 +258,14 @@ export class AzureAccountProvider implements azdata.AccountProvider {
sendFile(res, path.join(mediaPath, 'landing.css'), 'text/css; charset=utf-8').catch(console.error);
};
const svg = (req: http.IncomingMessage, res: http.ServerResponse, reqUrl: url.UrlWithParsedQuery) => {
sendFile(res, path.join(mediaPath, 'SignIn.svg'), 'image/svg+xml').catch(console.error);
};
pathMappings.set('/signin', initialSignIn);
pathMappings.set('/callback', authCallback);
pathMappings.set('/landing.css', css);
pathMappings.set('/SignIn.svg', svg);
}
private async makeWebRequest(accessToken: TokenResponse, uri: string): Promise<any> {

View File

@@ -3,7 +3,6 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as constants from '../constants';
import * as azdata from 'azdata';
import * as events from 'events';
import * as nls from 'vscode-nls';
@@ -14,6 +13,7 @@ import providerSettings from './providerSettings';
import { AzureAccountProvider as OAuthAzureAccountProvider } from './azureAccountProvider2';
import { AzureAccountProvider as DeviceCodeAzureAccountProvider } from './azureAccountProvider';
import { AzureAccountProviderMetadata, ProviderSettings } from './interfaces';
import * as loc from '../localizedConstants';
let localize = nls.loadMessageBundle();
@@ -71,19 +71,18 @@ export class AzureAccountProviderService implements vscode.Disposable {
// let self = this;
let promises: Thenable<void>[] = providerSettings.map(provider => {
// return self._accountProviders[provider.metadata.id].clearTokenCache();
return Promise.resolve();
return this._accountProviders[provider.metadata.id]?.clearTokenCache();
});
return Promise.all(promises)
.then(
() => {
let message = localize('clearTokenCacheSuccess', "Token cache successfully cleared");
vscode.window.showInformationMessage(`${constants.extensionName}: ${message}`);
vscode.window.showInformationMessage(`${loc.extensionName}: ${message}`);
},
err => {
let message = localize('clearTokenCacheFailure', "Failed to clear token cache");
vscode.window.showErrorMessage(`${constants.extensionName}: ${message}: ${err}`);
vscode.window.showErrorMessage(`${loc.extensionName}: ${message}: ${err}`);
});
}

Some files were not shown because too many files have changed in this diff Show More