Compare commits

..

811 Commits

Author SHA1 Message Date
Chris LaFreniere
0b9ef714c8 Fix not being able to type in code cell after switching from text (#17590) (#17592)
* Fix not being able to type in code cell after switching from text

* comment

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2021-11-04 10:13:23 -07:00
Karl Burtram
36684b87e1 Bump non-builtin extensions in release/1.33 (#17568) 2021-11-02 14:24:11 -07:00
Karl Burtram
78d4398b32 Add support for restricted mode (#17559)
* Update reference to html-query-plan to use npm.js (#17558)

* Update reference to html-query-plan to use npm.js

* Change some references to html-query-plan package

* Add untrusted workspace supported flags (#17557)

* Bump version 1.33.1
2021-11-02 10:20:03 -07:00
Charles Gagnon
ee9fa17149 Fix localized titles in VS Code marketplace (#17515) 2021-10-27 14:09:45 -07:00
Charles Gagnon
737ad2c631 Fix publisher for VS Code extensions (#17505) (#17507) 2021-10-27 10:51:22 -07:00
brian-harris
6783aa6967 improve account and tenant selection error handling (#17476) (#17489)
* improve account/tenant selection error handling

* remove extra space from user string
2021-10-26 09:39:05 -07:00
brian-harris
ccbc2f74fe apply unique filter to getLocations api's (#17454) (#17473)
* apply unique filter to getLocations api's

* filter resource locations to distinct list

* simplify location filter
2021-10-26 09:38:38 -07:00
Daniel Grajeda
d7283a6e56 Notebook Views initialization fix (#17109) (#17471)
Separate the Views load from the initialization. This way we can load previously created views, and only add the new views data to the document when needed. For now, this happens only when a view is created.
2021-10-22 15:29:22 -07:00
Charles Gagnon
0684040d34 Fix backups not restoring in correct editor (#17466) (#17468) 2021-10-22 13:36:29 -07:00
Karl Burtram
625eb00be2 Remove duplicate Getting Started contributions (#17465) (#17470) 2021-10-22 12:55:09 -07:00
brian-harris
c5a27a89f3 Retry sql migration (#17376) (#17448) 2021-10-21 21:14:15 -07:00
Charles Gagnon
b9a7d5e4bd Fix URL protocol for non-insiders builds (#17446) 2021-10-21 17:12:39 -07:00
Alan Ren
f876c00ca1 fix scrolling issue (#17443) (#17449) 2021-10-21 16:25:09 -07:00
Z Chen
83ae789aa0 Warning when .NET 6 SDK is detected (#17422) (#17447)
* Check for max supported version

* Separate dialog for downgrade warning

* Address PR comments

* Use markdown link

* Update warning message
2021-10-21 16:24:14 -07:00
Maddy
6fe4d0a561 add path.posix while reading relative paths (#17326) (#17441)
* path.posix

* add test for nested folders scenario

* update message and remove the redundant check
2021-10-21 14:11:33 -07:00
Benjin Dubishar
2eaec9f41d Use correct string when checking "browse" option (#17432) (#17440)
* Correct browse string match

* Deduping const
2021-10-21 14:10:47 -07:00
rajeshka
2edafe50bb remove trailing line after the cursor (#17431) (#17436)
* remove trailing line after the cursor

* Addressed PR

(cherry picked from commit 914ac2b09d)
2021-10-21 11:38:23 -07:00
rajeshka
24c5686bd6 fixing the svg (#17427) (#17429)
(cherry picked from commit d196588661)
2021-10-20 20:11:04 -07:00
rajeshka
1731aeffbe Fix for Split Cell duplicates cell #17400 (#17417) (#17425)
(cherry picked from commit d251bbd1a1)
2021-10-20 16:28:47 -07:00
Lucy Zhang
b35ff6451a add listener for celltype change (#17414) (#17418) 2021-10-20 14:38:35 -07:00
Vasu Bhog
07aa256f4c Move split cell icon (#17383) (#17392)
* move split cell icon before delete icon
2021-10-19 13:01:57 -07:00
Lucy Zhang
473764de9a use setContent instead of addElement (#17386) (#17388) 2021-10-19 10:28:19 -07:00
Benjin Dubishar
7f92d8bc19 Add prompt for autorest SQL project name (#17365)
* Adding prompt for project name

* Updating test

* PR feedback

* Fixing rename logic so that folder is also named according to project

* Updating autorest test to confirm rename
2021-10-17 07:53:22 -07:00
Benjin Dubishar
ecb7f9311a Adding progress indicator for autorest generation (#17371) 2021-10-15 23:42:57 -07:00
Alex Ma
bb09e808a9 [Loc] update to english xlfs for 10/15/2021 (#17377) 2021-10-15 16:33:46 -07:00
Rachel Kim
4ed4e5f39c Add DMS values to migration extension save and close feature (#17375) 2021-10-15 16:09:43 -07:00
brian-harris
2e677dbda6 add assessment error handling and bypass option (#17369)
* add assessment error handling and bypass option

* add desriptive text and results warnings
2021-10-15 15:15:52 -07:00
Alex Ma
59b43d8c67 update to langpack source files (#17374) 2021-10-15 13:32:01 -07:00
Benjin Dubishar
901b90317c Prompts user for desired action when autorest is not installed (#17305)
* Giving user option to install autorest globally or run via npx

* Adds message for when no files are generated (no models in spec)

* Adding test

* Reinstating the rest of the test suite

* PR feedback

* Fixing tests to stub new prompt when test runner doesn't have autorest installed

* PR feedback

* fix typo

* fix typo
2021-10-15 13:26:58 -07:00
Alex Ma
7b66acd58b Update to localized XLFS (#17372) 2021-10-15 12:53:28 -07:00
Vasu Bhog
c368fcab25 Add Markdown Keybindings (#17359)
* add markdown keybindings

* remove add link keybinding

* move files

* fix layering
2021-10-15 11:40:19 -07:00
Alan Ren
fbdb434f3a designer pane separator (#17366)
* designer pane separator

* comments
2021-10-15 11:03:26 -07:00
csigs
6c4a0fea16 LEGO: check in for main to temporary branch. (#17370) 2021-10-15 09:47:41 -07:00
Lucy Zhang
e315115f00 Hide notebook toolbar icons in diff editor (#17303)
* hide notebook toolbar icons in diff editor

* move showActions to notebookInput

* make showActions readonly
2021-10-15 05:19:14 -07:00
csigs
58d5f317d3 LEGO: check in for main to temporary branch. (#17368) 2021-10-15 02:36:12 -07:00
Rachel Kim
340acd750f fix typos in strings file (#17364) 2021-10-14 17:47:13 -07:00
Benjin Dubishar
69128c0689 Verbose output for autorest, displaying output pane on error (#17308) 2021-10-14 15:22:53 -07:00
Alex Ma
49b5630b54 [Loc] update to arc xlfs (#17363) 2021-10-14 14:11:26 -07:00
stuti149
5de8d82417 update extension to use new offlineConfiguratin and offline property names (#17316) 2021-10-14 14:08:24 -07:00
Alan Ren
af8611455c use STS to process the requests (#17358) 2021-10-14 13:36:46 -07:00
Shagun Sharma Tamta
f126c998d2 Add Backup tab under SQL Miaa dashboard, 'Configure Retention Policy' settings dialog, listing databases with latest PITR timetamp, Pitr dialog to restore (#17269)
* backup page

* config rpo first

* rpo az cli

* working 1

* working 2

* working -3

* working -3

* working 4

* working with button component

* remove Date usage, use string instead

* cleanup

* cleanup 2

* Update localizedConstants.ts

rectify the wording until, figure out a way to fetch earliest backup

* pitr dialog, remove rpo

* pr feedback

* pr feedback

* pr feedback

* pr feedback

* feedback

* remove iso time conversion and show time as-is
2021-10-14 12:29:53 -07:00
Aditya Bist
74aacda70d separate ADO jobs (#17361) 2021-10-14 11:05:13 -07:00
Maddy
53ab99761f save lastEditMode and use that as default (#17206)
* save lastEditMode

* change style to active

* addActiveClassFromEditMode

* add undefined to declaration

* remove from public interface

* private

* lastEditMode to last selected mode

* comments

* set active in one place

* rename method
2021-10-14 11:01:54 -07:00
csigs
8806456ca0 LEGO: check in for main to temporary branch. (#17357) 2021-10-14 09:43:09 -07:00
csigs
249bd12375 LEGO: check in for main to temporary branch. (#17360) 2021-10-14 09:42:42 -07:00
Sai Avishkar Sreerama
16fb0dd4eb vbump sts (#17355) 2021-10-13 23:11:11 -05:00
Alex Ma
2f1c2e6c47 [Loc] Added schema.isQueryProvider (#17354) 2021-10-13 15:18:49 -07:00
Alan Ren
156f8f1d5f only show new query when query is supported (#17346)
* only show new query when query is supported

* test case fix and pr comments

* rename context key
2021-10-13 13:01:31 -07:00
Benjin Dubishar
547ceba501 Added icon (#17306) 2021-10-13 10:04:26 -07:00
csigs
4b9d96bbd2 LEGO: check in for main to temporary branch. (#17345) 2021-10-12 22:48:52 -07:00
Christopher Suh
95db579902 Fixes for Save & Close (#17341)
* wip

* wip

* fixes

* cleanup

* cleanup
2021-10-12 10:08:36 -07:00
Alex Ma
c15b50282a added updates to sql.xlf and sql-migration.xlf (#17343) 2021-10-11 22:54:30 -07:00
csigs
405712f484 LEGO: check in for main to temporary branch. (#17342) 2021-10-11 22:36:10 -07:00
Kim Santiago
38036ca15c hide add sql binding quickpick (#17340) 2021-10-11 16:14:31 -07:00
Alan Ren
ce4459a7b2 Table Designer - Save Changes feature and Editor related features (#17335)
* table designer add/remove row support

* save changes and editor support

* address comments

* fix build error

* including missing change

* lower case request name
2021-10-11 15:09:25 -07:00
Rachel Kim
e5f50499ce Standardize font styling on sql migration extension (#16968) 2021-10-11 14:58:37 -07:00
Alex Ma
cd053ade22 [Loc] add strings to sql-database-projects (#17339) 2021-10-11 11:02:13 -07:00
Lewis Sanchez
acc0122e8f Corrects keyboard shortcuts for Linux web smoke tests (#17301)
* Corrects keyboard shortcuts for linux

* Changed python to match the one listed in docker/Dockerfile

* Revert "Changed python to match the one listed in docker/Dockerfile"

This reverts commit 683c226eb600bc89b449f258d463d2a6b14aebe6.

* Adjusts retry count for dialog elements to close.

* Code clean up

* Revert "Adjusts retry count for dialog elements to close."

This reverts commit 64a8bf48fa72eb26830aeaa55721c7ff846d131e.

* Code cleanup

* Adjusts key binding
2021-10-11 10:26:21 -07:00
rajeshka
f5331e3d69 Added code to enable disable split cell icon (#17331)
* Added code to enable diable split cell icon

* adding back the deleted code

* refactored

* minimized lines

* simplified code

* minor change

* minor change

* Addressed PR

* Addressed PR

* removing unused enum value
2021-10-11 09:47:25 -07:00
csigs
af58a52004 LEGO: check in for main to temporary branch. (#17338)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-10-11 09:36:40 -07:00
csigs
a3878b6081 LEGO: check in for main to temporary branch. (#17336) 2021-10-11 09:33:57 -07:00
Leila Lali
d479c96658 Addressed comments left in a merged PR (#17307) 2021-10-11 09:07:12 -07:00
csigs
479bd10d02 LEGO: check in for main to temporary branch. (#17334) 2021-10-10 19:21:52 -07:00
Alex Ma
995d3d808b [Loc] update for mssql and table designer (#17333) 2021-10-09 14:37:15 -07:00
csigs
525eab10da LEGO: check in for main to temporary branch. (#17330) 2021-10-09 14:03:31 -07:00
Alan Ren
abe54a2b92 initial PR for table designer feature (#17200)
* wip

* wire up e2e

* hook up styler and add as dataprotocal feature

* designer child component rendering

* table component updates

* styler and selectbox column editor

* fix editor size and dupe component creation issue

* fix checkbox column and add more testing data

* properties pane

* only rerender when needed

* properties pane update

* update commands

* cleanup for PR

* revert unwanted changes

* Adding a few tests for Add SQL binding (#17079)

* initial changes

* add a couple more tests

* LEGO: check in for main to temporary branch. (#17089)

* LEGO: check in for main to temporary branch. (#17091)

Co-authored-by: kburtram <karlb@microsoft.com>

* Adds autorest-based SQL Project generation to SQL Database Projects extension (#17078)

* Initial changes

* checkpoint

* Constructing project with post deployment script

* Correcting to intentionally read from cached list of projects

* Adding activation event, fixing fresh workspace bug

* Convert netcoreTool and autorestHelper to share a helper class for streamed command

* Include npm package version to force update

* test checkpoint

* Unit tests

* Added contextual quickpicks for autorest dialogs

* Adding projectController test

* Added projectController test, some refactoring for testability

* Merge branch 'main' into benjin/autorest

* Fixing 'which' import

* PR feedback

* Fixing tests

* Adding additional information for when project provider tests fail

* Hopefully fixing failing tests (unable to repro locally)

* Adding Generate Project item to workspace menu

* PR feedback

* LEGO: check in for main to temporary branch. (#17097)

* added sql database projects strings (#17100)

* Set kernelAlias in startSession when isValidConnection is truthy (#17102)

* PR follow-up comments (#17113)

* Change recompare message after changing options to modal (#17103)

* Change recompare message to modal

* change options to yes and no

* Remove commented code block in git extension (#17116)

* Remove commented code block in git extension

* Add SQL CARBON EDIT tag

* [Loc] Small change to generatingProjectFailed (#17118)

* Add Null Shortcut and added NULL text for default NULL value. (#17085)

* added test key event

* added null function to tryHandleKeyEvent

* added null formatting

* added working null insert.

* added editDataGridPanel string null support

* Bump nth-check from 2.0.0 to 2.0.1 in /build (#17115)

Bumps [nth-check](https://github.com/fb55/nth-check) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/fb55/nth-check/releases)
- [Commits](https://github.com/fb55/nth-check/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: nth-check
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add excludeFlags to extenson marketplace query (#17121)

* Add excludeFlags to extenson marketplace query

* Remove dead code

* Remove extraneous blank line

* Address code review feedback

* Adding Derived Columns to ADS Flatfile Import (#16795)

* Adding derived column boilerplate

* brandan preliminary frontend changes

* empty commit

* added new param

* updating contracts, dialogue changes

* utils changes, saving timeout attempt

* pushing for aasim

* Cleaning up code and fixing the issue in theory

* changing button, did not solve independent scroll

* Fixing the scroll bar issue

* updating flat file service

* adding override keyword to overrriden method

* improving UI

* pushing changes associated with resolved comments

* localizing strings, editing comments

* all comments resolved

* Fixing a test

* updating import package
Updating azure MFA bug

* Clearing navigation validator
Fixing broken table name change

* fixed prose test

* removing unused code from tests

* Fixed PR comments

* Fixing some PR comments

* WIP

* Fixing transformation code and create derived column dialog styling

* removing unused code

* Adding comment for console log

* fixed table styling

* Adding some aria labels

* Fixed some code cleanup issues

* update import service

Co-authored-by: Aasim Khan <aasimkhan30@gmail.com>
Co-authored-by: bnhoule <t-bhoule@microsoft.com>

* Change keybindings for copying query with Results (#17127)

Co-authored-by: Monica Gupta <mogupt@microsoft.com>

* sql proj - publish to docker improvements  (#17124)

* Add AAD token expiration handling for query runner (#17117)

* Add AAD token refresh for notebook

* move token refresh to query management and remove previous refresh calls

* Add guids to RunAll and RunCell events (#17123)

Add guids to RunAll and RunCell events

* add error banner for failed migration cutover and cancel migration (#17106)

* [Loc] update to sql migration, database projects and import extension strings (#17130)

* Apply optional storage class settings in sql mi create command (#17129)

* Make storage classes optional

* Fix notebook to use storage class options

Co-authored-by: Charmaine Chan <chachan@microsoft.com>

* Add support for adding new setting in local.settings.json in add SQL binding quickpick (#17093)

* be able to add new setting in local.settings.json

* cleanup

* addressing comments

* remove todo comment

* addressing comments

* update some strings to uris

* bump version of sqltoolsservice (#17133)

* mark schema compare tests as unstable (#17140)

* [Loc] Update for arc and sql-database-projects (#17148)

* ML extension vbump (#17143)

* Configure docker image and web smoke tests for ADSWeb. (#17136)

* Adjusts timeout period

* Revert "Adjusts timeout period"

This reverts commit 0f372eae2a4611554093b6c09f1ff6c451132e19.

* Adds firefox as browser option

* Corrects yaml smoke test script

* Resets args array to original values

* Corrects build path

* Resolves ignoring browser option error

* continue even after writing to stderr

* Adjusts smoke test (browser) script

* More adjustments to smoke test script

* Corrects server path

* Uses build variable directly in build path

* Specifies browser type since cannot be ignored error

* Adds browser option

* Updates web build image and corrects smoke test exe command

* Removes commented out task

* Updates dockerfile to support web smoketests

* Removes failOnStderr flag

* Use curl instead of wget in Dockerfile

* Fixed a bug with cancling publish (#17160)

* Save And Close Functionality (#17000)

* save and close

* wip

* working save and close

* cleanup

* pr changes

* pr changes

* fix capitalization

* fix build

* pr fix

* Added dynamic options for SQL MIAA Deployment Wizard and updated checkbox field (#17119)

* Dynamic enablement

* Added new package.json field for dynamic options and corresponding functions and classes.

* Enabled dynamic options non-generalized and changed formatting of checkbox to have label on the left.

* Added setOptions under InputComponentInfo for generalization, comments under checkbox component, and changed Replicas to High Availability to reflect parity in portal.

* fix unit test

Co-authored-by: Candice Ye <canye@microsoft.com>
Co-authored-by: Alan Ren <alanren@microsoft.com>

* LEGO: check in for main to temporary branch. (#17168)

* [Loc] added new arc strings and fix for sql-database-projects lcl file for Japanese (#17171)

* [Loc] added new arc strings and fix for sql-database-projects xlf

* removed newline

* Port of Vscode fix for colors too close (#17146)

* default light colors list.focusHighlightForeground too close to list.activeSelectionBackground. Fixes #127597

* remove activeSelectionBackground from theme-carbon as it conflicts with vscode.

* remove dark carbon background

Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>

* Markdown Horizontal Scrollbar Fix (#17083)

* dynamically change horizontal scrollbar

* working horizontal scrollbar

* created new event to handle both scrollbar and mouse wheel

* only show scrollbar when needed

* LEGO: check in for main to temporary branch. (#17181)

* Bump axios to 0.21.4 (#17161)

* Kusto version bump to 0.5.6 (#17114)

* Bumped Kusto toolsservice version to 125 and bumped version to 0.5.6

* Changed netcoreapp3.1 to net5.0 in Kusto config.json

* AzureMonitor bump ToolService version and extension version. (#17174)

* Bump concat-with-sourcemaps from 1.0.4 to 1.1.0 (#17158)

Bumps [concat-with-sourcemaps](https://github.com/floridoo/concat-with-sourcemaps) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/floridoo/concat-with-sourcemaps/releases)
- [Commits](https://github.com/floridoo/concat-with-sourcemaps/commits)

---
updated-dependencies:
- dependency-name: concat-with-sourcemaps
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update service downloader to 0.2.3 (#17186)

* Notebook Views grid fixes (#17170)

* update data workspace restart ADS to open workspace message (#17188)

* update message

* update string

* Add back "Remove Project" (#17178)

* remove project working with full paths

* use relative paths

* const

* addressing comments

* Bump github-auth axios to 0.21.4 (#17189)

* LEGO: check in for main to temporary branch. (#17192)

* LEGO: check in for main to temporary branch. (#17190)

Co-authored-by: kburtram <karlb@microsoft.com>

* [Loc] Add a small change to dataworkspace (#17194)

* added bump to sqltoolsservice version (#17195)

* Check if file is dirty before adding sql binding (#17175)

* check if file is dirty before adding sql binding

* Addressing comments

* Add vertical scroll bar to Preview in Split View (#17164)

* reset max height

* add editor height

* set md editor height

* Split up NotebookProvider into separate providers for handling file serialization and cell execution. (#17176)

* fix floating promises

* pr comments

* reuse component definition

* comments

* fix error

Co-authored-by: Kim Santiago <31145923+kisantia@users.noreply.github.com>
Co-authored-by: csigs <csigs@users.noreply.github.com>
Co-authored-by: kburtram <karlb@microsoft.com>
Co-authored-by: Benjin Dubishar <benjin.dubishar@gmail.com>
Co-authored-by: Alex Ma <alma1@microsoft.com>
Co-authored-by: Justin M <63619224+JustinMDotNet@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: bnhoule <52506119+bnhoule@users.noreply.github.com>
Co-authored-by: Aasim Khan <aasimkhan30@gmail.com>
Co-authored-by: bnhoule <t-bhoule@microsoft.com>
Co-authored-by: Monica Gupta <scorpio90m@gmail.com>
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
Co-authored-by: Leila Lali <llali@microsoft.com>
Co-authored-by: Hai Cao <hacao@microsoft.com>
Co-authored-by: Daniel Grajeda <dagrajed@microsoft.com>
Co-authored-by: brian-harris <61598682+brian-harris@users.noreply.github.com>
Co-authored-by: Charmaine Chan <69230572+charmainewkchan@users.noreply.github.com>
Co-authored-by: Charmaine Chan <chachan@microsoft.com>
Co-authored-by: Lewis Sanchez <87730006+lewis-sanchez@users.noreply.github.com>
Co-authored-by: Christopher Suh <chsuh@microsoft.com>
Co-authored-by: Candice Ye <candiceye@berkeley.edu>
Co-authored-by: Candice Ye <canye@microsoft.com>
Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
Co-authored-by: Vasu Bhog <vabhog@microsoft.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
Co-authored-by: Barbara Valdez <34872381+barbaravaldez@users.noreply.github.com>
Co-authored-by: Cory Rivera <corivera@microsoft.com>
2021-10-08 19:24:31 -07:00
Lewis Sanchez
8b1fa3ea52 Don't prompt for save when JSON column untitled file is closed (version 2) (#17327)
* Stops flagging untitled editors with pre-loaded content as dirty

* Code changes address broken unit tests.

* Completes original comment

* Defines new non dirty text editor model

* Revert "Completes original comment"

This reverts commit 6d0e90bb9f0650eead5a0ec1ca8524dfe96c56cd.

* Revert "Code changes address broken unit tests."

This reverts commit 5b8cdd9f0bb43638bdd427a454ea177f6fbc024d.

* Revert "Stops flagging untitled editors with pre-loaded content as dirty"

This reverts commit 7a39226b7961af3aba8dc2f08113ed09eb2a1d61.

* Stops marking untitled editors with JSON as dirty

* Code clean up.
2021-10-08 17:37:08 -07:00
Vasu Bhog
faa29945a3 Fix Link Callout Dialog consistency in split/md (#17313)
* fix consistency with space and %20 files in split/md

* add a test
2021-10-08 15:24:00 -07:00
Vasu Bhog
c35cd3e48f Fixes Encoding / Decoding issues with Notebook Linking (#17304)
* fixes encoding / decoding issues with %20 files

* fix windows test

* address PR comments and absolute path setting
2021-10-08 15:22:10 -07:00
nasc17
75d6847a65 Set original database for connection done through connection dialog (#17266)
* check if database connection

* Change name of isMaster and remove import

* Set to false

* take out connecttodatabase

* remove connecttodatabase

* Original database

* remove empty string check

* clean

* set original database for when saving connection

* pass unit test

* map -> find

* PR changes

* Comments for original database
2021-10-08 13:10:28 -07:00
Alan Ren
a25dd2c03b fix component detection error (#17319) 2021-10-08 13:03:40 -07:00
Alex Ma
93731c4f1d [Loc] update to extensions xlfs (#17320) 2021-10-08 11:17:52 -07:00
Shagun Sharma Tamta
2cb8c49208 Add retention days property in create SQL deployment (#17293)
* create deployment sql
* correct line feed
* var name
* pr feedback
2021-10-08 10:31:44 -07:00
csigs
39766119d3 LEGO: check in for main to temporary branch. (#17312)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-10-08 10:30:38 -07:00
rajeshka
7a831722bf Fix for elongated split icon (#17310)
* Fix for elongated split icon

* addressed PR
2021-10-08 10:27:48 -07:00
csigs
d51c03bbeb LEGO: check in for main to temporary branch. (#17318) 2021-10-08 09:21:48 -07:00
Benjin Dubishar
33d9bfd87f Adding JSON and YML as valid extensions for OpenAPI/Swagger spec files (#17297)
* adding more openAPI spec types

* Correcting extension stripping

* PR feedback
2021-10-07 23:22:21 -07:00
goyal-anjali
26b9b96f10 Fix DMS dropdowns reset every time we enter Data Migration Service page (#17225)
* Add placeholder for DMS resource group dropdown

* Show placeholder and not initialize value for dropdown
2021-10-08 10:37:53 +05:30
Leila Lali
d4b556c09c Sqlproj - Saving the connection after db is deployed to docker container (#17294) 2021-10-07 15:48:09 -07:00
Alex Ma
dd433316c2 update to Langpack i18n.json files for September release (#17300) 2021-10-07 15:13:54 -07:00
Leila Lali
3d810e8e20 sqlproj - publish to container - fix the image name, tag and added validation (#17295) 2021-10-07 14:39:05 -07:00
Alex Ma
8c7c491581 update to langpacks XLF files for October release. (#17296) 2021-10-07 13:41:17 -07:00
Kim Santiago
6c79b2a8c9 fix schema compare results at bottom (#17299) 2021-10-07 13:33:10 -07:00
Leila Lali
f875699cd2 sqlproj publish to container - october release improvements (#17289) 2021-10-07 12:55:43 -07:00
Alex Ma
04ee2c5d83 [Loc] update to sql-migration and sql.xlf (#17298) 2021-10-07 11:29:44 -07:00
goyal-anjali
0dd544aff4 Add callout dialog from error count to detailed error message on migration status dialog (#16850) 2021-10-07 22:43:31 +05:30
csigs
e170a9b4a9 LEGO: check in for main to temporary branch. (#17291) 2021-10-07 02:07:50 -07:00
Maddy
f88bef8b4c save richTextCursorPosition/markdownCursorPosition (#17180)
* save richTextCursorPosition/markdownCursorPosition

* rename variables

* check to see if the nodes exist

* added comments

* add comments

* check if valid offset

* pr comments

* sqllint error fix
2021-10-06 23:24:22 -07:00
Cory Rivera
56e961c972 Fix issues with notebook providers not appearing, or being waited on for too long during startup. (#17288) 2021-10-06 21:58:24 -07:00
rajeshka
671c062e59 Split notebookcell (#17185)
* Initial Split code

* minor change

* minor changes

* Added split cell button to initActionBar, created split cell class to pss cell context.

* added changes

* fixed index

* Split Cell Working in markdown mode

* Fixed highlighting

* Preserve the edit state

* Added new icon and updated styles and cellToolbar component with new icon name.

* Addressed PR

* Addressed PR

* Added back isEditMode flag

* Moved split action to after edit toggle.

* Fixed typo

* Addressed PR

* Addressed PR

* Removed deletion of the cell

* fixed the comments

Co-authored-by: Hale Rankin <harankin@microsoft.com>
2021-10-06 18:18:22 -07:00
M-Patrone
95a4366edb replaced the set of the tenantId (#17223)
Co-authored-by: Patrone Manuel <manuel.patrone@stud.bbbaden.ch>
2021-10-06 16:47:50 -07:00
Kim Santiago
87baa9c860 fix sql bindings error message not showing (#17276)
* fix error message not showing

* use utils.getErrorMessage
2021-10-06 16:03:40 -07:00
Alan Ren
5d56e6525b fix a few lint warnings (#17286) 2021-10-06 14:12:49 -07:00
Alex Ma
42b89095f2 [Loc] additions to notebook, sql-database-projects and sql.xlf (#17282) 2021-10-06 10:26:40 -07:00
csigs
b864cab486 LEGO: check in for main to temporary branch. (#17281) 2021-10-06 09:49:34 -07:00
csigs
003fa08b75 LEGO: check in for main to temporary branch. (#17279) 2021-10-06 09:49:08 -07:00
Alan Ren
458c4cff39 improvement for the editor crash issue (#17278)
* handle the query editor crash issue

* update message
2021-10-06 09:45:53 -07:00
dependabot[bot]
b5b57a56c4 Bump url-parse from 1.5.1 to 1.5.3 in /extensions/notebook (#17273)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-06 09:07:23 -07:00
Cory Rivera
5a4d1599db Improve Configure Python wizard experience for unfamiliar kernel names. (#17272) 2021-10-06 08:52:54 -07:00
Charles Gagnon
747b8e84a8 Add BDC spark connection logging (#17277)
* Add BDC spark connection logging

* fix test failures
2021-10-05 20:23:38 -07:00
Kim Santiago
2750dc0fe0 Add link to sql bindings repo (#17263)
* add link to sql bindings repo

* move to then

* const
2021-10-05 17:03:12 -07:00
Charles Gagnon
168a50d589 Remove duplicate pipeline trigger (#17275) 2021-10-05 16:57:13 -07:00
dependabot[bot]
149ddacae4 Bump url-parse from 1.5.0 to 1.5.2 in /samples/sqlservices (#17274)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.0 to 1.5.2.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.0...1.5.2)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-05 16:55:31 -07:00
Alex Ma
7895a32573 Small update to Yarn.lock (automatically generated during compilation) (#17270) 2021-10-05 14:49:27 -07:00
Kim Santiago
7c0ab0af82 add category for Add Sql Binding command (#17260) 2021-10-05 13:42:25 -07:00
csigs
88c57e383d LEGO: check in for main to temporary branch. (#17265) 2021-10-05 10:25:55 -07:00
Alan Ren
390c4394f8 resize the tab panel when needed (#17262) 2021-10-05 09:47:47 -07:00
Kim Santiago
51c41915a4 use placeholder for table name in add sql bindings quickpick (#17258)
* use placeholder for table name in add sql bindings quickpick

* add validation
2021-10-04 17:35:13 -07:00
Alan Ren
8da7d11e72 vbump sts (#17246) 2021-10-04 16:52:19 -07:00
Alan Ren
c20ed1bd9b use the actual unique id to compare connection (#17229)
* use the actual unique id to compare connection

* fix test error and pr comments
2021-10-04 15:24:09 -07:00
Charles Gagnon
32b912c37e Clean up tsconfig.base.json (#17220)
* Clean up tsconfig.base.json

* revert param name

* Try removing comments

* use newer option again

* revert option again

* more
2021-10-04 13:35:24 -07:00
Alex Ma
4aea582902 [Loc] update to arc strings (#17230) 2021-10-04 13:29:39 -07:00
Charmaine Chan
bed0a9091d Add missing fields for SQL Managed Instance creation (backups, database logs, volume sizes) (#17137)
* Add backups storage class,  database logs, and volume sizes fields to sql mi create

Co-authored-by: Charmaine Chan <chachan@microsoft.com>
2021-10-04 12:19:06 -07:00
csigs
76322032fc LEGO: check in for main to temporary branch. (#17224)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-10-04 10:06:49 -07:00
csigs
42b7269370 LEGO: check in for main to temporary branch. (#17222) 2021-10-04 09:52:32 -07:00
csigs
9836f92951 LEGO: check in for main to temporary branch. (#17228) 2021-10-04 09:48:47 -07:00
Alex Ma
bff1c54147 [Loc] Small addition to sql.xlf (#17221) 2021-10-02 16:11:49 -07:00
Karl Burtram
508ea42c89 Update license path to refer to raw text file (#17218) 2021-10-01 19:41:09 -07:00
Alan Ren
9f2ad8a04b add unsupported version warning (#17219)
* add unsupported version warning

* comments
2021-10-01 18:17:04 -07:00
Kim Santiago
d5b43df6d6 fix restart ADS warning showing twice for create project from db (#17214) 2021-10-01 14:53:36 -07:00
Alex Ma
107b0ae683 replace empty string with space (#17216) 2021-10-01 13:06:16 -07:00
Alex Ma
04b3237db1 [Loc] small update to notebook xlf (#17215) 2021-10-01 12:10:55 -07:00
Alex Ma
4daadc4949 [Loc] Update to arc extension for localization and fix for sql-database-projects lcl file in Chinese Simplified, along with small additions to XLFS (#17208)
* [Loc] Update to arc extension for localization and fix for sql-database-projects

* removed newline
2021-10-01 10:58:14 -07:00
Kim Santiago
e037118082 Reset schema comapre when comparison result is not success (#17184) 2021-10-01 10:21:07 -07:00
Vasu Bhog
a0576456b6 Add Keybindings for some Markdown Toolbar Actions (#17198)
* Add Keybindings for some markdown toolbar

* add extension registry

* when in text cell stopPropagation to only trigger one command
2021-09-30 15:20:45 -07:00
Alex Ma
eec2479ec2 set panel collapsed to false by default (#17196) 2021-09-30 12:49:24 -07:00
csigs
5b83606d21 LEGO: check in for main to temporary branch. (#17204) 2021-09-30 11:48:54 -07:00
Justin M
f88d65f4a6 Bumped AzureMonitor and Kusto to use SqlToolsService 133. Bumped extension version for Kusto to 0.5.7 and AzureMonitor to 0.1.8 (#17207) 2021-09-30 11:28:34 -07:00
stuti149
13712c3a38 remove list filter logic to allow all available DMS regions to be used (#17203) 2021-09-30 22:34:27 +05:30
stuti149
09884789b5 Update extension border / line styling (#17059)
* updated border styling of tables

* reducing border thickness

* fixing styling for dark mode

* fixing for dark mode

* removing box shadow from checkbox
2021-09-30 22:34:07 +05:30
goyal-anjali
5710a53e86 Update action buttons texts (#17193)
Update texts for action buttons
2021-09-30 19:14:57 +05:30
csigs
c27ae1d727 LEGO: check in for main to temporary branch. (#17201) 2021-09-30 00:39:48 -07:00
Barbara Valdez
9a38578c54 Edit books using dnd fix (#17141)
* add hierarchyId to tree element
2021-09-29 19:33:36 -07:00
Cory Rivera
14904bb671 Split up NotebookProvider into separate providers for handling file serialization and cell execution. (#17176) 2021-09-29 16:15:28 -07:00
Barbara Valdez
dfc2635aa7 Add vertical scroll bar to Preview in Split View (#17164)
* reset max height

* add editor height

* set md editor height
2021-09-29 15:29:03 -07:00
Kim Santiago
b2e9e30529 Check if file is dirty before adding sql binding (#17175)
* check if file is dirty before adding sql binding

* Addressing comments
2021-09-29 15:26:14 -07:00
Alex Ma
ccc440f471 added bump to sqltoolsservice version (#17195) 2021-09-29 11:18:59 -07:00
Alex Ma
04aa9c24d7 [Loc] Add a small change to dataworkspace (#17194) 2021-09-29 10:26:22 -07:00
csigs
fdd210e60a LEGO: check in for main to temporary branch. (#17190)
Co-authored-by: kburtram <karlb@microsoft.com>
2021-09-29 09:33:50 -07:00
csigs
f1803184b0 LEGO: check in for main to temporary branch. (#17192) 2021-09-29 09:00:13 -07:00
Charles Gagnon
ffe5027c3f Bump github-auth axios to 0.21.4 (#17189) 2021-09-28 18:26:27 -07:00
Kim Santiago
ee8285bf38 Add back "Remove Project" (#17178)
* remove project working with full paths

* use relative paths

* const

* addressing comments
2021-09-28 17:09:21 -07:00
Kim Santiago
1c112689b1 update data workspace restart ADS to open workspace message (#17188)
* update message

* update string
2021-09-28 16:49:00 -07:00
Daniel Grajeda
08acd6aadc Notebook Views grid fixes (#17170) 2021-09-28 14:52:00 -07:00
Charles Gagnon
508630411d Update service downloader to 0.2.3 (#17186) 2021-09-28 13:58:32 -07:00
dependabot[bot]
de1af89a1f Bump concat-with-sourcemaps from 1.0.4 to 1.1.0 (#17158)
Bumps [concat-with-sourcemaps](https://github.com/floridoo/concat-with-sourcemaps) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/floridoo/concat-with-sourcemaps/releases)
- [Commits](https://github.com/floridoo/concat-with-sourcemaps/commits)

---
updated-dependencies:
- dependency-name: concat-with-sourcemaps
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-28 13:31:45 -07:00
Justin M
cfb22749c1 AzureMonitor bump ToolService version and extension version. (#17174) 2021-09-28 12:08:34 -07:00
Justin M
bb5a30d189 Kusto version bump to 0.5.6 (#17114)
* Bumped Kusto toolsservice version to 125 and bumped version to 0.5.6

* Changed netcoreapp3.1 to net5.0 in Kusto config.json
2021-09-28 12:08:06 -07:00
Karl Burtram
1bd1e26e13 Bump axios to 0.21.4 (#17161) 2021-09-28 09:56:27 -07:00
csigs
f5df69a7ab LEGO: check in for main to temporary branch. (#17181) 2021-09-28 09:55:12 -07:00
Vasu Bhog
db1d3cc517 Markdown Horizontal Scrollbar Fix (#17083)
* dynamically change horizontal scrollbar

* working horizontal scrollbar

* created new event to handle both scrollbar and mouse wheel

* only show scrollbar when needed
2021-09-27 16:54:43 -07:00
Alex Ma
6b2e950f68 Port of Vscode fix for colors too close (#17146)
* default light colors list.focusHighlightForeground too close to list.activeSelectionBackground. Fixes #127597

* remove activeSelectionBackground from theme-carbon as it conflicts with vscode.

* remove dark carbon background

Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
2021-09-27 14:13:21 -07:00
Alex Ma
18295813ae [Loc] added new arc strings and fix for sql-database-projects lcl file for Japanese (#17171)
* [Loc] added new arc strings and fix for sql-database-projects xlf

* removed newline
2021-09-27 11:06:31 -07:00
csigs
53c26ac5ce LEGO: check in for main to temporary branch. (#17168) 2021-09-27 09:49:38 -07:00
Candice Ye
b23ee567de Added dynamic options for SQL MIAA Deployment Wizard and updated checkbox field (#17119)
* Dynamic enablement

* Added new package.json field for dynamic options and corresponding functions and classes.

* Enabled dynamic options non-generalized and changed formatting of checkbox to have label on the left.

* Added setOptions under InputComponentInfo for generalization, comments under checkbox component, and changed Replicas to High Availability to reflect parity in portal.

* fix unit test

Co-authored-by: Candice Ye <canye@microsoft.com>
Co-authored-by: Alan Ren <alanren@microsoft.com>
2021-09-24 16:35:56 -07:00
Christopher Suh
207254fa6c Save And Close Functionality (#17000)
* save and close

* wip

* working save and close

* cleanup

* pr changes

* pr changes

* fix capitalization

* fix build

* pr fix
2021-09-24 14:59:35 -07:00
Leila Lali
177b56c5ff Fixed a bug with cancling publish (#17160) 2021-09-24 13:51:04 -07:00
Lewis Sanchez
3c7a148f95 Configure docker image and web smoke tests for ADSWeb. (#17136)
* Adjusts timeout period

* Revert "Adjusts timeout period"

This reverts commit 0f372eae2a4611554093b6c09f1ff6c451132e19.

* Adds firefox as browser option

* Corrects yaml smoke test script

* Resets args array to original values

* Corrects build path

* Resolves ignoring browser option error

* continue even after writing to stderr

* Adjusts smoke test (browser) script

* More adjustments to smoke test script

* Corrects server path

* Uses build variable directly in build path

* Specifies browser type since cannot be ignored error

* Adds browser option

* Updates web build image and corrects smoke test exe command

* Removes commented out task

* Updates dockerfile to support web smoketests

* Removes failOnStderr flag

* Use curl instead of wget in Dockerfile
2021-09-24 11:17:51 -07:00
Leila Lali
9fe6cc493e ML extension vbump (#17143) 2021-09-24 09:15:29 -07:00
Alex Ma
44dcee32b8 [Loc] Update for arc and sql-database-projects (#17148) 2021-09-23 13:41:37 -07:00
Kim Santiago
626eecf964 mark schema compare tests as unstable (#17140) 2021-09-22 17:18:48 -07:00
Alex Ma
167b262517 bump version of sqltoolsservice (#17133) 2021-09-22 14:24:42 -07:00
Kim Santiago
4e5c99df02 Add support for adding new setting in local.settings.json in add SQL binding quickpick (#17093)
* be able to add new setting in local.settings.json

* cleanup

* addressing comments

* remove todo comment

* addressing comments

* update some strings to uris
2021-09-22 14:12:01 -07:00
Charmaine Chan
56e9feba1b Apply optional storage class settings in sql mi create command (#17129)
* Make storage classes optional

* Fix notebook to use storage class options

Co-authored-by: Charmaine Chan <chachan@microsoft.com>
2021-09-22 10:18:59 -07:00
Alex Ma
bf68ba9cc0 [Loc] update to sql migration, database projects and import extension strings (#17130) 2021-09-22 09:58:33 -07:00
brian-harris
155ea4c707 add error banner for failed migration cutover and cancel migration (#17106) 2021-09-21 23:31:36 -07:00
Daniel Grajeda
4a715e473a Add guids to RunAll and RunCell events (#17123)
Add guids to RunAll and RunCell events
2021-09-21 20:56:46 -07:00
Hai Cao
0e4c67dc0c Add AAD token expiration handling for query runner (#17117)
* Add AAD token refresh for notebook

* move token refresh to query management and remove previous refresh calls
2021-09-21 18:57:54 -07:00
Leila Lali
3ed611db66 sql proj - publish to docker improvements (#17124) 2021-09-21 16:47:06 -07:00
Monica Gupta
9bdb7f49b1 Change keybindings for copying query with Results (#17127)
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
2021-09-21 15:43:29 -07:00
bnhoule
d3e163a1d7 Adding Derived Columns to ADS Flatfile Import (#16795)
* Adding derived column boilerplate

* brandan preliminary frontend changes

* empty commit

* added new param

* updating contracts, dialogue changes

* utils changes, saving timeout attempt

* pushing for aasim

* Cleaning up code and fixing the issue in theory

* changing button, did not solve independent scroll

* Fixing the scroll bar issue

* updating flat file service

* adding override keyword to overrriden method

* improving UI

* pushing changes associated with resolved comments

* localizing strings, editing comments

* all comments resolved

* Fixing a test

* updating import package
Updating azure MFA bug

* Clearing navigation validator
Fixing broken table name change

* fixed prose test

* removing unused code from tests

* Fixed PR comments

* Fixing some PR comments

* WIP

* Fixing transformation code and create derived column dialog styling

* removing unused code

* Adding comment for console log

* fixed table styling

* Adding some aria labels

* Fixed some code cleanup issues

* update import service

Co-authored-by: Aasim Khan <aasimkhan30@gmail.com>
Co-authored-by: bnhoule <t-bhoule@microsoft.com>
2021-09-21 15:11:00 -07:00
Karl Burtram
fad2963202 Add excludeFlags to extenson marketplace query (#17121)
* Add excludeFlags to extenson marketplace query

* Remove dead code

* Remove extraneous blank line

* Address code review feedback
2021-09-21 13:52:11 -07:00
dependabot[bot]
a648877446 Bump nth-check from 2.0.0 to 2.0.1 in /build (#17115)
Bumps [nth-check](https://github.com/fb55/nth-check) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/fb55/nth-check/releases)
- [Commits](https://github.com/fb55/nth-check/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: nth-check
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-21 12:08:56 -07:00
Alex Ma
a415cc9516 Add Null Shortcut and added NULL text for default NULL value. (#17085)
* added test key event

* added null function to tryHandleKeyEvent

* added null formatting

* added working null insert.

* added editDataGridPanel string null support
2021-09-21 11:38:48 -07:00
Alex Ma
51e37d4188 [Loc] Small change to generatingProjectFailed (#17118) 2021-09-20 18:50:38 -07:00
Karl Burtram
0d0ad1a8b9 Remove commented code block in git extension (#17116)
* Remove commented code block in git extension

* Add SQL CARBON EDIT tag
2021-09-20 17:58:56 -07:00
Kim Santiago
8eafc34194 Change recompare message after changing options to modal (#17103)
* Change recompare message to modal

* change options to yes and no
2021-09-20 16:35:55 -07:00
Benjin Dubishar
5feb660234 PR follow-up comments (#17113) 2021-09-20 15:46:34 -07:00
Justin M
dec5be6915 Set kernelAlias in startSession when isValidConnection is truthy (#17102) 2021-09-20 14:01:21 -07:00
Alex Ma
4ce25a88bf added sql database projects strings (#17100) 2021-09-17 12:05:10 -07:00
csigs
ae257ca794 LEGO: check in for main to temporary branch. (#17097) 2021-09-17 11:35:10 -07:00
Benjin Dubishar
08e15bce99 Adds autorest-based SQL Project generation to SQL Database Projects extension (#17078)
* Initial changes

* checkpoint

* Constructing project with post deployment script

* Correcting to intentionally read from cached list of projects

* Adding activation event, fixing fresh workspace bug

* Convert netcoreTool and autorestHelper to share a helper class for streamed command

* Include npm package version to force update

* test checkpoint

* Unit tests

* Added contextual quickpicks for autorest dialogs

* Adding projectController test

* Added projectController test, some refactoring for testability

* Merge branch 'main' into benjin/autorest

* Fixing 'which' import

* PR feedback

* Fixing tests

* Adding additional information for when project provider tests fail

* Hopefully fixing failing tests (unable to repro locally)

* Adding Generate Project item to workspace menu

* PR feedback
2021-09-16 20:38:40 -07:00
csigs
0cf1abc7c2 LEGO: check in for main to temporary branch. (#17091)
Co-authored-by: kburtram <karlb@microsoft.com>
2021-09-16 14:34:02 -07:00
csigs
55057d49e4 LEGO: check in for main to temporary branch. (#17089) 2021-09-16 13:08:16 -07:00
Kim Santiago
cb8320ca83 Adding a few tests for Add SQL binding (#17079)
* initial changes

* add a couple more tests
2021-09-16 11:19:03 -07:00
csigs
eb9f8d2a34 LEGO: check in for main to temporary branch. (#17081) 2021-09-15 10:33:34 -07:00
Alex Ma
e4d2bf1919 [Loc] Fix for localization in constants and updated notebook and sql-database-projects (#17080) 2021-09-14 16:55:48 -07:00
csigs
0d42ad6e45 LEGO: check in for main to temporary branch. (#17073) 2021-09-14 14:18:19 -07:00
csigs
98ec2cecfe LEGO: check in for main to temporary branch. (#17072) 2021-09-14 14:18:06 -07:00
csigs
936a29ec07 LEGO: check in for main to temporary branch. (#17071) 2021-09-14 14:17:42 -07:00
csigs
1b746c1496 LEGO: check in for main to temporary branch. (#17070) 2021-09-14 14:17:16 -07:00
csigs
00543ea3bc LEGO: check in for main to temporary branch. (#17069) 2021-09-14 14:16:56 -07:00
Leila Lali
423cf8d3d5 SQL Proj - Added an option to deploy to docker to select the base image (#17067)
* Added an option to deploy to docker to select the base image
2021-09-14 13:49:57 -07:00
Aasim Khan
95e82d53e6 Adding lists support in text component (#17065)
* Adding lists support in text component

* Fixing get textType

* Code cleanup

* Combining values into value
2021-09-14 12:43:14 -07:00
csigs
32e6a24115 LEGO: check in for main to temporary branch. (#17068) 2021-09-14 11:51:41 -07:00
Barbara Valdez
ce13d01efb Book Editing: Support adding new sections to a book (#17074)
* add a new section command
2021-09-14 11:31:43 -07:00
Rachel Kim
f92e6d24d4 Add sql-migration extension to recommendation list (#17064) 2021-09-13 17:57:32 -07:00
Leila Lali
4912faa966 SQL Project - deploy to docker publish option (#17050)
SQL Project - deploy to docker publish option
2021-09-13 14:12:53 -07:00
Alex Ma
90bb9c3c55 [Loc] Added defaultDropdownErrorMessage for localization (#17060) 2021-09-13 10:41:40 -07:00
Monica Gupta
ed9e0a6575 Change few default settings for adsweb (#17029)
* device auth,notebook default settings for adsweb

* Addressed comment

Co-authored-by: hhh <gfhg>
2021-09-13 10:23:07 -07:00
Barbara Valdez
08eee69bbc only modify toc and move files if the target is a section or book (#17054) 2021-09-13 10:15:30 -07:00
Rachel Kim
ceaa3efebd Add more telemetry props to sql migration extension (#17026) 2021-09-13 10:11:42 -07:00
dependabot[bot]
a12cdedb8e Bump axios from 0.21.1 to 0.21.2 in /build/actions (#17053)
Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-13 09:19:16 -07:00
csigs
8c66e264a0 LEGO: check in for main to temporary branch. (#17055) 2021-09-13 08:30:50 -07:00
csigs
5aee377e67 LEGO: check in for main to temporary branch. (#17057) 2021-09-13 08:30:17 -07:00
goyal-anjali
869f83f5a3 Update card styling on extension dashboard (#17032) 2021-09-12 01:24:07 +05:30
Lewis Sanchez
7fd72986d0 Enables smoke tests for ADS Web. (#17014)
* Adds smoketests for ADS web.

* Refines element selector for editor suggestion list

* Revert "Refines element selector for editor suggestion list"

This reverts commit 61b34cd07ab9fa16546d7aab5bce24c73559c6b0.

* Skip tests that timeout for not finding targeted DOM element

* Missed undoing a modification

* Reinstates skipped tests

* Removes unnecssary TODO

* Disables smoke tests for darwin

* Fixed indenting to resolve azure DevOps yaml error

* Updates server path based on setup doc

* Moves smoketests after extensions are built

* Corrects indentation

* Fixes indentation with bottom half of smoketests script

* Updates sqlite URL to latest release

* Yields correct ADS sqlite release version for web and non web

* removes accidental whitespace from previous commit

* Code review changes

* Additional review change

* update distro

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2021-09-10 16:51:38 -07:00
Kim Santiago
37e88f9fcd Adding a couple telemetry points for sql bindings quickpick (#16974)
* adding a couple telemetry points for sql bindings quickpick

* addressing comments
2021-09-10 14:08:42 -07:00
Aasim Khan
2d609c9cbc Adding error message and placeholder for dropdown (#17012)
* Adding error message and placeholder for dropdown

* Fixing default error message for empty required dropdown

* Fixing a small input value updating bug

* Fixed a commend

* Fixed a comment

* PR fixes

* Using codicon

* Fixed screen reader not reading error message

* Adding support for multiple dropdowns error message

* Adding error border

* Fixing error border styling.

* Added more specific classes for styling

* Making styling more specific
2021-09-10 13:40:25 -07:00
Alex Ma
3f0f977f3e [Loc] added Add Account for sql migration strings (#17046) 2021-09-10 12:27:52 -07:00
Karl Burtram
296b71c0ff Add Out of Scope label comment (#17044)
* Add Out of Scope label comment

* Add close/reopen actions

* Remove reopen clause
2021-09-10 10:50:59 -07:00
Alex Ma
175464107c Fix for switching active queries using file explorer (#17024)
* debug messages to figure out what is calling this

* added existing connection handling.

* added timeout for isConnected

* restored connectionStatusManager

* added timeout for updating the connection state

* added existing profile check in queryInputFactory

* moved existing profile check to outer

* added to nonSync

* added mock getConnectionProfile

* added push instead of assign

* added additional tests

* removed getConnectionProfile

* added test message for getConnectionProfile

* fixed tests, need to add more

* added working tests

* moved connect to helper method

* rearranged test order and added sync

* changed wording

* small capitalization change
2021-09-10 10:23:35 -07:00
csigs
6ceb489a7d LEGO: check in for main to temporary branch. (#17042)
Co-authored-by: kburtram <karlb@microsoft.com>
2021-09-10 10:07:06 -07:00
csigs
e2232b67fc LEGO: check in for main to temporary branch. (#17041) 2021-09-10 08:43:22 -07:00
Lucy Zhang
30e26d63a4 Increase smoke test timeout and python installation timeout (#17035)
* add screenshots

* inc time

* fix comment, remove screenshot

* increase timeout only for python test

* comment
2021-09-10 06:44:35 -07:00
Aasim Khan
cbba05f54f Using updated assessment nuget to get blocking issues (#17038) 2021-09-09 22:23:02 -07:00
Charles Gagnon
8d3b57cb76 Add no-cond-assign rule (#17039) 2021-09-09 16:23:18 -07:00
Charles Gagnon
a3b886d85b Add launch target for debugging just ext host (#17040)
* Add launch target for debugging just ext host

* move
2021-09-09 15:03:21 -07:00
goyal-anjali
2a3e98b263 Add a button which would allow the user to jump directly to add account dialog from Migration Status Dialog (#17011) 2021-09-10 01:40:03 +05:30
Karl Burtram
c7cdf67b14 Properly set device code auth type (#17027) 2021-09-09 09:45:03 -07:00
goyal-anjali
2cc4129f5c Remove the gray background/gray text for pre-selected values (#17005)
* Correct spelling

* Change styling for pre-selected values
2021-09-09 15:14:28 +05:30
Alex Ma
69314cf764 [Loc] added defaultAuthenticationType strings (#17025) 2021-09-08 14:09:16 -07:00
Lucy Zhang
9389ec9101 increase python installation timeout to 5min (#17019) 2021-09-08 06:24:37 -07:00
Karl Burtram
73ee6c3844 Add default auth type configuration setting for Azure resources (#16999)
* Adding user config for default auth type

* adding feature

* removing the SqlLogin default from the model

* fixing bug, removing dead code

* removing unneeded instance of configurationService

* fixing line break

* removing extra parameter

* removing comments

* Fix test breaks

* Fix build break

* More breaks

* Address code review feedback

Co-authored-by: Troy Witthoeft <troy.witthoeft@gmail.com>
2021-09-07 19:58:32 -07:00
Hai Cao
e9c48da4b7 Simplify connection checks in RunQueryAction (#17018) 2021-09-07 16:48:23 -07:00
Alex Ma
9583fcd56a vbump for now localized extensions to enable localization (#16991) 2021-09-07 11:30:30 -07:00
csigs
b21ce86be6 LEGO: check in for main to temporary branch. (#17009)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-09-07 10:33:12 -07:00
csigs
f63c130b06 LEGO: check in for main to temporary branch. (#17007) 2021-09-07 09:50:45 -07:00
Justin M
508b49071c Added azuremonitorlogs image. Updated readme to reference image (#16984) 2021-09-07 09:29:12 -07:00
Charles Gagnon
d0941bea53 Fix extensions-lint script (#17008) 2021-09-06 17:38:41 -07:00
Aasim Khan
cc4780840c Fixing an expression typo for azure mfa in import extension (#17002)
* Fixing if expression for azure mfa in import

* updating import package number
2021-09-05 21:49:37 -07:00
stuti149
e962d63fa4 Updated Backup File Table Styling Similar to Migration Status Dailog (#16931)
* updated backup file table styling similar to migration status dailog

* alignining back up table with header

* fixing changes
2021-09-04 09:14:11 +05:30
Alex Ma
1e9cf0b9e4 tab fix for sql-migration after compile (#16996) 2021-09-03 13:23:44 -07:00
Alex Ma
260b87d934 [Loc] Update to Sql and Sql Migration (#16995)
* [Loc] update to sql-database and migration and core sql files

* restore sql-database-projects.xlf
2021-09-03 12:46:11 -07:00
Alex Ma
1142db8e3e Revert "[Loc] update to sql-database and migration and core sql files (#16993)" (#16994)
This reverts commit 11e2d49fac.
2021-09-03 12:10:46 -07:00
Alex Ma
11e2d49fac [Loc] update to sql-database and migration and core sql files (#16993) 2021-09-03 12:04:26 -07:00
Alex Ma
fe0c1307a0 Update to langpack source files for September release. (#16990)
* update to localized XLFs

* added update to langpack source files

* updated xlfs

* update to source files
2021-09-03 10:46:12 -07:00
Chris LaFreniere
d32f25425b Use updated markdown renderer from vscode (#16988) 2021-09-03 10:43:25 -07:00
Kim Santiago
037f957741 Update SQL binding prompt string to be more clear (#16982)
* update SQL binding prompt string to be more clear

* update variable name
2021-09-03 10:29:55 -07:00
goyal-anjali
9f09f7be5d Update watermark and add styling for SQL Migration Dashboard (#16916)
*Update watermark, backgroung css and add gradient
*Remove unused images
2021-09-03 22:56:16 +05:30
Alex Ma
0bc6f846e9 Update to localized XLFs (#16985)
* update to localized XLFs

* update to resources xlfs
2021-09-03 10:24:56 -07:00
Alex Ma
78dac6ce3a added localization to general in optionsDialogHelper (#16989) 2021-09-03 10:23:56 -07:00
Alex Ma
8c2cea4ea6 Added saving query (#16883)
* removed clear results and results visible.

* revert changes, still work in progress

* added small debug message

* added flag for state

* removed clear in queryResultsView

* moved carbon edit message

* simplifcation

* fixed spacing

* added clarifying message

* added clarifying comment

* added original tab clear line for future things

* added support for regular saves

* removed vscode changes

* added queryEditorTextInput to other versions

* added stuff

* reverted changes to queryTextEditorInput

* deleted duplicates

* moved untitledQueryEditorInput

* added FileQueryEditorInput constructor

* added instantiation

* added queryEditorTest

* added temporary state for save editor input

* added back in FileQueryEditorInput

* added example of both to test

* restored input.

* Added current results processing

* removed queryeditor import

* added disable dispose, WIP

* added small change to dispose

* added oldUri

* added small changes for adding renameQuery

* added first parts of renameQuery, need to add more in other parts. (Place next to disposeQuery).

* moved rename around in queryModel

* added rename to testQueryManagementServices, now need to add to queryrunner.

* added to queryRunner, need to test

* added renameQuery calls

* added renameQuery to extensions

* moved untitledQueryEditorInput to its old location

* removed duplicate untitledQueryEditorInput

* test import

* test blah

* moved fileQueryEditorInput to services

* deleted original fileQueryEditorInput

* Moved fileQueryEditorInput to new location

* added workbenchinstantiationservice

* added titledQueryEditorInput

* restored untitledQueryEditorInput.ts

* removed instantiation service

* made changes to titledQueryEditorInput

* Revert "deleted original fileQueryEditorInput"

This reverts commit dd5eb19ea1489d9c0dda159e6a798975240dab65.

* reverted back to pre move

* added altered untitledQueryEditorInput

* temporarily using old version of save until determining point where new URI is assigned.

* renamed oldUri to newUri to better reflect its actual use.

* added some debug messages for examining how uris work

* made small changes to untitledQueryEditorInput

* restored save to have actual code.

* moved renameQuery to proposed.

* added partially working save as for results (Pressing run breaks query)

* removed instantiationservice

* added newUri for dataservice

* added queryRunner.uri for queryModelService

* moved untitledQueryEditorInput to old location

* changed todomessage

* added explanation messages

* fixed spaces and added description

* moved untitledQueryEditorInput to new location

* added rename for connectionmanagementservice

* added carbon edit message

* removed carbon edit to editorservice

* removed another space

* added get and set for isSaving value

* removed accessor

* Update azdata.proposed.d.ts

added space

* fixed azdata.proposed

* added changeConnectionUriForQuery

* restored request

* replaced changeconnectionuri to changeuri

* Revert "replaced changeconnectionuri to changeuri"

This reverts commit eed8e518dee69cf2922ff86dc1763e6fb7715a71.

* made required changes

* fixed exclamation mark

* removed error on queryRunner changeconnection

* added save connect button status

* added additional state properties to save

* added wip setstate

* added changes for better naming

* added changes in preparation for vscode merge

* take screenshot of failed test before close editor (#16876)

* Add setting for enabling using new markdown renderer (#16864)

* Add setting for enabling using new markdown renderer

* Use const

* Fix circular dependency

* Default setting to false

* fix refresh node and add sample (#16888)

* Merge from vscode e3c4990c67c40213af168300d1cfeb71d680f877 (#16569)

* Bump VS Code version to latest sync point (#16891)

* Fix duplicate editor windows on reload (#16893)

* reset the icon before use (#16896)

* Undo merge icon change (#16894)

* disable cancel button after clicked once (#16783)

* disable cancel button after clicked once

* remove enabling of cancel button when cancelling

* Update sqlite version for smoke tests (#16903)

* update sqlite

* bump distro

Co-authored-by: chgagnon <chgagnon@microsoft.com>

* add autoCutoverConfiguration to getMigrationStatus (#16803)

* Enable scripting for triggers and other objects (#16885)

* WIP 1

* Add parentName to azdata

* Add some additional types for scripting

* Add parent type name to support view subobjects

* bump dependencies and address review comments

* Modify treeDataChange event (#125214) (#16907)

Modify treeDataChange event to support firing arrays.

* Move create new option for publish to top and filter out system dbs (#16908)

* Move create new option for publish to top

* Move New tag to description

* fix

* Open project to default location (#16910)

* Have create proj from database show default save location as option (#16909)

* Default create proj location to setting

* update icons

* undo

* Put search/ status/refresh in single line (#16898)

* add horizontal scroll bar to output (#16918)

* Fix extension linting warnings and enable extension linting in pipelines (#16922)

* Fix extension linting errors

* fix test

* Update public preview readme for sql migration extension (#16920)

* Add sql bindings package reference to project (#16912)

* list packages and add packages working

* cleanup and remove list packages

* cleanup

* change to pull in latest package version

* Add STS root folder override (#16927)

* Add STS root folder override

* Display message to user

* Show once for any service

* Fix some unhandled promise lint errors (#16924)

* Moved items around to handle new untitledQueryEditorInput location (#16914)

* moved items around to handle new untitledQueryEditorInput location

* added editor inputs to constants.

* added interface for untitledQueryEditorInput

* added IUntitledQueryEditorInput

* Revert "added IUntitledQueryEditorInput"

This reverts commit 67955eb289458e7ac4e7e5ce0ee077f38ed82a2c.

* Revert "added interface for untitledQueryEditorInput"

This reverts commit 88552dbd811b643fd51d5d21f4571b677d7bfc73.

* Revert "Revert "added interface for untitledQueryEditorInput""

This reverts commit 13a89c40e4cb0a3fa495f5b150c066892387e509.

* Revert "Revert "added IUntitledQueryEditorInput""

This reverts commit 8b2258ab49275a271a39036ea1734feca98ee753.

* added extends for IUntitledQueryEditorInput

* added casting in editorGroupView

* Revert "added casting in editorGroupView"

This reverts commit 61500ea43690b08ba2393808a8d118abc60da4ac.

* Revert "Moved items around to handle new untitledQueryEditorInput location (#16914)"

This reverts commit 87a663ee6b7cc3330c0528b20fb74f557451f911.

* Revert "Fix some unhandled promise lint errors (#16924)"

This reverts commit 73218a840df188f1ae26ff1c2e1aa5b85b9cfcb0.

* Revert "Add STS root folder override (#16927)"

This reverts commit 35936d464f2e452cd29659fffef20018ac6ffdd4.

* Revert "Add sql bindings package reference to project (#16912)"

This reverts commit 72d29ed7a7d298716ba159548af1f08adc82db25.

* Revert "Update public preview readme for sql migration extension (#16920)"

This reverts commit 3b3c3921557aabe86c927e6a833c0c41b48f7e23.

* Revert "Fix extension linting warnings and enable extension linting in pipelines (#16922)"

This reverts commit f5ea3e69ae5132c09eba699e8c25d1a1a66e0914.

* Revert "add horizontal scroll bar to output (#16918)"

This reverts commit 76bf86a2536edfe84b0f323571e489d69fe9fe00.

* Revert "Put search/ status/refresh in single line (#16898)"

This reverts commit d9553d09141c159e8b1cc27f6422e51b68800c7c.

* Revert "Have create proj from database show default save location as option (#16909)"

This reverts commit 88b9b7734b467a2552dfeea9c844b90361a660de.

* Revert "Open project to default location (#16910)"

This reverts commit a46170b347a28ff77f40883b055153823a86308e.

* Revert "Move create new option for publish to top and filter out system dbs (#16908)"

This reverts commit 4be47daf63771b6c3b12b786ba687dfc6ca0e3c6.

* Revert "Modify treeDataChange event (#125214) (#16907)"

This reverts commit 4161c21abcc78a9b5a65e52ae7d7f960ea71219b.

* Revert "Enable scripting for triggers and other objects (#16885)"

This reverts commit 2ece3ffb12478faf0f49df1e66bcc7acc0631500.

* Revert "add autoCutoverConfiguration to getMigrationStatus (#16803)"

This reverts commit 366633e7247d508138b45e902d7e034c79763dec.

* Revert "Update sqlite version for smoke tests (#16903)"

This reverts commit 64f66d7b18418b028cfa56b984d6f9979f65cc50.

* Revert "disable cancel button after clicked once (#16783)"

This reverts commit 12044e30746f44188d46a781f582781bf3638762.

* Revert "Undo merge icon change (#16894)"

This reverts commit 0801d14267a9980a2c29374666ad7fee14dfcafb.

* Revert "reset the icon before use (#16896)"

This reverts commit 971c39e8bc5c774fb49d81c5c36617ec45b4078c.

* Revert "Fix duplicate editor windows on reload (#16893)"

This reverts commit 4df3085b09b645a3ef2728c3ab3778fb7a63f2ba.

* Revert "Bump VS Code version to latest sync point (#16891)"

This reverts commit c1bc6639efcdf69d9b9c57cc44af3a1d19514f83.

* Revert "Merge from vscode e3c4990c67c40213af168300d1cfeb71d680f877 (#16569)"

This reverts commit c92da9c02ee221ca69813af69b039d3f3846aa42.

* Revert "fix refresh node and add sample (#16888)"

This reverts commit df820f6c03d167d933d089bfadf5296a7dcaf834.

* Revert "Add setting for enabling using new markdown renderer (#16864)"

This reverts commit e3c036dfbaa0a1e1588f348eb9eb4a7edb4f9bda.

* Revert "take screenshot of failed test before close editor (#16876)"

This reverts commit d466b19a6e56a43654c779c1dab60724b1f0c3db.

* fix spaces

* changed uri to public

* fixed formatting on azdata.proposed

* added queryprovider at the end

* changed already in connections list message.

* added notifyconnectionurichanged

* added changes to fix

* fixed testQueryModelService

* fixed leftover stuff

* more renames

* Added small changes

* added messages to untitledQueryEditorInput

* added work in progress fileQueryEditorInput save as

* fixed space

* removed changeUri

* remove saveAs from queryEditorInput

* removed undefined from createFileQueryEditorInput in untitled.

* changed saveAs for fileQueryEditorInput

* changed saveAs to use createInstance

* bumped version of STS in config.json

* bump version of dataprotocol-client

* update to yarn.lock

* more changes

* removed space for untitledQueryEditorInput

* some refactoring done

* removed already has provider check due to existing provider still existing

* added a comment

* fixed typo

* change results order around

* added already existing connection message

* restored untitledQueryEditorInput

* removed message

* added existing connection

* Revert "added existing connection"

This reverts commit 3cc34f6b1e670bb7b257e046f53560471badfd34.

* add try catch to restore older overwrite file behavior

* added types and error handling

* added error comments.

* changed message of both files

* fixed formatting for azdata.proposed.d.ts

Co-authored-by: Lucy Zhang <luczhan@microsoft.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
Co-authored-by: Alan Ren <alanren@microsoft.com>
Co-authored-by: Cory Rivera <corivera@microsoft.com>
Co-authored-by: stuti149 <87131830+stuti149@users.noreply.github.com>
Co-authored-by: Rachel Kim <rackim@microsoft.com>
Co-authored-by: Karl Burtram <karlb@microsoft.com>
Co-authored-by: Barbara Valdez <34872381+barbaravaldez@users.noreply.github.com>
Co-authored-by: Kim Santiago <31145923+kisantia@users.noreply.github.com>
2021-09-03 09:45:32 -07:00
csigs
83996093d9 LEGO: check in for main to temporary branch. (#16987) 2021-09-03 08:34:16 -07:00
Kim Santiago
a47276f708 Load settings from local.settings.json for add sql bindings quickpick (#16957)
* load settings from local.settings.json for add sql bindings quickpick

* cleanup

* addressing comments
2021-09-02 17:25:13 -07:00
Hai Cao
0bc2a50d78 Add token expiration handling for AzureMFA auth (#16936)
* refresh azure account token if it's expired before sending query/list requests

* fix several connection checks && add more logging

* fix async UI glitch during token refreshing

* cleanup

* minor fix

* add test for refreshAzureAccountTokenIfNecessary

* address comments

* comments

* comments

* comments

* error handling
2021-09-02 17:24:45 -07:00
Charles Gagnon
73c20345e9 Revert change to unit test runner grep option (#16980) 2021-09-02 16:52:09 -07:00
Aditya Bist
42a1bdc491 replace default icon with agent icon (#16976) 2021-09-02 16:06:19 -07:00
Aditya Bist
9f58e59c2f respect ignore recommendation setting for recommendation scenario as well (#16979) 2021-09-02 14:55:31 -07:00
Barbara Valdez
8161061d07 mark test as stable again (#16949) 2021-09-02 11:36:25 -07:00
Barbara Valdez
bb3ccb92a4 Edit book using drag and drop (#16906)
- Use the onDrop method for moving notebooks/sections in the Notebooks Tree View.
- Allow multi selection in tree view
- Modify notebook commands to only show when a single tree item is selected.
2021-09-02 11:07:03 -07:00
csigs
3803809223 LEGO: check in for main to temporary branch. (#16969) 2021-09-02 10:45:28 -07:00
dependabot[bot]
d9e5d1cec5 Bump tar from 6.1.6 to 6.1.9 in /extensions/notebook (#16959)
Bumps [tar](https://github.com/npm/node-tar) from 6.1.6 to 6.1.9.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v6.1.6...v6.1.9)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-02 10:35:54 -07:00
Charles Gagnon
9516472f1b Add no-floating-promises for mssql extension (#16956) 2021-09-02 09:22:25 -07:00
Charles Gagnon
f35576ae7f Enable no-floating-promises for azurecore (#16946)
* Enable no-floating-promises for azurecore

* few more

* fix compile
2021-09-02 09:20:32 -07:00
Chris LaFreniere
b27bdb0027 Add tooltip for WYSIWYG callout link (#16967) 2021-09-01 17:24:06 -07:00
Alan Ren
d8980ea711 custom home tab sample (#16965)
* add sample for custom home tab

* revert unexpected changes
2021-09-01 16:45:08 -07:00
Chris LaFreniere
502feba76d Hide suggest widget on cell execution (#16895)
* Hide suggest widget on cell execution

* Also hide for query editor

* Fix compile issue with tests
2021-09-01 16:27:08 -07:00
Charles Gagnon
f578fc55ee Remove LGTM yml (#16961) 2021-09-01 10:47:39 -07:00
Charles Gagnon
d774548951 Enable no-floating-promises for data-workspace (#16958) 2021-09-01 10:47:21 -07:00
goyal-anjali
34b5a983c0 Show image with "Add Account" message if user hasn't signed in - Migration Status Dialog (#16932) 2021-09-01 22:31:21 +05:30
Charles Gagnon
45e251c0d6 Add test (#16953) 2021-08-31 15:58:19 -07:00
Charles Gagnon
c8cc6c08e9 Add no-floating-promises rule to sql-database-projects extension (#16943)
* Add no-floating-promises rule to sql-database-projects extension

* fix test
2021-08-31 14:13:52 -07:00
Alex Ma
af135c0d71 [Loc] added server report to locProject (#16952) 2021-08-31 14:06:52 -07:00
Alex Ma
e531abfeb4 removed azdata.xlf as its no longer relevant (#16951) 2021-08-31 13:48:59 -07:00
Alex Ma
e1a9cde04f [Loc] added additional localization (#16950) 2021-08-31 13:40:01 -07:00
Daniel Grajeda
e02ae0865a Notebook Views Insert Cells Modal (#16836)
* Add html-to-image package

* Add image card type
2021-08-31 13:11:21 -07:00
Charles Gagnon
a96bf181c0 Remove LGTM (#16948) 2021-08-31 12:44:59 -07:00
dependabot[bot]
2a47e7c09e Bump tar from 6.1.6 to 6.1.11 in /extensions/admin-tool-ext-win (#16947)
Bumps [tar](https://github.com/npm/node-tar) from 6.1.6 to 6.1.11.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v6.1.6...v6.1.11)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-31 10:56:48 -07:00
Cory Rivera
0082031f97 Replace deprecated assert functions in test files. (#16945) 2021-08-31 09:04:17 -07:00
Charles Gagnon
de3ff30398 Add no-floating-promises to admin-tool-ext-win and query-history (#16944) 2021-08-30 21:16:55 -07:00
Alex Ma
a06fc0e990 [Loc] Update to English XLFs for September's Langpack (#16942) 2021-08-30 19:19:14 -07:00
Alex Ma
2a5aa1735d added localization for profiler (#16941) 2021-08-30 19:18:56 -07:00
Alex Ma
33273fe2f8 Added localization for connection option group names (#16884)
* added azuremonitor, need to work on cms

* finished CMS, need to do Kusto and MSSQL

* Added kusto, need to finish mssql

* added some strings need to finish mssql

* finished MSSQL
2021-08-30 19:18:42 -07:00
Vasu Bhog
529e4fe0de Fix ADS Web notebook cross linking (#16926)
* fix cross linking files

* use host location instead
2021-08-30 15:43:16 -07:00
Justin M
82f706cf80 Bumped version of AzureMonitor toolservice to 125. Bumped version to 0.1.5 (#16919) 2021-08-30 15:34:44 -07:00
Charles Gagnon
00da5fdcb3 Add icons for some quickpick items (#16939) 2021-08-30 15:32:20 -07:00
Lucy Zhang
05d8ad4811 escape any open wizards after each test (#16938) 2021-08-30 14:56:28 -07:00
Charles Gagnon
76e01fee60 Fix rest of notebook unhandled promises (#16933)
* Fix rest of notebook unhandled promises

* add rule

* fix some tests
2021-08-30 14:14:48 -07:00
Charles Gagnon
26e08fdf9e Add package metadata for azcli (#16937) 2021-08-30 13:21:14 -07:00
Cory Rivera
3c8d952308 Add unit tests for Book AddFile dialog (#16923) 2021-08-30 11:45:11 -07:00
Alex Ma
abd6cd701c Moved items around to handle new untitledQueryEditorInput location (#16914)
* moved items around to handle new untitledQueryEditorInput location

* added editor inputs to constants.

* added interface for untitledQueryEditorInput

* added IUntitledQueryEditorInput

* Revert "added IUntitledQueryEditorInput"

This reverts commit 67955eb289458e7ac4e7e5ce0ee077f38ed82a2c.

* Revert "added interface for untitledQueryEditorInput"

This reverts commit 88552dbd811b643fd51d5d21f4571b677d7bfc73.

* Revert "Revert "added interface for untitledQueryEditorInput""

This reverts commit 13a89c40e4cb0a3fa495f5b150c066892387e509.

* Revert "Revert "added IUntitledQueryEditorInput""

This reverts commit 8b2258ab49275a271a39036ea1734feca98ee753.

* added extends for IUntitledQueryEditorInput

* added casting in editorGroupView

* Revert "added casting in editorGroupView"

This reverts commit 61500ea43690b08ba2393808a8d118abc60da4ac.
2021-08-30 09:43:19 -07:00
Charles Gagnon
7804c87c87 Fix some unhandled promise lint errors (#16924) 2021-08-30 09:08:28 -07:00
Charles Gagnon
fde114bb14 Add STS root folder override (#16927)
* Add STS root folder override

* Display message to user

* Show once for any service
2021-08-30 09:07:33 -07:00
Kim Santiago
2c75f199e8 Add sql bindings package reference to project (#16912)
* list packages and add packages working

* cleanup and remove list packages

* cleanup

* change to pull in latest package version
2021-08-27 16:58:54 -07:00
Rachel Kim
22141259d3 Update public preview readme for sql migration extension (#16920) 2021-08-27 16:57:52 -07:00
Charles Gagnon
e7a719ceb4 Fix extension linting warnings and enable extension linting in pipelines (#16922)
* Fix extension linting errors

* fix test
2021-08-27 15:13:01 -07:00
Lucy Zhang
ea5f9091d1 add horizontal scroll bar to output (#16918) 2021-08-27 11:42:02 -07:00
stuti149
acc6fd0f96 Put search/ status/refresh in single line (#16898) 2021-08-27 13:35:37 +05:30
Charles Gagnon
a95d90ce5c Have create proj from database show default save location as option (#16909)
* Default create proj location to setting

* update icons

* undo
2021-08-26 18:59:05 -07:00
Charles Gagnon
159cd7f895 Open project to default location (#16910) 2021-08-26 18:56:28 -07:00
Charles Gagnon
6a0a185cbd Move create new option for publish to top and filter out system dbs (#16908)
* Move create new option for publish to top

* Move New tag to description

* fix
2021-08-26 15:52:08 -07:00
Barbara Valdez
3dd212c90d Modify treeDataChange event (#125214) (#16907)
Modify treeDataChange event to support firing arrays.
2021-08-26 15:11:13 -07:00
Karl Burtram
a0f3d0873b Enable scripting for triggers and other objects (#16885)
* WIP 1

* Add parentName to azdata

* Add some additional types for scripting

* Add parent type name to support view subobjects

* bump dependencies and address review comments
2021-08-26 14:43:36 -07:00
Rachel Kim
dc1e460f71 add autoCutoverConfiguration to getMigrationStatus (#16803) 2021-08-26 10:46:38 -07:00
Lucy Zhang
b799d81e72 Update sqlite version for smoke tests (#16903)
* update sqlite

* bump distro

Co-authored-by: chgagnon <chgagnon@microsoft.com>
2021-08-26 10:04:50 -07:00
stuti149
042d467fe7 disable cancel button after clicked once (#16783)
* disable cancel button after clicked once

* remove enabling of cancel button when cancelling
2021-08-26 22:13:50 +05:30
Charles Gagnon
be3b5f17cd Undo merge icon change (#16894) 2021-08-26 09:05:37 -07:00
Alan Ren
674928e889 reset the icon before use (#16896) 2021-08-26 00:14:45 -07:00
Charles Gagnon
0aede16aaa Fix duplicate editor windows on reload (#16893) 2021-08-25 20:07:58 -07:00
Charles Gagnon
f66a0f9761 Bump VS Code version to latest sync point (#16891) 2021-08-25 16:49:28 -07:00
Cory Rivera
cb7b7da0a4 Merge from vscode e3c4990c67c40213af168300d1cfeb71d680f877 (#16569) 2021-08-25 16:28:29 -07:00
Alan Ren
ab1112bfb3 fix refresh node and add sample (#16888) 2021-08-25 14:52:45 -07:00
Charles Gagnon
fe1f8fb2f3 Add setting for enabling using new markdown renderer (#16864)
* Add setting for enabling using new markdown renderer

* Use const

* Fix circular dependency

* Default setting to false
2021-08-25 12:43:32 -07:00
Lucy Zhang
78f1b3b768 take screenshot of failed test before close editor (#16876) 2021-08-25 08:19:24 -07:00
Alan Ren
712a1b3a65 allow extension to provide custom icons to data explorer tree (#16868)
* expose icon path to extension for OE node

* remove node type

* pr comments
2021-08-24 17:52:19 -07:00
Alex Ma
16975da000 [Loc] update to sql and sql-migration (#16875) 2021-08-24 14:58:07 -07:00
Charles Gagnon
14f1d9c6d2 Add another missed rederer attach (#16874) 2021-08-24 12:14:20 -07:00
Alan Ren
d281ec9d16 add default value for options (#16873) 2021-08-24 12:03:25 -07:00
Alan Ren
76c29f6dcf add attach to renderer (#16869)
* add attach to renderer

* increase timeout
2021-08-24 11:40:37 -07:00
Charles Gagnon
b14f9cc098 Fix debugger type for sp_whoIsActive (#16870) 2021-08-24 11:13:38 -07:00
Karl Burtram
1e0b0bb21a Fix link for Getting Started command (#16863)
* Fix link for Getting Started command

* Fix comment
2021-08-24 09:58:32 -07:00
goyal-anjali
c00fc80f22 Adding info tooltips across migration wizard (#16654)
Adding info tooltips across migration wizard
2021-08-24 21:49:23 +05:30
Lucy Zhang
e2f9580163 take screenshot when wizard page not loaded (#16867) 2021-08-24 07:14:51 -07:00
Alex Ma
76975b60d2 [Loc] Remove optimized table (#16871) 2021-08-23 23:53:27 -07:00
Charles Gagnon
51db55408c Disable VS Notebook configuration settings (#16865) 2021-08-23 18:24:55 -07:00
Monica Gupta
47211fa40a Fix kusto resource uri (#16862)
Co-authored-by: hhh <gfhg>
2021-08-23 15:58:27 -07:00
Charles Gagnon
2e92a903c7 Remove optimized table setting (#16857)
* Remove optimized table option

* comment out

* completely remove

* one more
2021-08-23 14:17:34 -07:00
Kim Santiago
b2be609c36 hook up add sql binding (#16838)
* hookup add sql binding

* fix typo

* addressing comments

* Addressing more comments

* add more comments
2021-08-23 13:49:05 -07:00
Lewis Sanchez
02dbac3b5f Enable Azure Data Studio's database selector to behave like SSMS' (#16681)
* Enable Azure Data Studio's database selector to behave like the one in SSMS

* Revert "Enable Azure Data Studio's database selector to behave like the one in SSMS"

This reverts commit d146eef998a3192f76df80794a31a45c8be7f786.

* Database selector auto commits selection

* Adds comment explaining change

* Auto commits selected database on blur

* Confirms db name changed before committing db selection

* Moves changed db check to selected database method

* Makes use of dbName instead of having to get value from dropdown

* Code review change
2021-08-23 11:26:33 -07:00
Alex Ma
e0285d344f update to sql-migration and sql.xlf (#16858) 2021-08-23 10:35:14 -07:00
Lucy Zhang
1aee3498bc Filter plugin: don't set columns if auto size column plugin is also on (#16833)
* don't rerender columns if autosize plugin is on

* add comments

* pr comments

* pr comments

* pr comments

* add comment
2021-08-23 08:32:30 -07:00
Daniel Grajeda
ed280cb003 Add html-to-image library (#16845)
For use by the Notebook Views insert cells modal
2021-08-20 17:18:23 -07:00
Alan Ren
1490e75302 Update connectionProvider.ts (#16849) 2021-08-20 15:45:25 -07:00
Alan Ren
49e057f7ef rename folder (#16848) 2021-08-20 15:35:00 -07:00
Kim Santiago
9e16a30ece bump sql database projects version to 0.13.0 (#16834) 2021-08-20 15:30:10 -07:00
Alan Ren
1d7accadbf sample code to implement providers (#15929)
* sample code to implement providers

* context menu

* comments

* more comments

* move comments to README
2021-08-20 14:19:50 -07:00
Charles Gagnon
ccaf111696 Add more Azure account logging (#16847)
* logging 1

* More logging

* more logging

* Handle each tenant separately.

* cleanup
2021-08-20 13:23:36 -07:00
Charles Gagnon
5b3fbaa5ff azdata.Account -> AzureAccount (#16842) 2021-08-20 10:28:33 -07:00
Charles Gagnon
d1dc226ff6 Fix error when getting subscriptions for all tenants (#16837) 2021-08-19 22:11:15 -07:00
Alex Ma
bbe77d6823 added queryRunner.uri to queryModelService (#16835) 2021-08-19 13:41:15 -07:00
Alan Ren
ac76409335 update typings file (#16832) 2021-08-19 13:33:53 -07:00
Charles Gagnon
da73265c9e Promote some proposed APIs (#16831)
* Promote some proposed APIs

* Remove buttoncell

* Fix location
2021-08-19 12:29:48 -07:00
Rachel Kim
c8602c2ced Update sql migration extension strings (#16801)
* initial capitalize; add periods; replace (s) with plural nouns to improve localization
2021-08-19 11:07:51 -07:00
Charles Gagnon
9f9e562e77 Remove Notebook grammar (#15992) 2021-08-19 10:47:14 -07:00
Alex Ma
b7fffc31a5 Added localization for title and category for dacpac (#16811)
* added localization for title and category for dacpac

* changed package.nls.json to DacFx

* update for xlf
2021-08-19 10:11:06 -07:00
Alex Ma
b81d4b16d4 [Loc] Update to azurecore and sql-migration (#16830) 2021-08-19 10:10:15 -07:00
Alan Ren
ae2fc70a60 layout the child component (#16826) 2021-08-19 09:42:27 -07:00
Charles Gagnon
39c23a0382 Clean up launch tasks (#16820) 2021-08-19 09:00:36 -07:00
chayaverma7
97c93f094e Update ADS Version after Release (#16827) 2021-08-19 08:54:17 -07:00
Aditya Bist
2aabc1ea9b fix arrow keys not working in server group dialog (#16825)
* fix arro keys not working in server group dialog

* use existing container instead of dom element

* proper fix with code cleaning
2021-08-18 17:10:59 -07:00
Rachel Kim
ad75b03565 fix create dms dialog string (#16808) 2021-08-18 16:27:24 -07:00
Alan Ren
9c45b87021 hook up validity changed event (#16824) 2021-08-18 15:45:57 -07:00
Charles Gagnon
637c01fe22 Fix typo (#16823) 2021-08-18 14:37:38 -07:00
Charles Gagnon
ea6e03f826 Fix azure account tree subscription check (#16822)
* Fix azure account tree subscription check

* comment
2021-08-18 14:35:16 -07:00
Charles Gagnon
df49d67f7d Consolidate getSubscriptions (#16821)
* Consolidate getSubscriptions

* Undo test change
2021-08-18 12:56:45 -07:00
Alan Ren
8c858f9990 make custom buttons already secondary (#16812)
* make custom buttons already secondary

* move the logic to a single place
2021-08-18 12:09:38 -07:00
Barbara Valdez
8aa0dffccf Remove circular reference from book tree item (#16579)
* Enable drag and drop and multiple selection in Book Tree View

* replace children for hasChildren to remove circular reference
2021-08-18 10:37:54 -07:00
chayaverma7
7b3aae7c88 Update CHANGELOG.md (#16818) 2021-08-18 22:02:08 +05:30
chayaverma7
cc89e79662 Update README.md (#16817) 2021-08-18 22:01:32 +05:30
Lucy Zhang
8eaccff202 remove extra step (#16806) 2021-08-18 06:17:18 -07:00
Alex Ma
cb54cc7bb9 [Loc] added changes to sql-database-projects and sql (#16810) 2021-08-17 16:46:14 -07:00
Daniel Grajeda
640c6f30f4 Notebook views UI 2 (#15865)
Provide access to the Notebook Views UI. Feature is hidden behind a feature flag.

Co-authored-by: rkselfhost <rkselfhost@outlook.com>
2021-08-17 14:15:28 -07:00
Charles Gagnon
82576e54a4 Add more marked.js tests (#16800) 2021-08-17 14:02:18 -07:00
Charles Gagnon
6b1cc85c9a Get tools service install location from extensions (#16796)
* Get STS install location from extensions

* Update error
2021-08-17 13:48:22 -07:00
Alan Ren
f2499fb01b enable task cancellation for wizard operation (#16804) 2021-08-17 13:15:50 -07:00
Alan Ren
b7b23dcecc add page custom buttons (#16797) 2021-08-17 09:32:07 -07:00
Barbara Valdez
95a08d2ce7 Mark test as unstable (#16785)
* mark test as unstable

* fix close book test
2021-08-16 21:02:26 -07:00
Alex Ma
ad96db1a0c [Loc] added new strings for azurecore and sql-migration (#16798) 2021-08-16 17:09:24 -07:00
brian-harris
c12cdffe9b Dev/brih/bugs/merge rtm hotfix changes (#16792)
* improves migration context loading error handling

* remove secrets and encode uris
2021-08-16 16:24:41 -07:00
Charles Gagnon
a92ba424ac Handle errors fetching subscriptions from subset of tenants (#16765) 2021-08-16 15:08:08 -07:00
Alan Ren
c67a66c6ff only handle connection profile (#16790) 2021-08-16 13:31:06 -07:00
Charles Gagnon
ecb5bb4ed8 Fix scan hits (#16788) 2021-08-16 12:59:18 -07:00
Charles Gagnon
455b3478c1 Fix download manually link (#16787)
* Fix download manually link

* Fix compile
2021-08-16 12:45:19 -07:00
Aasim Khan
f5f52b19c7 Adding support for AAD connections in import wizard (#16759)
* Adding support for aad connections in import extension

* Adding support for AAD by passing azure account token

* Adding a test for aad connections and fixing broken tests

* removing extra await
2021-08-16 11:57:35 -07:00
goyal-anjali
1121429f5c Localize strings (#16781)
Localize all user viewable strings
2021-08-16 23:29:40 +05:30
Lucy Zhang
6014b17d52 increase wait time for python install location (#16784) 2021-08-16 10:58:07 -07:00
Alan Ren
560a8b7c9b add required indicator (#16777) 2021-08-16 10:48:23 -07:00
Alan Ren
2e2e6e2767 remove special case (#16779) 2021-08-16 10:47:39 -07:00
csigs
ea62adbb5c LEGO: check in for main to temporary branch. (#16782) 2021-08-15 19:00:16 -07:00
Charles Gagnon
6b5c909f7f Fix connection prompt for publish database quickpick (#16767) 2021-08-14 11:57:41 -07:00
Rachel Kim
7a57e62cd6 fix sql migration bugs on showing/hiding content based on scenarios (#16778) 2021-08-13 19:35:06 -07:00
Rachel Kim
4efdb0e651 Add autoCutoverConfiguration to local storage (#16772) 2021-08-13 15:13:16 -07:00
Monica Gupta
5049bf0c7f Fix for getting auth token for Kusto resource (#16773)
* Fix for getting auth token for Kusto resource

* Addressed comment

Co-authored-by: hhh <gfhg>
2021-08-13 14:50:42 -07:00
Alex Ma
21a1db1045 updates to xlfs in sql-migration, database-projects, data-workspace (#16771) 2021-08-13 11:42:25 -07:00
csigs
941998bee6 LEGO: check in for main to temporary branch. (#16769) 2021-08-13 10:39:45 -07:00
stuti149
4ea5b62217 Added Refresh Assessment Button in Azure SQL Target Page (#16706)
* Added Refresh Assessment Button in Azure SQL Target Wizard

* UI updated

* changes done
2021-08-13 11:02:32 +05:30
Benjin Dubishar
c68acfde82 Correcting bug to intentionally read from cached list of projects (#16762)
* Correcting to intentionally read from cached list of projects

* using undefined for "workspace not checked yet" rather than empty array
2021-08-12 17:03:06 -07:00
Aditya Bist
8ae04c456d re enable keytar test to check Ad Hoc build (#16758) 2021-08-12 14:48:10 -07:00
Lucy Zhang
627ffff506 Refactor auto size columns plugin (#16709)
* refactor auto size columns plugin

* clean up

* pr comments

* pr comments
2021-08-12 13:55:19 -07:00
Leila Lali
32a71a2de6 SQL Database Project - Deploy db to docker (#16406)
Added a new command to deploy the project to docker
2021-08-12 13:24:16 -07:00
Justin M
57e11c7b5c Bumped AzureMonitor version to 0.1.4 (#16756) 2021-08-12 13:16:05 -07:00
Justin M
d64a5ffe06 AzureMonitor syntax highlighting and themes (#16752)
* Added grammars, themes, and output channels to package.json Added themes folder and files

* Changed theme name to distinguish between themes
2021-08-12 13:13:36 -07:00
Charles Gagnon
041bd560c0 Fix modelview container removal issue (#16753) 2021-08-12 13:12:31 -07:00
Alex Ma
0f0b0c2372 [Loc] Added all fields required message for sql-migration (#16754) 2021-08-12 13:07:39 -07:00
Rachel Kim
248025b6b7 Database backup page improvements (#16690) 2021-08-12 12:49:29 -07:00
Aditya Bist
2f8e2f3132 Synapse query editor dropdown fix (#16684)
* formatting

* update comment

* format doc

* fix connection test

* remove unused imports

* test server info mock

* try with mocks

* add server info check for tests

* added logic for corner case
2021-08-12 12:28:55 -07:00
Rachel Kim
8bd7125392 Add required indicator across SQL Migration extension (#16057) 2021-08-12 11:20:06 -07:00
Charles Gagnon
0f3be7dabc Fix title icons (#16750) 2021-08-12 10:59:54 -07:00
Charles Gagnon
78f48b69a4 Add new extensions location var (#16747) 2021-08-12 10:16:54 -07:00
Aasim Khan
74938d563d Adding context menu item on server level for import wizard (#16700)
* Adding context menu item on server level for import wizard

* Changing to regex instead of using duplicate oe commands
2021-08-12 09:07:02 -07:00
Charles Gagnon
1015b2f960 Fix schema compare diff editor not showing (#16733)
* Fix schema compare diff editor not showing

* remove unneeded

* remove more unused
2021-08-11 23:15:08 -07:00
Alan Ren
491297be82 update modal.ts (#16736) 2021-08-11 23:11:33 -07:00
Karl Burtram
1e761bc159 Use preview welcome page if enabled (#16734)
* Use preview welcome page if enabled

* Fix typo in comment
2021-08-11 18:01:36 -07:00
Aasim Khan
8be0f742bc Listing filtered locations for migration service public preview. (#16731)
* Filtering regions for public preview

* rename var

* reverting back to const
2021-08-11 17:48:44 -07:00
Justin M
ac795ac457 Bumped AzureMonitor version to 0.1.3 (#16732) 2021-08-11 17:47:10 -07:00
Justin M
42f3b7d3ba Changed NotebookKernelAlias to LogAnalytics for AzureMonitor extension (#16730) 2021-08-11 16:15:01 -07:00
brian-harris
71e2d1a2bc Dev/brih/bugs/update readme public preview (#16729)
* initial readme udpates

* update wording, bump version
2021-08-11 15:05:08 -07:00
Charles Gagnon
33e46861e9 Remove Azdata CLI Ext from recommend extensions (#16727) 2021-08-11 14:55:50 -07:00
Daniel Grajeda
10ee4f2d7c Notebook Views Actions fix for ADS Web (#16707) 2021-08-11 13:19:02 -07:00
Charles Gagnon
9b2836c9e7 Update admin-tool-ext-win version (#16723) 2021-08-11 12:53:47 -07:00
Sakshi Sharma
4250556023 Fix incorrect .NET error (#16694)
* Fix .NET Install state for error conditions

* Address comment- remove redundant constructor
2021-08-11 11:29:48 -07:00
brian-harris
a4b1e8af96 filter assessment results by MigationTargetType (#16701) 2021-08-11 10:55:28 -07:00
brian-harris
f6b10fec0b improve migration context loading (#16696) 2021-08-11 10:55:01 -07:00
dependabot[bot]
59c550f28e Bump tar from 2.2.1 to 2.2.2 (#16551)
Bumps [tar](https://github.com/npm/node-tar) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v2.2.1...v2.2.2)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-11 10:46:00 -07:00
Charles Gagnon
f570c64ce0 Remove azdata extension (#16667)
* Remove azdata extension

* skip failing tests

* unskip tests

* Remove duplicate tests

* skip tests
2021-08-11 09:48:06 -07:00
dependabot[bot]
9494cbc595 Bump path-parse from 1.0.6 to 1.0.7 in /extensions/agent (#16669)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-11 09:25:00 -07:00
dependabot[bot]
fe313d1bd4 Bump path-parse from 1.0.6 to 1.0.7 in /extensions/admin-tool-ext-win (#16671)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-11 09:24:39 -07:00
dependabot[bot]
8bb43af96f Bump path-parse from 1.0.6 to 1.0.7 in /extensions/arc (#16670)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-11 09:24:29 -07:00
dependabot[bot]
53ed32f63c Bump path-parse from 1.0.6 to 1.0.7 (#16672)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-11 09:24:20 -07:00
dependabot[bot]
3aed4081cc Bump path-parse from 1.0.6 to 1.0.7 in /test/smoke (#16698)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-11 09:24:10 -07:00
dependabot[bot]
9850682172 Bump path-parse from 1.0.6 to 1.0.7 in /samples/sqlservices (#16699)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-11 09:23:40 -07:00
Benjin Dubishar
d0bcba4cc0 Corrects workspace project tree refresh behavior for adding new projects to the workspace (#16650)
* bugfix and updates

* PR feedback

* Deferred promise for project disk scan

* fix casing

* fixing race condition on extension activation, test failure
2021-08-11 09:11:00 -07:00
Alex Ma
998c838d8f [Loc] Update for English XLFs 8-10-2021 (#16705) 2021-08-10 23:03:02 -07:00
csigs
0a9ddf6a5c LEGO: check in for main to temporary branch. (#16697) 2021-08-10 22:41:12 -07:00
Charles Gagnon
c891584fec Update ADS strings for sql-database-projects (#16683)
* Update ADS strings for sql-database-projects

* fix
2021-08-10 22:21:46 -07:00
Charles Gagnon
549b2de309 Revert some of the urlProtocol changes (#16695) 2021-08-10 21:31:47 -07:00
Hai Cao
47bb34fb56 Bump distro to bring in webview fix (#16688) 2021-08-10 18:04:27 -07:00
Justin M
442ef98835 Bumped SqlToolService version to 122. Bumped AzureMonitorLogs version to 0.1.2 (#16686) 2021-08-10 17:31:02 -07:00
Charles Gagnon
47c8b22bb4 Add more connection logging (#16682)
* Add more connection logging

* remove return
2021-08-10 17:16:38 -07:00
Candice Ye
faffdb0a9a Added in auto-install prompt for Azure CLI and arcdata extension, "Don't Ask Again" logic, removed waiting on azcli extension activate (#16646)
* Added back Don't Ask Again logic

* If no Azure CLI found, throw error instead of returning undefined.

* Deleted 'restart ADS' text for arcdata extension prompts

* Added error catch for parse version and parsed out the * in az --version

* Added back findAz()

* Added arcdata version to AzTool. Parse --version using regex.

* Return undefined if no az found.

* Added userRequested param for findAz

* No longer await on extension activate. Re-added some functions for az install.

* Install works for windows

* Changed auto install for az on Linux and MacOS.

* Added comment for findSpecificAzAndArc and uncommented some localizedConstants

* Added comment for getSemVersionArc and took out the path for some tests.

* Made findSpecificAzAndArc return an object instead of a list

* Removed azToolService test

* Removed azToolService tests and renamed suite to azcli Extension Tests

* Got rid of new Regexp for regex in parseVersions

* Added back azToolService.ts

* Added logic to enable prompt user to install arcdata extension and auto-install capability. No update capability yet.

Co-authored-by: Candice Ye <canye@microsoft.com>
2021-08-10 15:39:31 -07:00
Candice Ye
dfc91cc0ff Remove controller endpoint from Data Controller dashboard. (#16647)
Co-authored-by: Candice Ye <canye@microsoft.com>
2021-08-10 15:38:39 -07:00
Sakshi Sharma
e0143e0752 Update pop-up to be an error message instead of informational message (#16660)
* Update pop-up to be an error message

* Update message text

* Address comment

* Address comment
2021-08-10 15:24:09 -07:00
Barbara Valdez
b99be156ad set book as untrusted before running test (#16677) 2021-08-10 15:16:02 -07:00
Charles Gagnon
9aa96454c9 Don't show properties menu item for some items on Azure DBs (#16674)
* Don't show properties menu item for some items on Azure DBs

* bump version
2021-08-10 15:04:20 -07:00
Aditya Bist
6122f96607 fix tasks (#16668) 2021-08-10 13:46:13 -07:00
Karl Burtram
309e558727 Diasable keytar test blocking build (#16662)
* Diasable keytar test blocking build

* Format document
2021-08-10 13:13:36 -07:00
Aasim Khan
4bc75ef6d6 Updating mssql to get azure dashboard fixes: (#16658)
1. making cpucount and phy mem props optional in ServerInfo
2. Moving the 2 props to azdata.proposed
2021-08-10 13:06:36 -07:00
Charles Gagnon
71a7b388f4 Fix clickable announce for slickgrid tables (#16664) 2021-08-10 11:51:45 -07:00
nasc17
7c9eaeea3c PostgreSQL extension Accessibility issues (#16620)
* 1276734

* Set role to list

* Pr changes

* Set width to be  a constant

* Remove minwidth

* Update button plugin

* Fix operators

* Pr
2021-08-10 09:22:00 -07:00
stuti149
a032426ac0 Database Migration Details: Empty table should have a status saying 'no backup files' (#16618)
* empty table shows no backup file image

* string displayed modified and empty table text will only be displayed after checking function _shouldDisplayBackupFileTable

* format fix

* format changes

* format fix
2021-08-10 12:31:16 +05:30
csigs
a5a9250ae1 LEGO: check in for main to temporary branch. (#16652) 2021-08-09 23:30:17 -07:00
Alex Ma
31f0549b5d [Loc] small update to sql-database-projects (#16651) 2021-08-09 19:08:01 -07:00
Charles Gagnon
4faca04c8f Update urlProtocol (#16631)
* Update urlProtocol

* distro

* distro
2021-08-09 16:37:24 -07:00
Hai Cao
2a096a48c1 Use local webview endpoint for web mode (#16570) 2021-08-09 15:53:37 -07:00
Leila Lali
647d1f1167 Fixed a bug with loading model list (#16640) 2021-08-09 14:26:40 -07:00
Alex Ma
005c0aad7b update to langpack source files 8/9/2021 (#16635) 2021-08-09 14:19:43 -07:00
Charles Gagnon
b2ff8162e6 Add DB Reference quickpick dialog (#16601)
* Add DB Reference quickpick dialog

* pr comments & cleanup
2021-08-09 12:46:53 -07:00
Alex Ma
c22589574c Massive update to localized XLFs (#16634) 2021-08-09 12:44:12 -07:00
Aasim Khan
1a8a382016 updating sts to get migration service fixes (#16627) 2021-08-09 11:18:17 -07:00
Alex Ma
4a4888891b [Loc] added continue message to sql-migration (#16625) 2021-08-09 09:53:52 -07:00
stuti149
0b2d353cd2 Validation in database selection wizard page added (#16561) 2021-08-09 21:39:09 +05:30
csigs
2dd4232a40 LEGO: check in for main to temporary branch. (#16616) 2021-08-07 16:38:22 -07:00
Aasim Khan
dc0ccba767 Changing to resource group level api to fetch dms (#16614) 2021-08-06 23:58:57 -07:00
brian-harris
a4bccb6e6c cutover cancel migration command state management (#16613) 2021-08-06 23:28:43 -07:00
Aasim Khan
f1b9931116 Fixed assessment error handling (#16610)
Displaying striped files in sts
2021-08-06 23:01:56 -07:00
Alex Ma
0f229b3444 [Loc] update to sqldatabaseprojects (#16612) 2021-08-06 21:03:19 -07:00
csigs
1a97516cb6 LEGO: check in for main to temporary branch. (#16611) 2021-08-06 20:53:59 -07:00
Sakshi Sharma
9ee941eb12 Error out for unsupported dotnet versions for sql db projects (#16428)
* Merge conflict resolution

* Throw error for unsupported versions of Dotnet

* Fix for darwin

* Fix for all platforms

* Address comments

* Fix extensionsGaller.json

* Address comments

* Update default installation path for linux

* Fix test

* Revert default installation location change for Linux

* Address comments

* Removed extra try-catch block
2021-08-06 18:41:34 -07:00
Alex Ma
512c2d3ddc [Loc] update sql-migration with latest strings (#16606) 2021-08-06 16:12:16 -07:00
Alan Ren
57f5e04590 fix accessibility issue (#16603) 2021-08-06 16:04:14 -07:00
Rachel Kim
fddfb72e10 Update Sql Migration extension strings (#16588) 2021-08-06 14:44:26 -07:00
Justin M
90ac21ccfb Bumped ToolsService version from 110 to 119. (#16587) 2021-08-06 14:18:23 -07:00
lewis-sanchez
310d651df8 Fix query database drop-down rendering location after resize (#16567)
* Fix query database drop-down rendering location after resize

* Revert "Fix query database drop-down rendering location after resize"

This reverts commit 62481a93e696d4fa79ce40ecef3a2567a65dd20c.

* Fixes drop down list rendering issues by closing the list on window
resize

* comment providing the explanation for new listener and checks if list is visible before hiding
2021-08-06 12:51:10 -07:00
Aasim Khan
63c461dca8 Fixed: (#16594)
Summary label
DMS creation retry times
DMS dropdown resetting
2021-08-06 12:12:53 -07:00
Alex Ma
6c40f52f35 update to langpack strings for code complete (#16597) 2021-08-06 11:44:09 -07:00
brian-harris
013ce71166 fix assessment db selection (#16591) 2021-08-06 11:27:24 -07:00
Alex Ma
3a4caa64d2 [Loc] update to localized xlf resources prior to code complete check in (#16595) 2021-08-06 11:17:04 -07:00
csigs
aeabb325f6 LEGO: check in for main to temporary branch. (#16593) 2021-08-06 09:31:37 -07:00
Charles Gagnon
b8da94f9ef Add Create Proj from DB to VS Code context menus (#16584)
* Add Create Proj from DB to VS Code context menus

* Fix error

* add comment

* use constant
2021-08-06 08:59:35 -07:00
csigs
e6f356accc LEGO: check in for main to temporary branch. (#16589) 2021-08-06 02:24:05 -07:00
Rachel Kim
991b9af198 Add tooltip to input box on disabled dropdowns (#16468) 2021-08-05 18:02:00 -07:00
Charles Gagnon
09a4dfa5b0 Fix pipeline when no tests are ran (#16586) 2021-08-05 16:19:46 -07:00
csigs
8ed463b4d7 LEGO: check in for main to temporary branch. (#16585) 2021-08-05 15:10:21 -07:00
Alex Ma
3b0cf9db50 [Loc] Update for sql-database-projects, sql-migration, and sql (#16583) 2021-08-05 13:58:53 -07:00
Lucy Zhang
9f761c44c4 Add incremental grid loading option to notebooks (#16577)
* render grids incrementally

* add loading spinner

* fix loading animation

* move rendergrids to notebook editor component

* add setting for incremental grid loading

* check configuration

* just use setTimeout to queue grids

* remove extra line

* add setter/getter for isloading

* add comment
2021-08-05 13:44:26 -07:00
brian-harris
c6308b77df Fix bugbash SQL-Migration extension migration load issues (#16575)
* fix migration refresh issues

* merge latest
2021-08-05 13:24:02 -07:00
Kim Santiago
33baaa475d Insert sql binding into Azure function quick pick (#16553)
* initial quick pick

* move constants

* remove commented code for now

* addressing comments

* update name

* update name in other places

* remove azure functions from name and rename file
2021-08-05 12:11:30 -07:00
Alex Ma
35983659b1 [Loc] Another update for sql-database-projects xlf (#16581) 2021-08-05 11:17:40 -07:00
Charles Gagnon
2b103a79c3 Add Create Project from Database quickpick (#16572)
* Add Create Project from Database quickpick

* fix test

* pr comments

* Add comment
2021-08-05 10:34:49 -07:00
Alex Ma
99b5c5ce8c [Loc] Update for sql-migration and azurecore (#16574) 2021-08-04 18:32:49 -07:00
Karl Burtram
84d85ba43e Bump tar in notebook extension (#16573)
* Bump tar in notebook extension

* Bump to latest tar
2021-08-04 17:00:24 -07:00
Justin M
7b709b37cd Changed AzureMonitorLogs extension icon for gallery (#16566) 2021-08-04 16:55:18 -07:00
Aasim Khan
3d7edd2d6a Revamping cutover page based on new mockups (#16547)
* WIP

* Fixing some table issues

* updating package.json

* Fixing readable time

* fixing display string

* Handling null case in get12hourtime util method
2021-08-04 16:21:01 -07:00
csigs
cf97ced7f1 LEGO: check in for main to temporary branch. (#16571) 2021-08-04 15:20:24 -07:00
Charles Gagnon
0060b0e27b Update service-downloader (#16565) 2021-08-04 14:29:54 -07:00
Christopher Suh
47b249a7b1 keytar ci build fix (#16555) 2021-08-04 11:52:45 -07:00
Justin M
c4ef48dcd8 Changed README.md and changed name of azuremonitorlogs container label. (#16530) 2021-08-04 10:54:58 -07:00
Alex Ma
366fe7c162 [Loc] added in changes to sql.xlf (#16564) 2021-08-04 09:57:09 -07:00
Charles Gagnon
d189805bcc Add marked.js parse differences tests (#16554)
* Add marked.js parse differences tests

* cleanup
2021-08-04 09:07:24 -07:00
csigs
aef4474a08 LEGO: check in for main to temporary branch. (#16563) 2021-08-04 08:44:18 -07:00
csigs
5e34982fd9 LEGO: check in for main to temporary branch. (#16559) 2021-08-04 08:43:42 -07:00
goyal-anjali
43158a60e3 Add error details to error banner in migration cutover dialog (#16494)
* Add error details to error banner in migration cutover dialog

* Adding method functionality to copy migration details
2021-08-04 15:53:37 +05:30
lewis-sanchez
e3d672cea1 Add a new developer to the list of developers for onboarding purposes (#16400) 2021-08-03 23:31:25 -07:00
Daniel Grajeda
0567141bc4 Notebook Views Actions (#16207)
This adds the actions currently needed by the views
2021-08-03 22:52:27 -07:00
goyal-anjali
6985d95300 Fixed 'UI hanging on clearing dropdown error' for database backup page (#16541)
This PR fixes
ADS UI - Clear resource group drop down box and click Next on the Database Backup Wizard - Cannot read property 'displayName' ERROR
2021-08-04 10:42:08 +05:30
Daniel Grajeda
e2dd257fa9 Add Notebook Views dropdown (#16228)
This adds the entry point to NVs. It is currently hidden behind a feature flag, which can be enabled in the settings.
2021-08-03 21:15:11 -07:00
Charles Gagnon
da7585eb44 Update arc required engine version (#16546)
* Update arc required engine version

* Update CODEOWNERS
2021-08-03 16:38:47 -07:00
csigs
2f8d00af56 LEGO: check in for main to temporary branch. (#16552) 2021-08-03 15:04:44 -07:00
Alex Ma
7cdb21cca5 [Loc] update to sql-database-projects strings (#16543) 2021-08-03 10:18:19 -07:00
Alexander Ivanov
b35e78a07f Automatically add intermediate folders for SQL project items. (#16332)
* Automatically add intermediate folders for SQL project items.

While using the SQL database projects through the API, I noticed that project may end up in somewhat inconsistent state, where files will be added to the project, but their parent folders will not. This in turn resulted in failure to remove these folders from project - they will show up in the UI tree, but deleting them will cause an error. In order to align with how Visual Studio manages the projects, this change will ensure that all intermediate folders are present in the project, when new files or folders are added.

While this change improves project "correctness" when accessing it through SQL projects extension APIs, there is still a possibility that someone will open an "incorrect" previously created project. This change does not address it and folder removal may still fail.

* Update the code to never throw on duplicate items when adding files and folders to project.

After a conversation with the sqlproj owners, we agreed that there are no scenarios that would prompt us to throw an error, if duplicate item is being added to the project. Ultimately, the goal of such a request would be to have an item in the project file, which is already present, therefore the call becomes a no-op.

This allowed me to simplify the new code that was ensuring all intermediate folders are present in the project when adding files and folders.
2021-08-03 09:49:11 -07:00
csigs
052cb54199 LEGO: check in for main to temporary branch. (#16540) 2021-08-03 09:39:31 -07:00
csigs
42b1a10fec LEGO: check in for main to temporary branch. (#16536) 2021-08-03 09:39:02 -07:00
csigs
d28d77dbfc LEGO: check in for main to temporary branch. (#16534) 2021-08-03 09:38:38 -07:00
Brian Bergeron
aadf2ae081 pass wizard args to az cli (#16532)
Co-authored-by: Brian Bergeron <brberger@microsoft.com>
2021-08-03 09:06:16 -07:00
Alex Ma
760cf01022 [Loc] another update to resource-deployment and sql-migration (#16531) 2021-08-02 17:41:26 -07:00
csigs
97978cbe81 LEGO: check in for main to temporary branch. (#16529) 2021-08-02 16:26:51 -07:00
Aasim Khan
466193adbe Fixing the redacted migration service id by encoding it to base64 (#16528) 2021-08-02 16:26:09 -07:00
rajeshka
56ad631478 Fixed UI regression (#16526)
* Add CodeQL Analysis workflow (#10195)

* Add CodeQL Analysis workflow

* Fix path

* Fixed UI regression in main

* removed the file which should not been included

* Addressed PR comments

* Addressed PR

Co-authored-by: Justin Hutchings <jhutchings1@users.noreply.github.com>
2021-08-02 15:21:05 -07:00
brian-harris
919cc732b7 add new support request buttons (#16045)
* add new support request buttons

* hide feedback and new support incedent commands from command palette
2021-08-02 13:29:27 -07:00
Charles Gagnon
244e27c2de Remove infrastructure from resource-deployment (#16520) 2021-08-02 13:14:33 -07:00
Alex Ma
0a181a1ba8 [Loc] bumped version for langpacks (#16527) 2021-08-02 12:21:27 -07:00
Alex Ma
045dc3e558 update to langpacks8-2-2021 (#16525) 2021-08-02 11:15:58 -07:00
Barbara Valdez
30393a1f1b Integrate drag and drop api (#16500)
* Initial implementation of drag and drop api (#122239)

* Add drag and drop controller (#123542)

* Tree data transfer dnd (#128666)

* add drop method to sql files

Co-authored-by: Alex Ross <alros@microsoft.com>
2021-08-02 10:43:52 -07:00
Alan Ren
748bb53173 handle the keyboard event properly in hyperlink (#16508)
* handle the keyboard event properly in hyperlink

* fix a couple more issues
2021-08-02 10:39:36 -07:00
Alex Ma
373a519f25 Update for Language XLFs for August Release (#16522) 2021-08-02 10:38:54 -07:00
Charles Gagnon
3af2b4a13d azdataToolOld -> azdataTool (#16517) 2021-08-02 10:28:46 -07:00
Alex Ma
91676afd0d small update to arc and resource-deployment (#16521) 2021-08-02 10:02:28 -07:00
Candice Ye
914fe8fc29 Replacing all azdata with az (#16502)
* Changed azdata to az in azcli extension and resource-deployment, and some arc. Removed user, pass, url from controller connect blade. Commented out tests. Ported over work from old branch.

* Changed unit tests, all unit tests passing. Changed parameters to new ones, fixed some Controller Connect issues.

* Connect data controller and create dc working.

* Changed az back to azdata in necessary places in resource-deployment.

* Changed notebook values and added namespace to some params.

* Added some changes from PR to this branch

* Changed azdata.ts to az.ts and changed subscription parameter

* Brought over changes from azcli PR into this branch.

* added endpoint, username, password to getIsPassword

* Changed notebooks to use proper az params, hard coded in some values to verify it is working, removed some variableNames from package.json.

* Changed -sc to --storage-class in notebook

* Added namespace to SQL deploy, deleted dc create in api

* Deleted more dc create code and uncommented findAz() with unfinished work on Do Not Ask Again.

* Removed (preview) from extensions/arc and extensions/azcli excluding preview:true in package.json

* Commented out install/update prompts until DoNotAskAgain is implemented

* Fixed bugs: JSON Output errors are now being caught, --infrastructure now has a required UI component with dropdown options, config page loads properly, SQL create flags use full names instead of shortnames.

* Adds validation to pg extensions and bug fixes (#16486)

* Extensions

* Server parameters

* Change locaiton of postgres extensions, pr fixes

* Change location of list

* List spacing

* Commented out Don't Ask Again prompt implementation.

* Uncommented header of a test file.

* Added Azure CLI arcdata extension to Prerequisites

* Reverted package.json and yarn.lock

* Took away casting of stderr and stdout in executeCommand.

* Deleted override function for initializeFields in connectControllerDialog.ts

* Removed fakeAzApi for testing and added back in (Preview)

* Removed en-us from python notebook links.

* Deleted azdata tool from tool tests in resource-deployment

* Deleted another instance of azdata in tool test

* Add back in azdata tooltype

* Remove en-us

* Replaced AzdataTool in typings

* Reverting adding azdata tool back in

* Changed Azdata to AzdataToolOld

* Added back azdata tool type

* Added AzdataToolOld to tool types

* fix test

Co-authored-by: Candice Ye <canye@microsoft.com>
Co-authored-by: nasc17 <nasc@microsoft.com>
Co-authored-by: nasc17 <69922333+nasc17@users.noreply.github.com>
Co-authored-by: chgagnon <chgagnon@microsoft.com>
2021-08-01 15:12:24 -07:00
Alex Ma
65cc61fdbd update for xlfs 8/1/2021 (#16514) 2021-08-01 11:05:21 -07:00
Charles Gagnon
83af84774a Sql Proj VS Code fixes (#16506)
* Sql Proj VS Code fixes

* remove comment
2021-08-01 00:24:28 -07:00
Rachel Kim
b3e9428898 Enable offline migration mode on sql migration extension (#16459) 2021-07-30 23:15:09 -07:00
Charles Gagnon
2427cbe3c6 Remove unused commands from vs code sql proj (#16507) 2021-07-30 19:23:40 -07:00
Vasu Bhog
179678b495 Refactor Notebook Link Handling (#16473)
* add keep absolute paths instead convert setting

* update tests/config

* refactor links in NotebookLinkHandler
2021-07-30 19:20:38 -07:00
Charles Gagnon
a7c1bcaf93 Fix azdata API check when webpacked (#16505) 2021-07-30 16:06:50 -07:00
Charles Gagnon
3362462142 Add alert for description when modal message is shown (#16483)
* Add alert for description when modal message is shown

* Fix hygiene
2021-07-30 15:02:20 -07:00
brian-harris
87cc568493 update extension package to v 0.1.5 (#16504) 2021-07-30 14:40:03 -07:00
nasc17
8a67f87090 Enable information tip buttons so they can be focused on (#16496)
* Enable buttons so they can be focused

* Test

* Add text description

* Add description to parameters info
2021-07-30 14:28:39 -07:00
Charles Gagnon
47151435e7 Fix expanded state announce for dialog headers (#16499)
* Fix expanded state announce for dialog headers

* update comment
2021-07-30 12:39:38 -07:00
goyal-anjali
30dffdf696 Name added for more info link - accessibility (#16397) 2021-07-31 00:14:53 +05:30
Charles Gagnon
68a22421f7 Fix some ModelView API definitions (#16497)
* Remove duplicate title property

* More fixes

* Removed a few unnecessary extends
2021-07-30 11:44:45 -07:00
csigs
d6fd64c5eb LEGO: check in for main to temporary branch. (#16493) 2021-07-30 11:38:55 -07:00
Charles Gagnon
245ae5b9ee Fix listview component accessibility (#16492)
* Add aria label to list component

* Fix accessibility for listview component
2021-07-30 10:44:53 -07:00
Vasu Bhog
788c84a1ee fix email else condition (#16491) 2021-07-29 18:37:06 -07:00
csigs
aafe0876bb LEGO: check in for main to temporary branch. (#16487) 2021-07-29 18:10:33 -07:00
brian-harris
e3c7e06983 SQL-Migration extension - fix refresh reentrancy hang (#16482)
* Fix application hang on refresh

* fix re-entrancy issue with refresh

* adding additional refresh checking
2021-07-29 16:44:56 -07:00
Alex Ma
251d250523 added change to sql-migration (#16484) 2021-07-29 13:10:06 -07:00
csigs
f4d0bdc784 LEGO: check in for main to temporary branch. (#16481) 2021-07-29 11:28:19 -07:00
Aasim Khan
0bbbb91adf Trying to fix the scrollbar bug (#16477) 2021-07-29 10:19:28 -07:00
Aasim Khan
39f65b1881 Adding wizard step telemetry for sql migration wizard (#16469)
* Adding wizard step telemetry for sql migration wizard

* Refactoring event name

* refactoring function name
2021-07-29 10:14:45 -07:00
Aasim Khan
0e9d956ee5 Adding support for multi cloud in azure rest api calls (#16454) 2021-07-29 10:14:15 -07:00
Aasim Khan
01671b118d Adding aria label to all the migration tables (#16476) 2021-07-29 09:20:58 -07:00
chayaverma7
ef3d2e7d99 Updating Change log.md for Hotfix v1.31.1 (#16480)
* Updating Change log.md for Hotfix v1.31.1

* Update CHANGELOG.md

* Update CHANGELOG.md
2021-07-29 21:21:19 +05:30
Charles Gagnon
1b073c6748 Package VS Code extensions (#16465)
* Package VS Code extensions

* fixes

* Add back in path

* remove extra indents

* Remove extra parens

* try fix
2021-07-29 08:33:46 -07:00
csigs
daa897936b LEGO: check in for main to temporary branch. (#16474) 2021-07-29 00:29:16 -07:00
csigs
eaf9757565 LEGO: check in for main to temporary branch. (#16471) 2021-07-28 15:38:07 -07:00
Aasim Khan
d1d858090c Fixing the resource name passed to create sql migration api (#16470) 2021-07-28 15:36:06 -07:00
brian-harris
c178b6327a add warnings labels for blocking assessment issues (#16460)
* Add CodeQL Analysis workflow (#10195)

* Add CodeQL Analysis workflow

* Fix path

* add assessment warnings info

* add migration assessment blocking issue warnings

* update grid column widths

* remove unexpected change

* adding learn more link

Co-authored-by: Justin Hutchings <jhutchings1@users.noreply.github.com>
2021-07-28 12:51:20 -07:00
nasc17
c32c09e1a7 Postgres Compute and Storage page accessibility fixes. (#16203)
* focus, required, aria

* Fix logic for focusing buttons

* Remove buttons focus
2021-07-28 12:28:40 -07:00
Charles Gagnon
25e237fa35 Update CODEOWNERS (#16464)
* Update CODEOWNERS

* newline
2021-07-28 11:37:48 -07:00
Charles Gagnon
118d03c151 Disable az cli prompt (#16466) 2021-07-28 09:18:38 -07:00
Charles Gagnon
27c86e3c45 Fix connect dialog color contrast (#16453) 2021-07-28 08:52:49 -07:00
Alex Ma
07ad50670e update to sql-database-projects (#16461) 2021-07-27 21:48:24 -07:00
csigs
8afd420971 LEGO: check in for main to temporary branch. (#16458) 2021-07-27 20:52:23 -07:00
csigs
5ff102d531 LEGO: check in for main to temporary branch. (#16450)
Co-authored-by: Karl Burtram <karlb@microsoft.com>
2021-07-27 20:51:53 -07:00
Cory Rivera
63a65f5821 Remove quotes from inserted markdown links (#16457) 2021-07-27 16:40:20 -07:00
Charles Gagnon
2d8e0d648a Fix SQL/Notebook editors opening as plaintext (#16442)
* Register overrides at startup

* Always wait for extensions

* Fix compile errors
2021-07-27 13:46:16 -07:00
Aasim Khan
7a35d4aeeb Adding support for sending request headers in azure core rest request API (#16443)
* Adding support for sending additional headers in azure http requests

* Added session ids in all azure rest calls

* Fixed param name

* Adding default parameter value for request headers
2021-07-27 12:36:50 -07:00
Candice Ye
35207a1e04 Added azcli extension only (#16415)
* Changed azdata to az in azcli extension and resource-deployment, and some arc. Removed user, pass, url from controller connect blade. Commented out tests. Ported over work from old branch.

* Changed unit tests, all unit tests passing. Changed parameters to new ones, fixed some Controller Connect issues.

* Connect data controller and create dc working.

* Changed az back to azdata in necessary places in resource-deployment.

* Changed notebook values and added namespace to some params.

* Reverted all changes that are not in azcli. Also deleted some unused variables in azcli constants.ts and some tests.

* Fixed package.json

* Deleted en-us from links, changed az. to azcli.arc in package.json

* Addressed PR comments.

Co-authored-by: Candice Ye <canye@microsoft.com>
2021-07-27 12:12:15 -07:00
Lucy Zhang
7c14ec2b6d Add intellisense checks in code cell smoke test (#16362)
* check colorization and completion suggestions

* check for suggestions widget

* make selector more specific
2021-07-27 11:02:52 -07:00
Justin M
f8da3cc32a China / Germany Cloud Fix (#15746)
* Added missing resources to chinaAzureSettings and germanyAzureSettings in providerSettings

* Update providerSettings.ts

* Fixed typo in mooncake armResource

* Fixed host for China Cloud in ProviderSettings
2021-07-27 10:24:15 -07:00
Kim Santiago
f01e9e2fc0 add api to open new project dialog with only one project type with filtered target platforms (#16315) 2021-07-27 10:03:44 -07:00
Charles Gagnon
b2c203eaef Hook up sql proj publish (#16444) 2021-07-27 09:32:42 -07:00
Lucy Zhang
24349885d3 fix accept fn for waitForTextContent (#16449) 2021-07-27 09:15:35 -07:00
csigs
2e9eff7ffc LEGO: check in for main to temporary branch. (#16447) 2021-07-27 09:08:35 -07:00
Charles Gagnon
6a08af4d9a Fix link accessibilty issues (#16419)
* Fix link accessibilty issues

* Move comment
2021-07-26 14:55:33 -07:00
Charles Gagnon
a0f56890b5 Add TextType property (#16421) 2021-07-26 13:10:17 -07:00
Aasim Khan
70fc6bd43d Adding Assessment Telemetry in SQL Migration (#15935)
* Adding telemetry for assessment

* Removing dms loading fix

* Fixing PR

* removing collection of account id

* moving database warning count to the server assessment event

* Removing individual warning and issue events

* Adding aggregates for database issues and warnings

* removing extra line

* Adding other telemetry events in sql migration

* Fixed changes made in the PR

* Fixing attribute names

* Consolidating issues and errors in 1 event

* Converting dependencies to dev depenedencies

* Adding a catch for the telemetry function

* moving the non type uuid to non dev

* Made hashmap code cleaner

* Fixing cutover start time

* Fixing object creation

* Reverting back to old method.

* Modifying the date time to js objects

* Converting issues and warnings to json object
2021-07-26 12:26:37 -07:00
stuti149
c60bcc0d0d added name in developer.ts (#16437) 2021-07-26 21:23:27 +05:30
csigs
c3c6d8ee8c LEGO: check in for main to temporary branch. (#16440) 2021-07-26 08:44:14 -07:00
csigs
9a71846e22 LEGO: check in for main to temporary branch. (#16439) 2021-07-26 08:43:53 -07:00
csigs
e4db31b334 LEGO: check in for main to temporary branch. (#16434) 2021-07-25 14:51:24 -07:00
csigs
63dc94009e LEGO: check in for main to temporary branch. (#16432) 2021-07-25 14:50:25 -07:00
Alex Ma
77d397ce18 update to arc connection string (#16433) 2021-07-25 08:44:39 -07:00
csigs
6aeea8f1df LEGO: check in for main to temporary branch. (#16429) 2021-07-25 08:27:47 -07:00
csigs
fdb426cda5 LEGO: check in for main to temporary branch. (#16426)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-25 08:27:04 -07:00
Alex Ma
f72a252fb0 removed newspace (#16431) 2021-07-25 08:25:49 -07:00
csigs
6fcfa93329 LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20210724153241691 to main (#16425)
* LEGO: check in for main to temporary branch.

* Update sql-migration.xlf.lcl

* Update sql-migration.xlf.lcl

Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-25 08:20:13 -07:00
csigs
c4ce3bef8d LEGO: check in for main to temporary branch. (#16424)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-25 08:08:12 -07:00
csigs
9fda448303 LEGO: check in for main to temporary branch. (#16423)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-25 08:06:00 -07:00
csigs
01aefe7b9f LEGO: check in for main to temporary branch. (#16418) 2021-07-25 08:00:20 -07:00
Christopher C
cb8c4b80d0 wording, removing ref to "bootstrap" (#15187)
* wording, removing ref to "bootstrap"

* removing configure-ag nb; unfinished
2021-07-23 16:58:43 -07:00
Christopher C
668ab43865 Update README.md (#14859)
* Update README.md

* wording
2021-07-23 16:57:53 -07:00
Charles Gagnon
be0edf9606 Add aria label to connection string pages (#16420) 2021-07-23 16:55:02 -07:00
Vasu Bhog
151522013f Notebook Markdown email rendering fix (#16417)
* fix email WYSIWYG rendering
2021-07-23 15:24:34 -07:00
Charles Gagnon
66c62fcce3 Fix relative path check in HtmlMarkdownConverter (#16192) 2021-07-23 12:33:45 -07:00
Alex Ma
699648ff6d added cancelling for sql-migration (#16416) 2021-07-23 09:55:19 -07:00
csigs
7968d51172 LEGO: check in for main to temporary branch. (#16414) 2021-07-23 09:19:16 -07:00
csigs
2e8d9c50d4 LEGO: check in for main to temporary branch. (#16409) 2021-07-23 09:18:57 -07:00
Tony Xia
880cfc3b59 clipbaord -> clipboard (#16410) 2021-07-23 08:35:40 -07:00
Tony Xia
c2d45fa01f materialzied -> materialized (#16411) 2021-07-23 08:34:58 -07:00
Tony Xia
c0dd781d77 Fixed a minor typo in comment (#16412) 2021-07-23 08:34:25 -07:00
brian-harris
df5ed2c889 Dev/brih/hotfix status page (#16407)
* add dispose pattern, fix migration status enum

* format strings

* add dispose handler to more events
2021-07-22 22:20:10 -07:00
Charles Gagnon
107023c7d0 Fix update typings pipeline to work for us (#16404)
* Update publish types pipeline

* update yarn tool

* Use fork

* Remove hardcoded

* Sync up with upstream

* update email
2021-07-22 16:47:08 -07:00
Kim Santiago
ce4fa98691 bump sql database projects version to 0.12.0 (#16401) 2021-07-22 15:53:48 -07:00
Charles Gagnon
b2a9074a25 Fix azdata.d.ts linting issues (#16405) 2021-07-22 15:53:18 -07:00
csigs
c082b572d5 LEGO: check in for main to temporary branch. (#16402) 2021-07-22 15:37:44 -07:00
Charles Gagnon
0509f8f0c3 Separate connect and listdatabases call for publish (#16391)
* Separate connect and listdatabases call for publish

* add return value
2021-07-22 15:36:16 -07:00
Charles Gagnon
88d28b7d51 Update azdata.d.ts (#16398) 2021-07-22 13:44:42 -07:00
Alex Ma
df177ec779 added more XLFS (#16399) 2021-07-22 13:32:10 -07:00
nasc17
64d432c8e2 Add aria lables to pod drop down and tables of PG resources (#16229)
* Add aria labels to pod drop down on resource health and tables on overview

* Added roles

* Fix strings

* Added role to table headers

* Added heading levels
2021-07-22 12:07:35 -07:00
csigs
380457122c LEGO: check in for main to temporary branch. (#16395) 2021-07-22 10:25:28 -07:00
csigs
7d6d8dbe96 LEGO: check in for main to temporary branch. (#16394) 2021-07-22 10:25:12 -07:00
chayaverma7
f2dcfacc8c Update package.json (#16396)
Update ADS Version after Release to 1.32.0
2021-07-22 22:01:57 +05:30
Daniel Grajeda
fd954ddcb2 Plotly output resize (#16313)
Allow plotly to resize based on the size of the output itself, not only when the window is resized. This allows cells in Notebook Views to adjust based on  resize.
2021-07-21 21:06:26 -07:00
Daniel Grajeda
c5c7ca019d Notebook Views autodash feature (#16238)
The autodash feature in notebook views creates an initial grid layout for users when a view is created. It is intended to reduce the effort required by the user to start editing their view. Instead of displaying every cell and stacking them vertically like the default notebook layout, we use guidelines to determine which cells are worth displaying and how to arrange them.
2021-07-21 20:46:58 -07:00
Christopher Suh
6d4608dd8b SQL Assessment Database Selector (#16030)
* wip

* wip

* database selector table

* fixed db icon

* wip

* fixed assessment results table

* replaced large query

* fix build error

* updated spacing and other fixes

* removed commented code

* added search bar, fix margins, disable checkbox for offline db

* change width of checkbox column

* changed api to require databases

* Revert "changed api to require databases"

This reverts commit 20fe2d8bd223bae90dfb09609225a1781267a01d.

* removed optional flag from databases parameter

* removed icons on assessment dialog page

* formatting changes, fixed search

* bump STS

* bumped extension version number

* one excludeDbs
2021-07-21 17:58:32 -07:00
csigs
f390c4cbc2 LEGO: check in for main to temporary branch. (#16389) 2021-07-21 17:07:32 -07:00
Rachel Kim
d031211693 Add 'hidden' optional property to DeclarativeTableColumn (#16386)
* add setHideColumns to DeclarativeTableComponent

* fixing tests using declarative table

* replace setHiddenColumns on DeclarativeTableComponent with 'hidden' optional property on DeclarativeTableColumn

* remove unnecessary changes
2021-07-21 16:39:21 -07:00
Charles Gagnon
c1f4c50177 Combine project deploy settings into one (#16383) 2021-07-21 16:15:25 -07:00
Daniel Grajeda
87633faaa4 Allow action bar to be hidden on Plotly tables (#16178)
Allow action bar to be hidden on tables
2021-07-21 15:59:15 -07:00
Chris LaFreniere
dd4e87ed41 Mark unstable book test as unstable (#16388) 2021-07-21 15:18:36 -07:00
nasc17
b472539646 Switch withProperties to be withProps (#16380)
* Transition to withProps in arc

* Transition to withProps inputbox

* Transition to withProps in checkbox

* Transition to withProps text

* Transition to withProps in declarative table

* Transition to withProps hyperlink

* Transition to withProps in button

* Transition to withProps radiobutton

* Transition to withProps in input

* Transition to withProps button

* Transition to withProps in text

* Transition to withProps image

* Transition to withProps declare table

* Transition to withProps in table

* Transition to withProps radio button

* Transition to withProps in image

* Transition to withProps radio button

* Transition to withProps in commit

* Transition to withProps div cont

* Transition to withProps in comp

* Transition to withProps radio card

* Transition to withProps in comp icon

* Transition to withProps card

* Transition to withProps list
2021-07-21 11:12:47 -07:00
Justin M
b2a2a48ed6 Increased version for AzureMonitor (#16369) 2021-07-21 10:54:04 -07:00
chayaverma7
a3a06b92e8 Update README.md and changelog.md for release1.31 (#16378)
* Update README.md

* Updated changelog for release 1.31

Co-authored-by: v-srinisa <82409712+v-srinisa@users.noreply.github.com>
2021-07-21 22:59:11 +05:30
nasc17
3b0fff63d4 Switched deprecated data in declarative table to be dataValues (#16381)
* Controller overview datavalues

* Miaa OV datavalues

* data values PG OV

* data values PG OV p2

* data values PG health

* datavalues miaa OV p2
2021-07-21 10:06:27 -07:00
csigs
2bc6a881bd LEGO: check in for main to temporary branch. (#16382) 2021-07-21 09:49:59 -07:00
Charles Gagnon
efa82650f8 List databases for publish quickpick (#16368)
* List databases for publish quickpick

* missed word
2021-07-21 08:36:34 -07:00
csigs
d1892b514f LEGO: check in for main to temporary branch. (#16371) 2021-07-21 00:28:39 -07:00
goyal-anjali
32da4219a9 Fix #15854 refresh button role (#16175)
Fixed #15854 refresh button role

Co-authored-by: Anjali Goyal <anjaligoyal@microsoft.com>
2021-07-20 23:59:32 -07:00
Alex Ma
fb16924f93 added small change to azurecore (#16370) 2021-07-20 17:58:37 -07:00
csigs
94b99c7862 LEGO: check in for main to temporary branch. (#16365) 2021-07-20 16:46:47 -07:00
Justin M
78d905a217 Changed Kernel Name from LogAnalytics to AzureMonitorLogs (#16157)
* Changed Kernel Name from LogAnalytics to AzureMonitorLogs

* Added spaces to Azure Monitor Notebook Kernel Alias
2021-07-20 15:37:13 -07:00
Justin M
be3d966cf0 Fixed container label for Azure Monitor Logs in Azure Viewlet. (#16156) 2021-07-20 15:36:32 -07:00
Justin M
ba6359e1ff Fixed actions in scripting.contribution.ts for Azure Monitor (#16158) 2021-07-20 15:36:13 -07:00
Alex Ma
43cf19e316 Update for langpacks from 1.31 (#16363)
* update for langpacks from 1.31

* changed requirement number

* update for korean
2021-07-20 14:52:40 -07:00
Aasim Khan
1eb03404ad Updating assessment api response object in SQL Migration (#16334)
* Modifying the get assessments  api to match the new specs

* fixing property name

* Updating sts version
2021-07-20 13:55:58 -07:00
Charles Gagnon
a322c5be9d List connections for sql proj publish quickpick (#16233)
* List connections for sql proj publish quickpick

* cleanup
2021-07-20 13:30:32 -07:00
Alex Ma
d663ec6129 Added replacement for name of Portuguese langpack (#16361)
* added replacement for name of Portuguese langpack

* use toLowerCase instead
2021-07-20 12:44:42 -07:00
Aasim Khan
88fd0cae3b Adding ability to set hyperlinks as buttons in extensibility. (#16319)
* Adding option to treat hyperlinks as buttons

* Adding ext host endpoints for is button property in hyperlinks

* Removing isButton flag and plugging in aria role in the hyperlink component

* Removing attribute null check
2021-07-20 11:29:38 -07:00
Alex Ma
3e2bf7b9fa small update to arc and sql (#16358) 2021-07-20 10:34:33 -07:00
Aasim Khan
3ce6f9e78c adding cpu count and ram to server info (#16109) 2021-07-20 09:56:52 -07:00
nasc17
efaf39f96a Changed add/drop , load/unload. Fix unload button (#16316) 2021-07-20 09:49:36 -07:00
csigs
7c82d0291e LEGO: check in for main to temporary branch. (#16355) 2021-07-20 09:41:59 -07:00
csigs
86c2547b22 LEGO: check in for main to temporary branch. (#16354) 2021-07-20 09:41:44 -07:00
csigs
4a51cb2020 LEGO: check in for main to temporary branch. (#16353) 2021-07-20 09:41:33 -07:00
csigs
260fdac944 LEGO: check in for main to temporary branch. (#16352) 2021-07-20 09:41:24 -07:00
csigs
85082dee75 LEGO: check in for main to temporary branch. (#16351) 2021-07-20 09:41:14 -07:00
csigs
a9b338b5c4 LEGO: check in for main to temporary branch. (#16350) 2021-07-20 09:40:51 -07:00
csigs
f92aa1ead8 LEGO: check in for main to temporary branch. (#16349) 2021-07-20 09:40:41 -07:00
csigs
d4e367e4f9 LEGO: check in for main to temporary branch. (#16348) 2021-07-20 09:40:16 -07:00
csigs
57df7e706f LEGO: check in for main to temporary branch. (#16347) 2021-07-20 09:40:04 -07:00
csigs
b58c19684f LEGO: check in for main to temporary branch. (#16346) 2021-07-20 09:39:52 -07:00
csigs
d0c7028d97 LEGO: check in for main to temporary branch. (#16345) 2021-07-20 09:39:36 -07:00
csigs
dc471faa7a LEGO: check in for main to temporary branch. (#16344) 2021-07-20 09:38:31 -07:00
Charles Gagnon
4aaa7eae29 Print out found elements during smoke tests (#16336) 2021-07-20 07:14:41 -07:00
Alan Ren
1000e97091 add toggle button for properties container (#16335) 2021-07-19 23:36:52 -07:00
csigs
9b31e7beac LEGO: check in for main to temporary branch. (#16343) 2021-07-19 22:28:51 -07:00
csigs
f0b158edda LEGO: check in for main to temporary branch. (#16342) 2021-07-19 22:28:43 -07:00
csigs
9f29efba85 LEGO: check in for main to temporary branch. (#16341) 2021-07-19 22:28:33 -07:00
csigs
de0719d91a LEGO: check in for main to temporary branch. (#16340) 2021-07-19 22:28:27 -07:00
csigs
b9041b0afe LEGO: check in for main to temporary branch. (#16339) 2021-07-19 22:28:20 -07:00
csigs
adb0ec3cab LEGO: check in for main to temporary branch. (#16338) 2021-07-19 22:28:09 -07:00
Charles Gagnon
3eefc70cbe Add headingLevel to textComponent (#16320)
* Add headingLevel to textComponent

* fixes

* comment

* Add valid heading level check

* change check

* Heading level type

* one more
2021-07-19 19:32:39 -07:00
csigs
a7c6a98ad9 LEGO: check in for main to temporary branch. (#16331) 2021-07-19 14:41:48 -07:00
csigs
87f5f4edfc LEGO: check in for main to temporary branch. (#16330) 2021-07-19 14:41:42 -07:00
csigs
08d6b71929 LEGO: check in for main to temporary branch. (#16329) 2021-07-19 14:41:35 -07:00
csigs
aba576dd2f LEGO: check in for main to temporary branch. (#16328) 2021-07-19 14:41:30 -07:00
csigs
2c2e2bb984 LEGO: check in for main to temporary branch. (#16327) 2021-07-19 14:41:23 -07:00
csigs
07567d2514 LEGO: check in for main to temporary branch. (#16326) 2021-07-19 14:41:17 -07:00
Alan Ren
9cbcf9e2c6 update badge colors (#16252) 2021-07-19 13:26:07 -07:00
Alex Ma
e0cad0231d Update to Localized XLFS (#16312)
* Update for German Resources

* added strings for Spanish XLFs

* added french resource xlfs

* massive commit on 7/18/21

* another update to extensions and sql
2021-07-19 13:22:07 -07:00
Charles Gagnon
379c60dd27 Reduce the number of onUpdate events fired for dialog buttons (#16311) 2021-07-19 13:20:36 -07:00
Alan Ren
eaba5679d4 fix the icon size issue of info button (#16318) 2021-07-19 12:35:11 -07:00
Alex Ma
fdaf29ccb4 small string to arc added (#16314) 2021-07-19 09:52:23 -07:00
nasc17
fa21781df2 Handle if no extensions listed in PG spec (#16194)
* Handle if not extensions listed in spec, focus buttons

* Set extensions to optional

* Added optional field to settings and scheduling.roles
2021-07-19 09:37:04 -07:00
csigs
f978331e7b LEGO: check in for main to temporary branch. (#16310) 2021-07-19 08:34:37 -07:00
csigs
8aedeab9d4 LEGO: check in for main to temporary branch. (#16309) 2021-07-19 08:34:24 -07:00
csigs
669987ccf3 LEGO: check in for main to temporary branch. (#16308) 2021-07-19 08:34:13 -07:00
csigs
2984244377 LEGO: check in for main to temporary branch. (#16305) 2021-07-18 20:37:44 -07:00
csigs
fbb17c047c LEGO: check in for main to temporary branch. (#16304) 2021-07-18 20:37:35 -07:00
csigs
36e1aeb43d LEGO: check in for main to temporary branch. (#16303) 2021-07-18 20:37:17 -07:00
csigs
62d86163c9 LEGO: check in for main to temporary branch. (#16302) 2021-07-18 20:37:08 -07:00
csigs
5171c37b6a LEGO: check in for main to temporary branch. (#16301) 2021-07-18 20:36:59 -07:00
csigs
05f1f84872 LEGO: check in for main to temporary branch. (#16296) 2021-07-18 17:02:16 -07:00
csigs
3d8fb454c0 LEGO: check in for main to temporary branch. (#16300) 2021-07-18 17:01:32 -07:00
csigs
430e2c9916 LEGO: check in for main to temporary branch. (#16299) 2021-07-18 17:01:27 -07:00
csigs
e026b743ab LEGO: check in for main to temporary branch. (#16298) 2021-07-18 17:01:23 -07:00
csigs
c170fdfc68 LEGO: check in for main to temporary branch. (#16297) 2021-07-18 17:01:18 -07:00
csigs
d0ecb292f7 LEGO: check in for main to temporary branch. (#16295) 2021-07-18 17:01:09 -07:00
Alex Ma
7d3fa81d3a added more migration and profiler core strings (#16293) 2021-07-18 10:18:52 -07:00
csigs
c1e365bdc8 LEGO: check in for main to temporary branch. (#16292) 2021-07-18 09:16:25 -07:00
csigs
c6f8f6ffd0 LEGO: check in for main to temporary branch. (#16291) 2021-07-18 09:16:11 -07:00
csigs
43e9f6da8c LEGO: check in for main to temporary branch. (#16290) 2021-07-18 09:15:57 -07:00
csigs
5fb7f9e452 LEGO: check in for main to temporary branch. (#16289) 2021-07-18 09:13:58 -07:00
csigs
64ea6c569a LEGO: check in for main to temporary branch. (#16288) 2021-07-18 09:13:42 -07:00
csigs
efdf38dbc4 LEGO: check in for main to temporary branch. (#16287) 2021-07-18 09:13:31 -07:00
csigs
1fe6939f92 LEGO: check in for main to temporary branch. (#16286) 2021-07-18 09:13:10 -07:00
csigs
8332fc6b1d LEGO: check in for main to temporary branch. (#16285) 2021-07-18 09:12:57 -07:00
csigs
7669ad0180 LEGO: check in for main to temporary branch. (#16284) 2021-07-18 09:12:43 -07:00
csigs
e6fd98caa8 LEGO: check in for main to temporary branch. (#16283) 2021-07-18 09:11:29 -07:00
csigs
814f5bea3a LEGO: check in for main to temporary branch. (#16282) 2021-07-18 09:11:12 -07:00
csigs
2e81300f9e LEGO: check in for main to temporary branch. (#16281) 2021-07-18 09:10:45 -07:00
csigs
eed495ef64 LEGO: check in for main to temporary branch. (#16280) 2021-07-18 09:10:24 -07:00
csigs
105636dda6 LEGO: check in for main to temporary branch. (#16279) 2021-07-18 09:10:04 -07:00
csigs
f4ef8d1374 LEGO: check in for main to temporary branch. (#16278) 2021-07-18 09:09:28 -07:00
csigs
01a594ea83 LEGO: check in for main to temporary branch. (#16277) 2021-07-18 09:08:34 -07:00
csigs
f0f6aee89b LEGO: check in for main to temporary branch. (#16276) 2021-07-18 09:08:12 -07:00
csigs
36286f7df6 LEGO: check in for main to temporary branch. (#16275) 2021-07-18 09:07:55 -07:00
csigs
ed5a2ee90d LEGO: check in for main to temporary branch. (#16272) 2021-07-18 09:03:59 -07:00
csigs
0483c5c8b2 LEGO: check in for main to temporary branch. (#16271)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-18 09:01:58 -07:00
csigs
7f614b0fde LEGO: check in for main to temporary branch. (#16270)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-18 09:00:24 -07:00
csigs
7c5de73fde LEGO: check in for main to temporary branch. (#16269)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-18 08:58:53 -07:00
csigs
e499fd9e80 LEGO: check in for main to temporary branch. (#16268)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-18 08:57:09 -07:00
csigs
a8e4d01ff0 LEGO: check in for main to temporary branch. (#16267)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-18 08:54:58 -07:00
csigs
ba0261eb98 LEGO: check in for main to temporary branch. (#16266)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-07-18 08:52:35 -07:00
csigs
dbf15745d0 LEGO: check in for main to temporary branch. (#16265) 2021-07-18 08:39:52 -07:00
csigs
6e4c7a1075 LEGO: check in for main to temporary branch. (#16264) 2021-07-18 08:38:46 -07:00
csigs
c85ad7b7d5 LEGO: check in for main to temporary branch. (#16263) 2021-07-18 08:38:20 -07:00
csigs
b705e1ca61 LEGO: check in for main to temporary branch. (#16262) 2021-07-18 08:37:17 -07:00
csigs
bc1bf60a98 LEGO: check in for main to temporary branch. (#16261) 2021-07-18 08:36:49 -07:00
csigs
6837b4b801 LEGO: check in for main to temporary branch. (#16260) 2021-07-18 08:36:13 -07:00
csigs
f127b7d94a LEGO: check in for main to temporary branch. (#16258) 2021-07-18 08:35:55 -07:00
csigs
d1d9795965 LEGO: check in for main to temporary branch. (#16257) 2021-07-18 08:35:33 -07:00
csigs
83300acb38 LEGO: check in for main to temporary branch. (#16256) 2021-07-18 08:35:15 -07:00
csigs
24b45a9baf LEGO: check in for main to temporary branch. (#16255) 2021-07-18 08:34:49 -07:00
csigs
4e67aa86d8 LEGO: check in for main to temporary branch. (#16254) 2021-07-18 08:34:29 -07:00
csigs
0dbde9e9b1 LEGO: check in for main to temporary branch. (#16253) 2021-07-18 08:34:00 -07:00
Alan Ren
712633fadd set the focus back to table after sort/filter (#16250) 2021-07-17 20:58:51 -07:00
csigs
7a419426ad LEGO: Merge pull request 16273
LEGO: Merge pull request 16273
2021-07-17 14:45:55 -07:00
Barbara Valdez
f17689319c Revert to previous markdown renderer (#16246)
* Add marked files under sql/base/common
2021-07-16 17:51:53 -07:00
Alan Ren
ee0896ea5d use modal confirmation dialog (#16247) 2021-07-16 16:40:13 -07:00
Aasim Khan
acea03ea61 converting toast to modal dialog to grab focus (#16237) 2021-07-16 16:29:32 -07:00
csigs
d88c49702a LEGO: check in for main to temporary branch. (#16244) 2021-07-16 16:04:55 -07:00
csigs
5e29c936d7 LEGO: check in for main to temporary branch. (#16243) 2021-07-16 16:04:44 -07:00
csigs
0474a5ca9e LEGO: check in for main to temporary branch. (#16242) 2021-07-16 16:04:22 -07:00
csigs
d09ba43d15 LEGO: check in for main to temporary branch. (#16241) 2021-07-16 16:04:04 -07:00
csigs
164b100421 LEGO: check in for main to temporary branch. (#16240) 2021-07-16 16:03:55 -07:00
csigs
2d2c568609 LEGO: check in for main to temporary branch. (#16239) 2021-07-16 16:03:43 -07:00
Alex Ma
ff6e377477 Small update to XLFs and small change to extension.webpack (#16232) 2021-07-16 13:43:14 -07:00
Vasu Bhog
63e97caa94 Fix Windows WYSIWYG linking issue (switching to splitview and resolving links in WYSIWYG) (#16133)
* fix relative links not correctly formatted due to marked js

* logic in one place
2021-07-16 13:27:45 -07:00
Alan Ren
eed792f3db fix keyboard focus issues (#16206) 2021-07-16 13:27:15 -07:00
Sakshi Sharma
3847271e67 Update Schema Compare dialog to use folder icon (#16208)
* Update Schema Compare dialog to use folder icon

* Address comment
2021-07-16 12:21:59 -07:00
Alex Ma
f53a06a403 added delete zip files code (#16230)
* added delete zip files code

* removed space
2021-07-16 12:21:23 -07:00
brian-harris
78a144b5ca sql-migration: update migration status page latest design (#16099)
* add migrations status context menu and commands

* add migration status images

* remove test code, add account validation

* fix command registration to occure once

* fix typo
2021-07-16 12:20:19 -07:00
Charles Gagnon
3f047ae15a Disable add remote book test (#16231) 2021-07-16 12:14:07 -07:00
Barbara Valdez
6df69f525c Add conditional operator before checking length (#16180)
* add optional op to sections

* remove check for undefined
2021-07-16 11:38:18 -07:00
Alex Ma
669623a228 Removed async copy in rename function (#16209)
* Removed async copy in rename function

* added comments and removed async
2021-07-16 11:01:31 -07:00
csigs
96efba004d LEGO: check in for main to temporary branch. (#16222) 2021-07-16 08:49:16 -07:00
csigs
dc0eb133f9 LEGO: check in for main to temporary branch. (#16221) 2021-07-16 08:49:07 -07:00
csigs
ac2198c7d3 LEGO: check in for main to temporary branch. (#16220) 2021-07-16 08:48:22 -07:00
csigs
49519232ba LEGO: check in for main to temporary branch. (#16219) 2021-07-16 08:48:08 -07:00
csigs
8c9cc03c89 LEGO: check in for main to temporary branch. (#16218) 2021-07-16 08:47:55 -07:00
csigs
c4830d9efb LEGO: check in for main to temporary branch. (#16217) 2021-07-16 08:47:43 -07:00
csigs
5923793f0c LEGO: check in for main to temporary branch. (#16215) 2021-07-16 08:46:41 -07:00
csigs
126a0383ce LEGO: check in for main to temporary branch. (#16214) 2021-07-16 08:46:20 -07:00
csigs
c70d5b957e LEGO: check in for main to temporary branch. (#16213) 2021-07-16 08:46:03 -07:00
csigs
245156a66c LEGO: check in for main to temporary branch. (#16212) 2021-07-16 08:45:44 -07:00
csigs
ebb02de1c4 LEGO: check in for main to temporary branch. (#16211) 2021-07-16 08:45:30 -07:00
csigs
f662d480e7 LEGO: check in for main to temporary branch. (#16210) 2021-07-16 08:45:11 -07:00
Alan Ren
49dbce5171 make button not focusable when disabled (#16185)
* make button not focusable when disabled

* update comment

* add carbon edit tag
2021-07-15 15:10:54 -07:00
Aasim Khan
b3d8e522f7 Updating import extension (#16190) 2021-07-15 14:55:40 -07:00
csigs
4c421e0a38 LEGO: check in for main to temporary branch. (#16200) 2021-07-15 14:38:32 -07:00
csigs
4275fe89a7 LEGO: check in for main to temporary branch. (#16199) 2021-07-15 14:38:07 -07:00
csigs
9c3d88b64a LEGO: check in for main to temporary branch. (#16198) 2021-07-15 14:37:37 -07:00
csigs
0bf574c227 LEGO: check in for main to temporary branch. (#16197) 2021-07-15 14:37:15 -07:00
Kim Santiago
5059c94adc Add target platform dropdown to new project dialog (#16091)
* add target platform as an option in create project api

* move constant

* WIP

* show versions in dialog and create project with selected version

* validate version

* add error messages

* add test

* change version to target platform

* cleanup

* more cleanup

* use withProps
2021-07-15 13:43:48 -07:00
Charles Gagnon
2a74ad4190 Remove second prompt for azdata install (#16182) 2021-07-15 13:03:51 -07:00
brian-harris
b45f3e7218 add aria-label / name to image only buttons (#16124)
* add aria-label / name to image only buttons

* add correct aria label to image buttons

* add key number to button aria-label, title and action messages to differentient keys
2021-07-15 12:08:59 -07:00
Udeesha Gautam
0ff8786885 Fixing the error order for Project dialog validation (#16141)
* Fixing the error order for Project dialog

* Taking PR review comments and making the change for open project also
2021-07-15 11:15:44 -07:00
Charles Gagnon
1e81b6f054 Fix component unregistering from parent (#16166) 2021-07-15 11:09:56 -07:00
Alex Ma
785839baac changes to sqldatabaseprojects (#16179) 2021-07-15 10:12:40 -07:00
Charles Gagnon
d03fbbc066 Read publish profile using DacFX (#16110)
* Read publish profile using DacFX in VS Code

* Fixes

* complete promise on hide

* comment
2021-07-15 08:53:43 -07:00
csigs
06da33bb3b LEGO: check in for main to temporary branch. (#16177) 2021-07-15 08:41:41 -07:00
csigs
202036ca47 LEGO: check in for main to temporary branch. (#16176) 2021-07-15 08:41:01 -07:00
csigs
8530bf214e LEGO: check in for main to temporary branch. (#16172) 2021-07-15 08:39:41 -07:00
csigs
8faf115329 LEGO: check in for main to temporary branch. (#16171) 2021-07-15 08:39:20 -07:00
csigs
1bd1c64b08 LEGO: check in for main to temporary branch. (#16170) 2021-07-15 08:39:07 -07:00
csigs
68e0f86120 LEGO: check in for main to temporary branch. (#16169) 2021-07-15 08:38:47 -07:00
csigs
43183c90a1 LEGO: check in for main to temporary branch. (#16168) 2021-07-15 08:38:31 -07:00
csigs
b497063482 LEGO: check in for main to temporary branch. (#16167) 2021-07-15 08:38:02 -07:00
Lucy Zhang
63d4cc0e80 don't show python upgrade prompt multiple times (#16080) 2021-07-15 06:50:46 -07:00
csigs
351a55121d LEGO: check in for main to temporary branch. (#16164) 2021-07-14 23:51:13 -07:00
csigs
f8583f53c5 LEGO: check in for main to temporary branch. (#16163) 2021-07-14 23:50:57 -07:00
csigs
39aefa7e29 LEGO: check in for main to temporary branch. (#16162) 2021-07-14 23:50:43 -07:00
csigs
a4ffa64918 LEGO: check in for main to temporary branch. (#16161) 2021-07-14 23:50:24 -07:00
csigs
181cad5b75 LEGO: check in for main to temporary branch. (#16160) 2021-07-14 23:50:09 -07:00
csigs
4fd890e651 LEGO: check in for main to temporary branch. (#16165) 2021-07-14 23:49:31 -07:00
Alex Ma
b5411f0f6f update to arc extension resources (#16154) 2021-07-14 18:36:11 -07:00
Justin M
5496e9ac33 Added missing properties in kustoTreeDataProvider and azuremonitorTreeDataProvider (#16153) 2021-07-14 17:20:12 -07:00
nasc17
5a428b83ae Alter table to be multi-select grid for dropping PG extensions (#16143)
* Check if no extensions currently present before adding

* Added multiselect option for dropping extensions

* Loc file changes
2021-07-14 15:51:42 -07:00
Alex Ma
1308878650 added resource deployment string. (#16151) 2021-07-14 15:37:56 -07:00
csigs
c85e164836 LEGO: check in for main to temporary branch. (#16150) 2021-07-14 14:56:01 -07:00
csigs
c72a194bc3 LEGO: check in for main to temporary branch. (#16149) 2021-07-14 14:54:24 -07:00
csigs
c131c252cd LEGO: check in for main to temporary branch. (#16148) 2021-07-14 14:53:49 -07:00
csigs
72c0d30517 LEGO: check in for main to temporary branch. (#16147) 2021-07-14 14:53:32 -07:00
csigs
ba87c8e245 LEGO: check in for main to temporary branch. (#16146) 2021-07-14 14:53:03 -07:00
csigs
11f5ddf062 LEGO: check in for main to temporary branch. (#16145) 2021-07-14 14:52:29 -07:00
Charles Gagnon
8faa0cf0e2 Update compile pipeline and fix eslint (#16129)
* Update pipelines

* eslint

* Fix layering

* update tsec exemption
2021-07-14 14:43:23 -07:00
Alex Ma
f7bf914bcb added on end function to end of pipe (#16144) 2021-07-14 14:36:52 -07:00
csigs
d5f52ba53d LEGO: check in for main to temporary branch. (#16139) 2021-07-14 13:24:06 -07:00
csigs
f059612bd0 LEGO: check in for main to temporary branch. (#16138) 2021-07-14 13:23:10 -07:00
csigs
52c21a7885 LEGO: check in for main to temporary branch. (#16137) 2021-07-14 13:22:44 -07:00
csigs
743fd9f97c LEGO: check in for main to temporary branch. (#16136) 2021-07-14 13:19:13 -07:00
csigs
e7f614ebf7 LEGO: check in for main to temporary branch. (#16135) 2021-07-14 13:18:21 -07:00
csigs
bd1633c04c LEGO: check in for main to temporary branch. (#16134) 2021-07-14 13:16:00 -07:00
Aditya Bist
5524a3659c Secondary actions (#16122)
* data menu shows up

* clean up code

* remove dead code

* string literal

* add menu item instead

* remove unused code
2021-07-14 12:35:10 -07:00
Alex Ma
2785538afb Update for sql, azurecore, and notebook (#16130) 2021-07-14 10:46:22 -07:00
csigs
0438e9cd41 LEGO: check in for main to temporary branch. (#16127) 2021-07-14 08:44:08 -07:00
csigs
601a4aaed1 LEGO: check in for main to temporary branch. (#16123) 2021-07-13 23:45:55 -07:00
Charles Gagnon
a0f46fec65 Add openQueryDocument API (#16117)
* Add openQueryDocument API

* Remove open call

* Change try name
2021-07-13 17:56:35 -07:00
Alex Ma
a7311764be Fixed tabs to match older locproject files (#16114) 2021-07-13 17:36:28 -07:00
csigs
7fc69cc4d5 LEGO: check in for main to temporary branch. (#16115) 2021-07-13 14:57:40 -07:00
Alex Ma
32a5ec3cd0 Update for existing localized XLFs. (#16107)
* update to existing german extensions

* Update for existing Spanish Resources

* Added updates to existing French Resources

* update for Italian Resources

* Update for existing Japanese resources

* update for Korean resources

* update for Portuguese resources

* russian resources updated

* update for chinese resources
2021-07-13 14:48:34 -07:00
Kim Santiago
b4ab73a636 bump ADS dependency for sql database projects (#16092) 2021-07-13 11:46:02 -07:00
Justin M
625d4bc4bf Added generic icon for azuremonitor extension (#16104) 2021-07-13 11:32:53 -07:00
Aasim Khan
45d664fea2 Adding blob containers and storage key api to azure core (#16103) 2021-07-13 11:10:08 -07:00
goyal-anjali
cf05dc0016 Developer added (#16101)
Co-authored-by: Anjali Goyal <anjaligoyal@microsoft.com>
2021-07-13 09:44:21 -07:00
Charles Gagnon
5c17529e40 Fix focus element on connect dialog (#16085) 2021-07-12 16:34:06 -07:00
Alan Ren
f5e38482c3 left align the account information (#16086) 2021-07-12 16:10:50 -07:00
Alex Ma
e3dc417df4 Added Sorted Core Strings (#16081)
* added sorted sql xlf and sorting function for i18n

* compiled i18n.js

* fixed space

* simplified i18n.json
2021-07-12 15:58:38 -07:00
Kim Santiago
affe3a838b Add target platform as an option in create project api (#16035)
* add target platform as an option in create project api

* add test

* move constant
2021-07-12 15:14:33 -07:00
Charles Gagnon
9fc2cff654 Fix opening new untitled query (#16078) 2021-07-12 14:37:53 -07:00
Karl Burtram
32ba55b7ed Remove duplicate Getting Started menu (#16077) 2021-07-12 14:03:52 -07:00
Aasim Khan
8b383294f7 Fixing some assessment styling (#16050)
* Fixing some assessment styling

* Adding styling capabilities to loading component.

* Changing assessment loader height from px to %

* using margin-top instead of height to align loader
2021-07-12 12:51:20 -07:00
Justin M
2b8ae507aa Set azuremonitor extension ID to 83 (#16058) 2021-07-12 10:46:04 -07:00
Barbara Valdez
f7fc145b0c Set notebook path before moving. (#16055)
* set the original path when moving a single notebook

* save original file path before attempting to move in case of error_
)
2021-07-12 10:32:15 -07:00
Alan Ren
6baf2ee982 make dropdown arrow larger to meet accessibility requirement (#127839) (#16073)
* make dropdown arrow bold

* Update style.css
2021-07-12 10:23:44 -07:00
Charles Gagnon
ba20cdb885 Add accessibility information for MIAA deployment link (#16064)
* Add accessibility information for MIAA deployment link

* optional
2021-07-12 10:08:59 -07:00
Alex Ma
d8433ddbf4 small update to english XLFs (#16062) 2021-07-12 09:53:47 -07:00
Alex Ma
1c1da18f45 fix for errors in LCL files (#16072)
* fix for errors in LCL files

* remove newline
2021-07-12 09:49:24 -07:00
3686 changed files with 602967 additions and 303368 deletions

View File

@@ -16,6 +16,10 @@
{
"file": ".devcontainer\\devcontainer.json",
"_justification": "Local development environment - not used in production"
},
{
"file": "extensions\\asde-deployment\\notebooks\\edge\\deploy-sql-edge-remote.ipynb",
"_justification": "Deployment Notebook - usernames/passwords are entered by user"
}
]
}

View File

@@ -1,14 +1,14 @@
# Code - OSS Development Container
This repository includes configuration for a development container for working with Code - OSS in an isolated local container or using [GitHub Codespaces](https://github.com/features/codespaces).
This repository includes configuration for a development container for working with Code - OSS in a local container or using [GitHub Codespaces](https://github.com/features/codespaces).
> **Tip:** The default VNC password is `vscode`. The VNC server runs on port `5901` with a web client at `6080`. For better performance, we recommend using a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/). Applications like the macOS Screen Sharing app will not perform as well.
> **Tip:** The default VNC password is `vscode`. The VNC server runs on port `5901` and a web client is available on port `6080`.
## Quick start - local
1. Install Docker Desktop or Docker for Linux on your local machine. (See [docs](https://aka.ms/vscode-remote/containers/getting-started) for additional details.)
2. **Important**: Docker needs at least **4 Cores and 6 GB of RAM (8 GB recommended)** to run full build. If you on macOS, or using the old Hyper-V engine for Windows, update these values for Docker Desktop by right-clicking on the Docker status bar item, going to **Preferences/Settings > Resources > Advanced**.
2. **Important**: Docker needs at least **4 Cores and 6 GB of RAM (8 GB recommended)** to run a full build. If you are on macOS, or are using the old Hyper-V engine for Windows, update these values for Docker Desktop by right-clicking on the Docker status bar item and going to **Preferences/Settings > Resources > Advanced**.
> **Note:** The [Resource Monitor](https://marketplace.visualstudio.com/items?itemName=mutantdino.resourcemonitor) extension is included in the container so you can keep an eye on CPU/Memory in the status bar.
@@ -16,53 +16,56 @@ This repository includes configuration for a development container for working w
![Image of Remote - Containers extension](https://microsoft.github.io/vscode-remote-release/images/remote-containers-extn.png)
> Note that the Remote - Containers extension requires the Visual Studio Code distribution of Code - OSS. See the [FAQ](https://aka.ms/vscode-remote/faq/license) for details.
> **Note:** The Remote - Containers extension requires the Visual Studio Code distribution of Code - OSS. See the [FAQ](https://aka.ms/vscode-remote/faq/license) for details.
4. Press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> and select **Remote - Containers: Open Repository in Container...**.
4. Press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd> and select **Remote-Containers: Clone Repository in Container Volume...**.
> **Tip:** While you can use your local source tree instead, operations like `yarn install` can be slow on macOS or using the Hyper-V engine on Windows. We recommend the "open repository" approach instead since it uses "named volume" rather than the local filesystem.
> **Tip:** While you can use your local source tree instead, operations like `yarn install` can be slow on macOS or when using the Hyper-V engine on Windows. We recommend the "clone repository in container" approach instead since it uses "named volume" rather than the local filesystem.
5. Type `https://github.com/microsoft/vscode` (or a branch or PR URL) in the input box and press <kbd>Enter</kbd>.
6. After the container is running, open a web browser and go to [http://localhost:6080](http://localhost:6080) or use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to `localhost:5901` and enter `vscode` as the password.
6. After the container is running, open a web browser and go to [http://localhost:6080](http://localhost:6080), or use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to `localhost:5901` and enter `vscode` as the password.
Anything you start in VS Code or the integrated terminal will appear here.
Anything you start in VS Code, or the integrated terminal, will appear here.
Next: **[Try it out!](#try-it)**
## Quick start - GitHub Codespaces
> **IMPORTANT:** You need to use a "Standard" sized codespace or larger (4-core, 8GB) since VS Code needs 6GB of RAM to compile. This is now the default for GitHub Codespaces, but do not downgrade to "Basic" unless you do not intend to compile.
1. From the [microsoft/vscode GitHub repository](https://github.com/microsoft/vscode), click on the **Code** dropdown, select **Open with Codespaces**, and then click on **New codespace**. If prompted, select the **Standard** machine size (which is also the default).
1. From the [microsoft/vscode GitHub repository](https://github.com/microsoft/vscode), click on the **Code** dropdown, select **Open with Codespaces**, and the **New codespace**
> **Note:** You will not see these options within GitHub if you are not in the Codespaces beta.
> Note that you will not see these options if you are not in the beta yet.
2. After the codespace is up and running in your browser, press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd> and select **Ports: Focus on Ports View**.
2. After the codespace is up and running in your browser, press <kbd>F1</kbd> and select **Ports: Focus on Ports View**.
3. You should see **VNC web client (6080)** under in the list of ports. Select the line and click on the globe icon to open it in a browser tab.
3. You should see port `6080` under **Forwarded Ports**. Select the line and click on the globe icon to open it in a browser tab.
> If you do not see port `6080`, press <kbd>F1</kbd>, select **Forward a Port** and enter port `6080`.
> **Tip:** If you do not see the port, <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd>, select **Forward a Port** and enter port `6080`.
4. In the new tab, you should see noVNC. Click **Connect** and enter `vscode` as the password.
Anything you start in VS Code or the integrated terminal will appear here.
Anything you start in VS Code, or the integrated terminal, will appear here.
Next: **[Try it out!](#try-it)**
### Using VS Code with GitHub Codespaces
You will likely see better performance when accessing the codespace you created from VS Code since you can use a[VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/). Here's how to do it.
You may see improved VNC responsiveness when accessing a codespace from VS Code client since you can use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/). Here's how to do it.
1. [Create a codespace](#quick-start---github-codespaces) if you have not already.
1. Install [Visual Studio Code Stable](https://code.visualstudio.com/) or [Insiders](https://code.visualstudio.com/insiders/) and the the [GitHub Codespaces extension](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces).
2. Set up [VS Code for use with GitHub Codespaces](https://docs.github.com/github/developing-online-with-codespaces/using-codespaces-in-visual-studio-code)
> **Note:** The GitHub Codespaces extension requires the Visual Studio Code distribution of Code - OSS.
3. After the VS Code is up and running, press <kbd>F1</kbd>, choose **Codespaces: Connect to Codespace**, and select the codespace you created.
2. After the VS Code is up and running, press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd>, choose **Codespaces: Create New Codespace**, and use the following settings:
- `microsoft/vscode` for the repository.
- Select any branch (e.g. **main**) - you select a different one later.
- Choose **Standard** (4-core, 8GB) as the size.
4. After you've connected to the codespace, use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to `localhost:5901` and enter `vscode` as the password.
4. After you have connected to the codespace, you can use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to `localhost:5901` and enter `vscode` as the password.
5. Anything you start in VS Code or the integrated terminal will appear here.
> **Tip:** You may also need change your VNC client's **Picture Quaility** setting to **High** to get a full color desktop.
5. Anything you start in VS Code, or the integrated terminal, will appear here.
Next: **[Try it out!](#try-it)**
@@ -70,20 +73,18 @@ Next: **[Try it out!](#try-it)**
This container uses the [Fluxbox](http://fluxbox.org/) window manager to keep things lean. **Right-click on the desktop** to see menu options. It works with GNOME and GTK applications, so other tools can be installed if needed.
Note you can also set the resolution from the command line by typing `set-resolution`.
> **Note:** You can also set the resolution from the command line by typing `set-resolution`.
To start working with Code - OSS, follow these steps:
1. In your local VS Code, open a terminal (<kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>\`</kbd>) and type the following commands:
1. In your local VS Code client, open a terminal (<kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>\`</kbd>) and type the following commands:
```bash
yarn install
bash scripts/code.sh
```
Note that a previous run of `yarn install` will already be cached, so this step should simply pick up any recent differences.
2. After the build is complete, open a web browser or a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to the desktop environnement as described in the quick start and enter `vscode` as the password.
2. After the build is complete, open a web browser or a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to the desktop environment as described in the quick start and enter `vscode` as the password.
3. You should now see Code - OSS!
@@ -91,7 +92,7 @@ Next, let's try debugging.
1. Shut down Code - OSS by clicking the box in the upper right corner of the Code - OSS window through your browser or VNC viewer.
2. Go to your local VS Code client, and use Run / Debug view to launch the **VS Code** configuration. (Typically the default, so you can likely just press <kbd>F5</kbd>).
2. Go to your local VS Code client, and use the **Run / Debug** view to launch the **VS Code** configuration. (Typically the default, so you can likely just press <kbd>F5</kbd>).
> **Note:** If launching times out, you can increase the value of `timeout` in the "VS Code", "Attach Main Process", "Attach Extension Host", and "Attach to Shared Process" configurations in [launch.json](../.vscode/launch.json). However, running `scripts/code.sh` first will set up Electron which will usually solve timeout issues.

View File

@@ -3,20 +3,26 @@
// Image contents: https://github.com/microsoft/vscode-dev-containers/blob/master/repository-containers/images/github.com/microsoft/vscode/.devcontainer/base.Dockerfile
"image": "mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:branch-main",
"workspaceMount": "source=${localWorkspaceFolder},target=/home/node/workspace/vscode,type=bind,consistency=cached",
"workspaceFolder": "/home/node/workspace/vscode",
"overrideCommand": false,
"runArgs": [ "--init", "--security-opt", "seccomp=unconfined"],
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
"resmon.show.battery": false,
"resmon.show.cpufreq": false
},
// noVNC, VNC, debug ports
"forwardPorts": [6080, 5901, 9222],
// noVNC, VNC
"forwardPorts": [6080, 5901],
"portsAttributes": {
"6080": {
"label": "VNC web client (noVNC)",
"onAutoForward": "silent"
},
"5901": {
"label": "VNC TCP port",
"onAutoForward": "silent"
}
},
"extensions": [
"dbaeumer.vscode-eslint",

View File

@@ -12,6 +12,8 @@
**/vscode-api-tests/testWorkspace2/**
**/extensions/**/out/**
**/extensions/**/build/**
**/big-data-cluster/src/bigDataCluster/controller/apiGenerated.ts
**/big-data-cluster/src/bigDataCluster/controller/clusterApiGenerated2.ts
**/extensions/markdown-language-features/media/**
**/extensions/markdown-language-features/notebook-out/**
**/extensions/typescript-basics/test/colorize-fixtures/**

View File

@@ -104,6 +104,7 @@
"restrictions": [
"assert",
"sinon",
"sinon-test",
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/test/common/**"
@@ -141,6 +142,7 @@
"restrictions": [
"assert",
"sinon",
"sinon-test",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/test/{common,browser}/**",
@@ -220,6 +222,7 @@
"assert",
"typemoq",
"sinon",
"sinon-test",
"vs/nls",
"azdata",
"**/{vs,sql}/base/common/**",
@@ -292,6 +295,7 @@
"typemoq",
"sinon",
"azdata",
"sinon-test",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/test/{common,browser}/**",
@@ -315,6 +319,7 @@
"restrictions": [
"assert",
"sinon",
"sinon-test",
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/platform/*/common/**",
@@ -338,6 +343,7 @@
"restrictions": [
"assert",
"sinon",
"sinon-test",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
@@ -361,6 +367,7 @@
"restrictions": [
"assert",
"sinon",
"sinon-test",
"vs/nls",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/platform/*/common/**",
@@ -387,6 +394,7 @@
"restrictions": [
"assert",
"sinon",
"sinon-test",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/platform/*/{common,browser}/**",
@@ -401,6 +409,7 @@
"restrictions": [
"assert",
"sinon",
"sinon-test",
"vs/nls",
"**/{vs,sql}/base/{common,browser}/**",
"**/{vs,sql}/base/test/{common,browser}/**",
@@ -523,7 +532,7 @@
"**/{vs,sql}/platform/**",
"**/{vs,sql}/editor/**",
"**/{vs,sql}/workbench/{common,browser,node,electron-sandbox,electron-browser}/**",
"vs/workbench/contrib/files/common/editors/fileEditorInput",
"vs/workbench/contrib/files/browser/editors/fileEditorInput",
"**/{vs,sql}/workbench/services/**",
"**/{vs,sql}/workbench/test/**",
"*" // node modules
@@ -581,7 +590,9 @@
"iconv-lite-umd",
"jschardet",
"@angular/*",
"rxjs/**"
"rxjs/**",
"sanitize-html",
"ansi_up"
]
},
{
@@ -738,12 +749,12 @@
"rxjs/**",
"ng2-charts",
"chart.js",
"plotly.js-dist-min",
"plotly.js",
"angular2-grid",
"html-query-plan",
"kburtram-query-plan",
"html-to-image",
"turndown",
"gridstack",
"gridstack/**",
"mark.js",
"vscode-textmate",
"vscode-oniguruma",
@@ -956,6 +967,7 @@
"**/{vs,sql}/**",
"assert",
"sinon",
"sinon-test",
"crypto",
"vscode",
"typemoq",
@@ -991,6 +1003,7 @@
"assert",
"typemoq",
"sinon",
"sinon-test",
"crypto",
"xterm*",
"azdata"
@@ -1003,6 +1016,7 @@
"assert",
"typemoq",
"sinon",
"sinon-test",
"crypto",
"xterm*"
]
@@ -1040,6 +1054,7 @@
"vscode-dts-cancellation": "warn",
"vscode-dts-use-thenable": "warn",
"vscode-dts-region-comments": "warn",
"vscode-dts-vscode-in-comments": "warn",
"vscode-dts-provider-naming": [
"warn",
{

View File

@@ -10,6 +10,7 @@
"jsdoc"
],
"rules": {
"no-cond-assign": 2,
"@typescript-eslint/no-floating-promises": [
"error",
{

8
.github/CODEOWNERS vendored
View File

@@ -3,10 +3,11 @@
# Syntax can be found here: https://docs.github.com/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax
/extensions/admin-tool-ext-win @Charles-Gagnon
/extensions/arc/ @Charles-Gagnon
/extensions/azdata/ @Charles-Gagnon
/extensions/arc/ @Charles-Gagnon @swells @candiceye
/extensions/azcli/ @Charles-Gagnon @swells @candiceye
/extensions/big-data-cluster/ @Charles-Gagnon
/extensions/dacpac/ @kisantia
/extensions/notebook @azure-data-studio-notebook-devs
/extensions/query-history/ @Charles-Gagnon
/extensions/resource-deployment/ @Charles-Gagnon
/extensions/schema-compare/ @kisantia
@@ -14,3 +15,6 @@
/extensions/mssql/config.json @Charles-Gagnon @alanrenmsft @kburtram
/src/sql/*.d.ts @alanrenmsft @Charles-Gagnon
/src/sql/workbench/browser/modelComponents @Charles-Gagnon @alanrenmsft
/src/sql/workbench/api @Charles-Gagnon @alanrenmsft
/src/sql/**/notebook @azure-data-studio-notebook-devs

View File

@@ -1,3 +1,4 @@
# actions for Needs Logs label
Needs Logs:
comment: "We need more info to debug your particular issue. If you could attach your logs to the issue (ensure no private data is in them), it would help us fix the issue much faster.
@@ -25,3 +26,11 @@ There are two types of logs to collect:
- Run the command: **`Developer: Open Logs Folder`**
- This will open the log folder locally. Please zip up this folder and attach it to the issue."
# actions for Out of Scope label
Out of Scope:
comment: "Thank you for opening this suggestion! This enhancement is not planned in our
medium-term roadmap. The issue is being closed to reduce active issues to focus on
enhancements that are being considered for an upcoming release. We will review closed issues
with the 'Out of Scope' label when doing long-term planning."
close: true

View File

@@ -4,6 +4,7 @@
"rchiodo",
"greazer",
"donjayamanne",
"jilljac"
"jilljac",
"IanMatthewHuff"
]
}

View File

@@ -204,6 +204,14 @@ jobs:
- name: Compile and Download
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions
# This is required for keytar unittests, otherwise we hit
# https://github.com/atom/node-keytar/issues/76
- name: Create temporary keychain
run: |
security create-keychain -p pwd $RUNNER_TEMP/buildagent.keychain
security default-keychain -s $RUNNER_TEMP/buildagent.keychain
security unlock-keychain -p pwd $RUNNER_TEMP/buildagent.keychain
- name: Run Unit Tests (Electron)
run: DISPLAY=:10 ./scripts/test.sh
@@ -235,7 +243,6 @@ jobs:
with:
path: "**/node_modules"
key: ${{ runner.os }}-cacheNodeModules13-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules13-
- name: Get yarn cache directory path
id: yarnCacheDirPath
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
@@ -271,6 +278,9 @@ jobs:
# - name: Run Monaco Editor Checks {{SQL CARBON EDIT}} Remove Monaco checks
# run: yarn monaco-compile-check
- name: Compile /build/
run: yarn --cwd build compile
- name: Run Trusted Types Checks
run: yarn tsec-compile-check

View File

@@ -1,33 +0,0 @@
/**
* @name No floating promises
* @kind problem
* @problem.severity error
* @id js/experimental/floating-promise
*/
import javascript
private predicate isEscapingPromise(PromiseDefinition promise) {
exists (DataFlow::Node escape | promise.flowsTo(escape) |
escape = any(DataFlow::InvokeNode invk).getAnArgument()
or
escape = any(DataFlow::FunctionNode fun).getAReturn()
or
escape = any(ThrowStmt t).getExpr().flow()
or
escape = any(GlobalVariable v).getAnAssignedExpr().flow()
or
escape = any(DataFlow::PropWrite write).getRhs()
or
exists(WithStmt with, Assignment assign |
with.mayAffect(assign.getLhs()) and
assign.getRhs().flow() = escape
)
)
}
from PromiseDefinition promise
where
not exists(promise.getAMethodCall(any(string m | m = "then" or m = "catch" or m = "finally"))) and
not exists (AwaitExpr e | promise.flowsTo(e.getOperand().flow())) and
not isEscapingPromise(promise)
select promise, "This promise appears to be a floating promise"

531
.vscode/launch.json vendored
View File

@@ -4,214 +4,25 @@
{
"type": "node",
"request": "launch",
"name": "Gulp Build",
"program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js",
"stopOnEntry": true,
"args": [
"hygiene"
]
},
{
"type": "node",
"request": "attach",
"restart": true,
"name": "Attach to Extension Host",
"timeout": 30000,
"port": 5870,
"outFiles": [
"${workspaceFolder}/out/**/*.js",
"${workspaceFolder}/extensions/*/out/**/*.js"
]
},
{
"type": "pwa-chrome",
"request": "attach",
"name": "Attach to Shared Process",
"timeout": 30000,
"port": 9222,
"urlFilter": "*sharedProcess.html*",
"presentation": {
"hidden": true
}
},
{
"type": "node",
"request": "attach",
"name": "Attach to Search Process",
"port": 5876,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
]
},
{
"type": "node",
"request": "attach",
"name": "Attach to CLI Process",
"port": 5874,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
]
},
{
"type": "node",
"request": "attach",
"name": "Attach to Main Process",
"timeout": 30000,
"port": 5875,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"hidden": true,
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code Emmet Tests",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/extensions/emmet/test-fixtures",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/emmet",
"--extensionTestsPath=${workspaceFolder}/extensions/emmet/out/test"
"name": "Launch Azure Data Studio",
"runtimeExecutable": "${workspaceFolder}/scripts/sql.sh",
"windows": {
"runtimeExecutable": "${workspaceFolder}/scripts/sql.bat",
},
"runtimeArgs": [
"--no-cached-data"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 6
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code Git Tests",
"runtimeExecutable": "${execPath}",
"args": [
"/tmp/my4g9l",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/git",
"--extensionTestsPath=${workspaceFolder}/extensions/git/out/test"
],
"outFiles": [
"${workspaceFolder}/extensions/git/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 6
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code API Tests (single folder)",
"runtimeExecutable": "${execPath}",
"args": [
// "${workspaceFolder}", // Uncomment for running out of sources.
"${workspaceFolder}/extensions/vscode-api-tests/testWorkspace",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-api-tests",
"--extensionTestsPath=${workspaceFolder}/extensions/vscode-api-tests/out/singlefolder-tests",
"--disable-extensions"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 3
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code API Tests (workspace)",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/extensions/vscode-api-tests/testworkspace.code-workspace",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-api-tests",
"--extensionTestsPath=${workspaceFolder}/extensions/vscode-api-tests/out/workspace-tests"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 4
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code Tokenizer Tests",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/extensions/vscode-colorize-tests/test",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-colorize-tests",
"--extensionTestsPath=${workspaceFolder}/extensions/vscode-colorize-tests/out"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 5
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code Notebook Tests",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/extensions/vscode-notebook-tests/test",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-notebook-tests",
"--extensionTestsPath=${workspaceFolder}/extensions/vscode-notebook-tests/out"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 6
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code Custom Editor Tests",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/extensions/vscode-custom-editor-tests/test-workspace",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-custom-editor-tests",
"--extensionTestsPath=${workspaceFolder}/extensions/vscode-custom-editor-tests/out/test"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 6
"group": "0_ads"
}
},
{
"type": "pwa-chrome",
"request": "attach",
"name": "Attach to azuredatastudio",
"browserAttachLocation": "workspace",
"port": 9222,
"trace": true,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"resolveSourceMapLocations": [
"${workspaceFolder}/out/**/*.js"
],
"perScriptSourcemaps": "yes"
},
{
"type": "pwa-chrome",
"request": "launch",
"name": "Launch azuredatastudio",
"name": "Launch ADS & Debug Renderer",
"windows": {
"runtimeExecutable": "${workspaceFolder}/scripts/sql.bat"
},
@@ -222,7 +33,7 @@
"runtimeExecutable": "${workspaceFolder}/scripts/sql.sh"
},
"port": 9222,
"timeout": 20000,
"timeout": 30000,
"env": {
"VSCODE_EXTHOST_WILL_SEND_SOCKET": null,
"VSCODE_SKIP_PRELAUNCH": "1"
@@ -242,97 +53,89 @@
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"browserLaunchLocation": "workspace"
"browserLaunchLocation": "workspace",
"presentation": {
"group": "1_debug",
"order": 2
}
},
{
"type": "node",
"request": "launch",
"name": "Launch ADS (Web) (TBD)",
"program": "${workspaceFolder}/resources/web/code-web.js",
"request": "attach",
"restart": true,
"name": "Attach to Extension Host",
"timeout": 30000,
"port": 5870,
"outFiles": [
"${workspaceFolder}/out/**/*.js",
"${workspaceFolder}/extensions/*/out/**/*.js"
],
"presentation": {
"group": "0_vscode",
"group": "2_attach"
}
},
{
"type": "pwa-chrome",
"request": "attach",
"name": "Attach to Shared Process",
"timeout": 30000,
"port": 9222,
"urlFilter": "*sharedProcess.html*",
"presentation": {
"group": "2_attach"
}
},
{
"type": "node",
"request": "attach",
"name": "Attach to Main Process",
"timeout": 30000,
"port": 5875,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "2_attach"
}
},
{
"type": "pwa-chrome",
"request": "attach",
"name": "Attach to Renderer",
"browserAttachLocation": "workspace",
"port": 9222,
"timeout": 30000,
"trace": true,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"resolveSourceMapLocations": [
"${workspaceFolder}/out/**/*.js"
],
"perScriptSourcemaps": "yes",
"presentation": {
"group": "2_attach",
"order": 2
}
},
{
"type": "node",
"request": "launch",
"name": "Main Process",
"runtimeExecutable": "${workspaceFolder}/scripts/code.sh",
"windows": {
"runtimeExecutable": "${workspaceFolder}/scripts/code.bat",
},
"runtimeArgs": [
"--no-cached-data"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "1_vscode",
"order": 1
}
},
{
"type": "pwa-chrome",
"request": "launch",
"outFiles": [],
"perScriptSourcemaps": "yes",
"name": "VS Code (Web, Chrome)",
"url": "http://localhost:8080",
"preLaunchTask": "Run web",
"presentation": {
"group": "0_vscode",
"order": 3
}
},
{
"type": "pwa-msedge",
"request": "launch",
"outFiles": [],
"perScriptSourcemaps": "yes",
"name": "VS Code (Web, Edge)",
"url": "http://localhost:8080",
"pauseForSourceMap": false,
"preLaunchTask": "Run web",
"presentation": {
"group": "0_vscode",
"order": 3
}
},
{
"type": "node",
"request": "launch",
"name": "Git Unit Tests",
"program": "${workspaceFolder}/extensions/git/node_modules/mocha/bin/_mocha",
"stopOnEntry": false,
"cwd": "${workspaceFolder}/extensions/git",
"outFiles": [
"${workspaceFolder}/extensions/git/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 10
}
},
{
"type": "node",
"request": "launch",
"name": "Launch Smoke Test",
"name": "Run Smoke Tests",
"program": "${workspaceFolder}/test/smoke/test/index.js",
"cwd": "${workspaceFolder}/test/smoke",
"env": {
"BUILD_ARTIFACTSTAGINGDIRECTORY": "${workspaceFolder}"
},
"presentation": {
"group": "5_tests",
"order": 8
"group": "3_tests",
"order": 5
}
},
{
"type": "pwa-node",
"request": "launch",
"name": "Run Unit Tests",
"name": "Run Core Unit Tests",
"program": "${workspaceFolder}/test/unit/electron/index.js",
"runtimeExecutable": "${workspaceFolder}/.build/electron/Azure Data Studio.app/Contents/MacOS/Electron",
"windows": {
@@ -350,19 +153,20 @@
"${workspaceFolder}/out/**/*.js"
],
"cascadeTerminateToConfigurations": [
"Attach to azuredatastudio"
"Attach to Renderer"
],
"env": {
"MOCHA_COLORS": "true"
},
"presentation": {
"hidden": true
"group": "3_tests",
"order": 1
}
},
{
"type": "pwa-node",
"request": "launch",
"name": "Run Unit Tests For Current File",
"name": "Run Core Unit Tests (Current File)",
"program": "${workspaceFolder}/test/unit/electron/index.js",
"runtimeExecutable": "${workspaceFolder}/.build/electron/Azure Data Studio.app/Contents/MacOS/Electron",
"windows": {
@@ -372,7 +176,7 @@
"runtimeExecutable": "${workspaceFolder}/.build/electron/azuredatastudio"
},
"cascadeTerminateToConfigurations": [
"Attach to azuredatastudio"
"Attach to Renderer"
],
"outputCapture": "std",
"args": [
@@ -386,6 +190,10 @@
],
"env": {
"MOCHA_COLORS": "true"
},
"presentation": {
"group": "3_tests",
"order": 2
}
},
{
@@ -402,7 +210,11 @@
"runtimeExecutable": "${workspaceFolder}/scripts/test-extensions-unit.sh"
},
"webRoot": "${workspaceFolder}",
"timeout": 45000
"timeout": 45000,
"presentation": {
"group": "3_tests",
"order": 3
}
},
{
"type": "chrome",
@@ -418,82 +230,139 @@
"runtimeExecutable": "${workspaceFolder}/scripts/sql-test-integration.sh"
},
"webRoot": "${workspaceFolder}",
"timeout": 45000
"timeout": 45000,
"presentation": {
"group": "3_tests",
"order": 4
}
},
{
"type": "node",
"request": "launch",
"name": "Launch Azure Data Studio (Web) (TBD)",
"program": "${workspaceFolder}/resources/web/code-web.js",
"presentation": {
"group": "4_web"
}
},
{
"type": "pwa-chrome",
"request": "launch",
"outFiles": [],
"perScriptSourcemaps": "yes",
"name": "Launch Azure Data Studio (Web, Chrome)",
"url": "http://localhost:8080",
"preLaunchTask": "Run web",
"presentation": {
"group": "4_web"
}
},
{
"type": "pwa-msedge",
"request": "launch",
"outFiles": [],
"perScriptSourcemaps": "yes",
"name": "Launch Azure Data Studio (Web, Edge)",
"url": "http://localhost:8080",
"pauseForSourceMap": false,
"preLaunchTask": "Run web",
"presentation": {
"group": "4_web"
}
}
],
"compounds": [
{
"name": "Debug Unit Tests",
"name": "Launch ADS & Debug Renderer and Extension Host",
"configurations": [
"Attach to azuredatastudio",
"Run Unit Tests"
]
"Launch ADS & Debug Renderer",
"Attach to Extension Host"
],
"presentation": {
"group": "1_debug",
"order": 1
}
},
{
"name": "Launch ADS & Debug Extension Host",
"configurations": [
"Launch Azure Data Studio",
"Attach to Extension Host"
],
"presentation": {
"group": "1_debug",
"order": 3
}
},
{
"name": "Launch ADS & Debug Main, Renderer and Extension Host",
"configurations": [
"Launch ADS & Debug Renderer",
"Attach to Main Process",
"Attach to Extension Host"
],
"presentation": {
"group": "1_debug",
"order": 4
}
},
{
"name": "Launch ADS & Debug All",
"stopAll": true,
"configurations": [
"Launch Azure Data Studio",
"Attach to Main Process",
"Attach to Extension Host",
"Attach to Shared Process",
"Attach to Renderer"
],
"preLaunchTask": "Ensure Prelaunch Dependencies",
"presentation": {
"group": "1_debug",
"order": 5
}
},
{
"name": "Attach to Renderer and Extension Host",
"configurations": [
"Attach to Renderer",
"Attach to Extension Host"
],
"presentation": {
"group": "2_attach",
"order": 1
}
},
{
"name": "Debug Core Unit Tests",
"configurations": [
"Attach to Renderer",
"Run Core Unit Tests"
],
"presentation": {
"group": "3_tests",
"order": 6
}
},
{
"name": "Debug Extension Unit Tests",
"configurations": [
"Attach to Extension Host",
"Run Extension Unit Tests"
]
},
{
"name": "Azure Data Studio",
"stopAll": true,
"configurations": [
"Launch azuredatastudio",
"Attach to Main Process",
"Attach to Extension Host",
"Attach to Shared Process",
],
"preLaunchTask": "Ensure Prelaunch Dependencies",
"presentation": {
"group": "0_vscode",
"order": 1
"group": "3_tests"
}
},
{
"name": "Debug azuredatastudio Main, Renderer & Extension Host",
"name": "Debug Core Unit Tests (Current File)",
"configurations": [
"Launch azuredatastudio",
"Attach to Main Process",
"Attach to Extension Host"
"Attach to Renderer",
"Run Core Unit Tests (Current File)"
],
"presentation": {
"group": "1_vscode",
"order": 3
}
},
{
"name": "Debug Renderer and Extension Host processes",
"configurations": [
"Launch azuredatastudio",
"Attach to Extension Host"
],
"presentation": {
"group": "1_vscode",
"order": 2
}
},
{
"name": "Attach Renderer and Extension Host",
"configurations": [
"Attach to azuredatastudio",
"Attach to Extension Host"
],
"presentation": {
"group": "1_vscode",
"order": 2
}
},
{
"name": "Debug Unit Tests (Current File)",
"configurations": [
"Attach to azuredatastudio",
"Run Unit Tests For Current File"
],
"presentation": {
"group": "1_vscode",
"order": 2
"group": "3_tests",
"order": 8
}
}
]

View File

@@ -2,37 +2,31 @@
{
"kind": 1,
"language": "markdown",
"value": "#### Config",
"editable": true
"value": "#### Config"
},
{
"kind": 2,
"language": "github-issues",
"value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"April 2021\"",
"editable": true
"value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"June 2021\""
},
{
"kind": 1,
"language": "markdown",
"value": "### Finalization",
"editable": true
"value": "### Finalization"
},
{
"kind": 2,
"language": "github-issues",
"value": "$repo $milestone label:api-finalization",
"editable": true
"value": "$repo $milestone label:api-finalization"
},
{
"kind": 1,
"language": "markdown",
"value": "### Proposals",
"editable": true
"value": "### Proposals"
},
{
"kind": 2,
"language": "github-issues",
"value": "$repo $milestone is:open label:api-proposal ",
"editable": true
"value": "$repo $milestone is:open label:api-proposal "
}
]

View File

@@ -7,7 +7,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub\n\n$MILESTONE=milestone:\"April 2021\""
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub\n\n$MILESTONE=milestone:\"May 2021\""
},
{
"kind": 1,

View File

@@ -7,7 +7,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub\n\n$MILESTONE=milestone:\"April 2021\"\n\n$MINE=assignee:@me"
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub\n\n$MILESTONE=milestone:\"May 2021\"\n\n$MINE=assignee:@me"
},
{
"kind": 1,
@@ -157,7 +157,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:bamurtaugh -author:bpasero -author:btholt -author:chrisdias -author:chrmarti -author:Chuxel -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:eamodio -author:egamma -author:fiveisprime -author:gregvanl -author:isidorn -author:ItalyPaleAle -author:JacksonKearl -author:joaomoreno -author:jrieken -author:kieferrm -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:ornellaalt -author:orta -author:rebornix -author:RMacfarlane -author:roblourens -author:rzhao271 -author:sana-ajani -author:sandy081 -author:sbatten -author:stevencl -author:Tyriar -author:weinand -author:TylerLeonhardt -author:lramos15"
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:bamurtaugh -author:bpasero -author:btholt -author:chrisdias -author:chrmarti -author:Chuxel -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:eamodio -author:egamma -author:fiveisprime -author:gregvanl -author:isidorn -author:ItalyPaleAle -author:JacksonKearl -author:joaomoreno -author:jrieken -author:kieferrm -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:ornellaalt -author:orta -author:rebornix -author:RMacfarlane -author:roblourens -author:rzhao271 -author:sana-ajani -author:sandy081 -author:sbatten -author:stevencl -author:Tyriar -author:weinand -author:TylerLeonhardt -author:lramos15 -author:hediet"
},
{
"kind": 1,

View File

@@ -2,20 +2,17 @@
{
"kind": 1,
"language": "markdown",
"value": "##### `Config`: This should be changed every month/milestone",
"editable": true
"value": "##### `Config`: This should be changed every month/milestone"
},
{
"kind": 2,
"language": "github-issues",
"value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog\n\n// current milestone name\n$milestone=milestone:\"April 2021\"",
"editable": true
"value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog\n\n// current milestone name\n$milestone=milestone:\"June 2021\""
},
{
"kind": 1,
"language": "github-issues",
"value": "## Milestone Work",
"editable": true
"language": "markdown",
"value": "## Milestone Work"
},
{
"kind": 2,
@@ -25,57 +22,48 @@
},
{
"kind": 1,
"language": "github-issues",
"value": "## Bugs, Debt, Features...",
"editable": true
"language": "markdown",
"value": "## Bugs, Debt, Features..."
},
{
"kind": 1,
"language": "markdown",
"value": "#### My Bugs",
"editable": true
"value": "#### My Bugs"
},
{
"kind": 2,
"language": "github-issues",
"value": "$repos assignee:@me is:open label:bug",
"editable": true
"value": "$repos assignee:@me is:open label:bug"
},
{
"kind": 1,
"language": "markdown",
"value": "#### Debt & Engineering",
"editable": true
"value": "#### Debt & Engineering"
},
{
"kind": 2,
"language": "github-issues",
"value": "$repos assignee:@me is:open label:debt OR $repos assignee:@me is:open label:engineering",
"editable": true
"value": "$repos assignee:@me is:open label:debt OR $repos assignee:@me is:open label:engineering"
},
{
"kind": 1,
"language": "markdown",
"value": "#### Performance 🐌 🔜 🏎",
"editable": true
"value": "#### Performance 🐌 🔜 🏎"
},
{
"kind": 2,
"language": "github-issues",
"value": "$repos assignee:@me is:open label:perf OR $repos assignee:@me is:open label:perf-startup OR $repos assignee:@me is:open label:perf-bloat OR $repos assignee:@me is:open label:freeze-slow-crash-leak",
"editable": true
"value": "$repos assignee:@me is:open label:perf OR $repos assignee:@me is:open label:perf-startup OR $repos assignee:@me is:open label:perf-bloat OR $repos assignee:@me is:open label:freeze-slow-crash-leak"
},
{
"kind": 1,
"language": "markdown",
"value": "#### Feature Requests",
"editable": true
"value": "#### Feature Requests"
},
{
"kind": 2,
"language": "github-issues",
"value": "$repos assignee:@me is:open label:feature-request milestone:Backlog sort:reactions-+1-desc",
"editable": true
"value": "$repos assignee:@me is:open label:feature-request milestone:Backlog sort:reactions-+1-desc"
},
{
"kind": 2,
@@ -86,26 +74,22 @@
{
"kind": 1,
"language": "markdown",
"value": "### Personal Inbox\n",
"editable": true
"value": "### Personal Inbox\n"
},
{
"kind": 1,
"language": "markdown",
"value": "\n#### Missing Type label",
"editable": true
"value": "\n#### Missing Type label"
},
{
"kind": 2,
"language": "github-issues",
"value": "$repos assignee:@me is:open type:issue -label:bug -label:\"needs more info\" -label:feature-request -label:under-discussion -label:debt -label:plan-item -label:upstream",
"editable": true
"value": "$repos assignee:@me is:open type:issue -label:bug -label:\"needs more info\" -label:feature-request -label:under-discussion -label:debt -label:plan-item -label:upstream"
},
{
"kind": 1,
"language": "markdown",
"value": "#### Not Actionable",
"editable": true
"value": "#### Not Actionable"
},
{
"kind": 2,

53
.vscode/tasks.json vendored
View File

@@ -55,39 +55,11 @@
}
}
},
{
"type": "npm",
"script": "watch-extension-mediad",
"label": "Ext Media - Build",
"isBackground": true,
"presentation": {
"reveal": "never",
"group": "buildWatchers"
},
"problemMatcher": {
"owner": "typescript",
"applyTo": "closedDocuments",
"fileLocation": [
"absolute"
],
"pattern": {
"regexp": "Error: ([^(]+)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\): (.*)$",
"file": 1,
"location": 2,
"message": 3
},
"background": {
"beginsPattern": "Starting compilation",
"endsPattern": "Finished compilation"
}
}
},
{
"label": "VS Code - Build",
"dependsOn": [
"Core - Build",
"Ext - Build",
"Ext Media - Build",
"Ext - Build"
],
"group": {
"kind": "build",
@@ -102,7 +74,8 @@
"group": "build",
"presentation": {
"reveal": "never",
"group": "buildKillers"
"group": "buildKillers",
"close": true
},
"problemMatcher": "$tsc"
},
@@ -113,18 +86,8 @@
"group": "build",
"presentation": {
"reveal": "never",
"group": "buildKillers"
},
"problemMatcher": "$tsc"
},
{
"type": "npm",
"script": "kill-watch-extension-mediad",
"label": "Kill Ext Media - Build",
"group": "build",
"presentation": {
"reveal": "never",
"group": "buildKillers"
"group": "buildKillers",
"close": true
},
"problemMatcher": "$tsc"
},
@@ -132,8 +95,7 @@
"label": "Kill VS Code - Build",
"dependsOn": [
"Kill Core - Build",
"Kill Ext - Build",
"Kill Ext Media - Build",
"Kill Ext - Build"
],
"group": "build",
"problemMatcher": []
@@ -252,7 +214,8 @@
"command": "node build/lib/preLaunch.js",
"label": "Ensure Prelaunch Dependencies",
"presentation": {
"reveal": "silent"
"reveal": "silent",
"close": true
}
},
{

View File

@@ -1,3 +1,3 @@
disturl "https://electronjs.org/headers"
target "12.0.7"
target "12.0.9"
runtime "electron"

View File

@@ -1,11 +1,40 @@
# Change Log
## Version 1.32.0
* Release date: August 18, 2021
* Release status: General Availability
* Extension Updates:
* Arc/Az CLI extensions - Azure Arc extension now uses Azure CLI instead of Azure Data CLI for deploying and interacting with Azure Arc
instances
* Langpacks
* SQL Database Projects
* Azure Monitor
* Machine Learning
## Version 1.31.1
* Release date: July 29, 2021
* Release status: General Availability
## Hotfix Release
- Fix for [#16436 Database Connection Toolbar Missing](https://github.com/microsoft/azuredatastudio/issues/16436)
## Version 1.31.0
* Release date: July 21, 2021
* Release status: General Availability
* New Notebook Features:
* WYSIWYG link improvements
* Extension Updates:
* Import
* SandDance
* SQL Database Projects
* Bug Fixes
* Accessibility bug fixes
## Version 1.30.0
* Release date: June 17, 2021
* Release status: General Availability
* New Notebook Features:
* Show book's notebook TOC title in pinned notebooks view
* Add new book icon
* Add new book icon
* Update Python to 3.8.10
* Query Editor Features:
* Added filtering/sorting feature for query result grid in query editor and notebook, the feature can be invoked from the column headers. Note that this feature is only available when you enable the preview features
@@ -14,7 +43,7 @@
* SQL Database Projects
* Machine Learning
* Bug Fixes
* Fix WYSIWYG Table cell adding new line in table cell
* Fix WYSIWYG Table cell adding new line in table cell
## Version 1.29.0
* Release date: May 19, 2021

View File

@@ -131,10 +131,10 @@ Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the [Source EULA](LICENSE.txt).
[win-user]: https://go.microsoft.com/fwlink/?linkid=2165736
[win-system]: https://go.microsoft.com/fwlink/?linkid=2165737
[win-zip]: https://go.microsoft.com/fwlink/?linkid=2165838
[osx-zip]: https://go.microsoft.com/fwlink/?linkid=2165942
[linux-zip]: https://go.microsoft.com/fwlink/?linkid=2165841
[linux-rpm]: https://go.microsoft.com/fwlink/?linkid=2165842
[linux-deb]: https://go.microsoft.com/fwlink/?linkid=2165738
[win-user]: https://go.microsoft.com/fwlink/?linkid=2170400
[win-system]: https://go.microsoft.com/fwlink/?linkid=2170401
[win-zip]: https://go.microsoft.com/fwlink/?linkid=2170402
[osx-zip]: https://go.microsoft.com/fwlink/?linkid=2169955
[linux-zip]: https://go.microsoft.com/fwlink/?linkid=2170045
[linux-rpm]: https://go.microsoft.com/fwlink/?linkid=2170403
[linux-deb]: https://go.microsoft.com/fwlink/?linkid=2169956

View File

@@ -86,6 +86,125 @@ expressly granted herein, whether by implication, estoppel or otherwise.
Microsoft PROSE SDK: https://microsoft.github.io/prose
atom/language-clojure version 0.22.7 (https://github.com/atom/language-clojure)
atom/language-coffee-script version 0.49.3 (https://github.com/atom/language-coffee-script)
atom/language-css version 0.44.4 (https://github.com/atom/language-css)
atom/language-java version 0.32.1 (https://github.com/atom/language-java)
atom/language-sass version 0.62.1 (https://github.com/atom/language-sass)
atom/language-shellscript version 0.26.0 (https://github.com/atom/language-shellscript)
atom/language-xml version 0.35.2 (https://github.com/atom/language-xml)
better-go-syntax version 1.0.0 (https://github.com/jeff-hykin/better-go-syntax/ )
Colorsublime-Themes version 0.1.0 (https://github.com/Colorsublime/Colorsublime-Themes)
daaain/Handlebars version 1.8.0 (https://github.com/daaain/Handlebars)
dart-lang/dart-syntax-highlight (https://github.com/dart-lang/dart-syntax-highlight)
davidrios/pug-tmbundle (https://github.com/davidrios/pug-tmbundle)
definitelytyped (https://github.com/DefinitelyTyped/DefinitelyTyped)
demyte/language-cshtml version 0.3.0 (https://github.com/demyte/language-cshtml)
Document Object Model version 4.0.0 (https://www.w3.org/DOM/)
dotnet/csharp-tmLanguage version 0.1.0 (https://github.com/dotnet/csharp-tmLanguage)
expand-abbreviation version 0.5.8 (https://github.com/emmetio/expand-abbreviation)
fadeevab/make.tmbundle (https://github.com/fadeevab/make.tmbundle)
freebroccolo/atom-language-swift (https://github.com/freebroccolo/atom-language-swift)
HTML 5.1 W3C Working Draft version 08 October 2015 (http://www.w3.org/TR/2015/WD-html51-20151008/)
Ikuyadeu/vscode-R version 1.3.0 (https://github.com/Ikuyadeu/vscode-R)
insane version 2.6.2 (https://github.com/bevacqua/insane)
Ionic documentation version 1.2.4 (https://github.com/ionic-team/ionic-site)
ionide/ionide-fsgrammar (https://github.com/ionide/ionide-fsgrammar)
jeff-hykin/cpp-textmate-grammar version 1.12.11 (https://github.com/jeff-hykin/cpp-textmate-grammar)
jeff-hykin/cpp-textmate-grammar version 1.15.5 (https://github.com/jeff-hykin/cpp-textmate-grammar)
js-beautify version 1.6.8 (https://github.com/beautify-web/js-beautify)
JuliaEditorSupport/atom-language-julia version 0.21.0 (https://github.com/JuliaEditorSupport/atom-language-julia)
Jxck/assert version 1.0.0 (https://github.com/Jxck/assert)
language-docker (https://github.com/moby/moby)
language-less version 0.34.2 (https://github.com/atom/language-less)
language-php version 0.46.2 (https://github.com/atom/language-php)
MagicStack/MagicPython version 1.1.1 (https://github.com/MagicStack/MagicPython)
marked version 1.1.0 (https://github.com/markedjs/marked)
mdn-data version 1.1.12 (https://github.com/mdn/data)
microsoft/TypeScript-TmLanguage version 0.0.1 (https://github.com/microsoft/TypeScript-TmLanguage)
microsoft/vscode-JSON.tmLanguage (https://github.com/microsoft/vscode-JSON.tmLanguage)
microsoft/vscode-markdown-tm-grammar version 1.0.0 (https://github.com/microsoft/vscode-markdown-tm-grammar)
microsoft/vscode-mssql version 1.9.0 (https://github.com/microsoft/vscode-mssql)
mmims/language-batchfile version 0.7.6 (https://github.com/mmims/language-batchfile)
NVIDIA/cuda-cpp-grammar (https://github.com/NVIDIA/cuda-cpp-grammar)
PowerShell/EditorSyntax version 1.0.0 (https://github.com/PowerShell/EditorSyntax)
rust-syntax version 0.4.3 (https://github.com/dustypomerleau/rust-syntax)
seti-ui version 0.1.0 (https://github.com/jesseweed/seti-ui)
shaders-tmLanguage version 0.1.0 (https://github.com/tgjones/shaders-tmLanguage)
textmate/asp.vb.net.tmbundle (https://github.com/textmate/asp.vb.net.tmbundle)
textmate/c.tmbundle (https://github.com/textmate/c.tmbundle)
textmate/diff.tmbundle (https://github.com/textmate/diff.tmbundle)
textmate/git.tmbundle (https://github.com/textmate/git.tmbundle)
textmate/groovy.tmbundle (https://github.com/textmate/groovy.tmbundle)
textmate/html.tmbundle (https://github.com/textmate/html.tmbundle)
textmate/ini.tmbundle (https://github.com/textmate/ini.tmbundle)
textmate/javascript.tmbundle (https://github.com/textmate/javascript.tmbundle)
textmate/lua.tmbundle (https://github.com/textmate/lua.tmbundle)
textmate/markdown.tmbundle (https://github.com/textmate/markdown.tmbundle)
textmate/perl.tmbundle (https://github.com/textmate/perl.tmbundle)
textmate/ruby.tmbundle (https://github.com/textmate/ruby.tmbundle)
textmate/yaml.tmbundle (https://github.com/textmate/yaml.tmbundle)
TypeScript-TmLanguage version 0.1.8 (https://github.com/microsoft/TypeScript-TmLanguage)
TypeScript-TmLanguage version 1.0.0 (https://github.com/microsoft/TypeScript-TmLanguage)
Unicode version 12.0.0 (https://home.unicode.org/)
vscode-codicons version 0.0.14 (https://github.com/microsoft/vscode-codicons)
vscode-logfile-highlighter version 2.11.0 (https://github.com/emilast/vscode-logfile-highlighter)
vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift)
Web Background Synchronization (https://github.com/WICG/background-sync)
%% atom/language-clojure NOTICES AND INFORMATION BEGIN HERE
=========================================
Copyright (c) 2014 GitHub Inc.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
This package was derived from a TextMate bundle located at
https://github.com/mmcgrana/textmate-clojure and distributed under the
following license, located in `LICENSE.md`:
The MIT License (MIT)
Copyright (c) 2010- Mark McGranaghan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
=========================================
END OF atom/language-clojure NOTICES AND INFORMATION
%% angular NOTICES AND INFORMATION BEGIN HERE
Copyright (c) 2014-2017 Google, Inc. http://angular.io
@@ -560,6 +679,63 @@ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
=========================================
END OF http-proxy-agent NOTICES AND INFORMATION
%% dart-lang/dart-syntax-highlight NOTICES AND INFORMATION BEGIN HERE
=========================================
Copyright 2020, the Dart project authors.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Google LLC nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
=========================================
END OF dart-lang/dart-syntax-highlight NOTICES AND INFORMATION
%% davidrios/pug-tmbundle NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License (MIT)
Copyright (c) 2016 David Rios
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=========================================
END OF davidrios/pug-tmbundle NOTICES AND INFORMATION
%% iconv-lite NOTICES AND INFORMATION BEGIN HERE
=========================================
Copyright (c) 2011 Alexander Shtuchkin
@@ -1486,6 +1662,61 @@ THE SOFTWARE.
=========================================
END OF node-pty NOTICES AND INFORMATION
%% JuliaEditorSupport/atom-language-julia NOTICES AND INFORMATION BEGIN HERE
=========================================
The atom-language-julia package is licensed under the MIT "Expat" License:
> Copyright (c) 2015
>
> Permission is hereby granted, free of charge, to any person obtaining
> a copy of this software and associated documentation files (the
> "Software"), to deal in the Software without restriction, including
> without limitation the rights to use, copy, modify, merge, publish,
> distribute, sublicense, and/or sell copies of the Software, and to
> permit persons to whom the Software is furnished to do so, subject to
> the following conditions:
>
> The above copyright notice and this permission notice shall be
> included in all copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=========================================
END OF JuliaEditorSupport/atom-language-julia NOTICES AND INFORMATION
%% Jxck/assert NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License (MIT)
Copyright (c) 2011 Jxck
Originally from node.js (http://nodejs.org)
Copyright Joyent, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=========================================
END OF Jxck/assert NOTICES AND INFORMATION
%% nsfw NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License (MIT)

View File

@@ -20,8 +20,3 @@ jobs:
vmImage: macOS-latest
steps:
- template: build/azure-pipelines/darwin/continuous-build-darwin.yml
trigger:
branches:
exclude:
- electron-11.x.y

View File

@@ -1 +1 @@
2021-04-07T03:52:18.011Z
2021-08-23T03:52:18.011Z

View File

@@ -17,7 +17,7 @@
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/github": "^2.1.1",
"axios": "^0.21.1",
"axios": "^0.21.4",
"ts-node": "^8.6.2",
"typescript": "^3.8.3"
}

View File

@@ -144,12 +144,12 @@ atob-lite@^2.0.0:
resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696"
integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=
axios@^0.21.1:
version "0.21.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
axios@^0.21.4:
version "0.21.4"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
dependencies:
follow-redirects "^1.10.0"
follow-redirects "^1.14.0"
before-after-hook@^2.0.0:
version "2.1.0"
@@ -207,10 +207,10 @@ execa@^1.0.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
follow-redirects@^1.10.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.1.tgz#5f69b813376cee4fd0474a3aba835df04ab763b7"
integrity sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==
follow-redirects@^1.14.0:
version "1.14.3"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.3.tgz#6ada78118d8d24caee595595accdc0ac6abd022e"
integrity sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==
get-stream@^4.0.0:
version "4.1.0"

View File

@@ -5,15 +5,101 @@
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const url = require("url");
const crypto = require("crypto");
const azure = require("azure-storage");
const mime = require("mime");
const cosmos_1 = require("@azure/cosmos");
const retry_1 = require("./retry");
if (process.argv.length !== 6) {
console.error('Usage: node createAsset.js PLATFORM TYPE NAME FILE');
if (process.argv.length !== 8) {
console.error('Usage: node createAsset.js PRODUCT OS ARCH TYPE NAME FILE');
process.exit(-1);
}
// Contains all of the logic for mapping details to our actual product names in CosmosDB
function getPlatform(product, os, arch, type) {
switch (os) {
case 'win32':
switch (product) {
case 'client':
const asset = arch === 'ia32' ? 'win32' : `win32-${arch}`;
switch (type) {
case 'archive':
return `${asset}-archive`;
case 'setup':
return asset;
case 'user-setup':
return `${asset}-user`;
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
case 'server':
if (arch === 'arm64') {
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
return arch === 'ia32' ? 'server-win32' : `server-win32-${arch}`;
case 'web':
if (arch === 'arm64') {
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
return arch === 'ia32' ? 'server-win32-web' : `server-win32-${arch}-web`;
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
case 'linux':
switch (type) {
case 'snap':
return `linux-snap-${arch}`;
case 'archive-unsigned':
switch (product) {
case 'client':
return `linux-${arch}`;
case 'server':
return `server-linux-${arch}`;
case 'web':
return arch === 'standalone' ? 'web-standalone' : `server-linux-${arch}-web`;
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
case 'deb-package':
return `linux-deb-${arch}`;
case 'rpm-package':
return `linux-rpm-${arch}`;
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
case 'darwin':
switch (product) {
case 'client':
if (arch === 'x64') {
return 'darwin';
}
return `darwin-${arch}`;
case 'server':
return 'server-darwin';
case 'web':
if (arch !== 'x64') {
throw `What should the platform be?: ${product} ${os} ${arch} ${type}`;
}
return 'server-darwin-web';
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
}
// Contains all of the logic for mapping types to our actual types in CosmosDB
function getRealType(type) {
switch (type) {
case 'user-setup':
return 'setup';
case 'deb-package':
case 'rpm-package':
return 'package';
default:
return type;
}
}
function hashStream(hashName, stream) {
return new Promise((c, e) => {
const shasum = crypto.createHash(hashName);
@@ -45,7 +131,10 @@ function getEnv(name) {
return result;
}
async function main() {
const [, , platform, type, fileName, filePath] = process.argv;
const [, , product, os, arch, unprocessedType, fileName, filePath] = process.argv;
// getPlatform needs the unprocessedType
const platform = getPlatform(product, os, arch, unprocessedType);
const type = getRealType(unprocessedType);
const quality = getEnv('VSCODE_QUALITY');
const commit = getEnv('BUILD_SOURCEVERSION');
console.log('Creating asset...');
@@ -65,14 +154,27 @@ async function main() {
console.log(`Blob ${quality}, ${blobName} already exists, not publishing again.`);
return;
}
console.log('Uploading blobs to Azure storage...');
await uploadBlob(blobService, quality, blobName, filePath, fileName);
const mooncakeBlobService = azure.createBlobService(storageAccount, process.env['MOONCAKE_STORAGE_ACCESS_KEY'], `${storageAccount}.blob.core.chinacloudapi.cn`)
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
// mooncake is fussy and far away, this is needed!
blobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
mooncakeBlobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
console.log('Uploading blobs to Azure storage and Mooncake Azure storage...');
await retry_1.retry(() => Promise.all([
uploadBlob(blobService, quality, blobName, filePath, fileName),
uploadBlob(mooncakeBlobService, quality, blobName, filePath, fileName)
]));
console.log('Blobs successfully uploaded.');
// TODO: Understand if blobName and blobPath are the same and replace blobPath with blobName if so.
const assetUrl = `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`;
const blobPath = url.parse(assetUrl).path;
const mooncakeUrl = `${process.env['MOONCAKE_CDN_URL']}${blobPath}`;
const asset = {
platform,
type,
url: `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`,
url: assetUrl,
hash: sha1hash,
mooncakeUrl,
sha256hash,
size
};
@@ -83,7 +185,8 @@ async function main() {
console.log('Asset:', JSON.stringify(asset, null, ' '));
const client = new cosmos_1.CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT'], key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const scripts = client.database('builds').container(quality).scripts;
await (0, retry_1.retry)(() => scripts.storedProcedure('createAsset').execute('', [commit, asset, true]));
await retry_1.retry(() => scripts.storedProcedure('createAsset').execute('', [commit, asset, true]));
console.log(` Done ✔️`);
}
main().then(() => {
console.log('Asset successfully created');

View File

@@ -6,6 +6,7 @@
'use strict';
import * as fs from 'fs';
import * as url from 'url';
import { Readable } from 'stream';
import * as crypto from 'crypto';
import * as azure from 'azure-storage';
@@ -24,11 +25,98 @@ interface Asset {
supportsFastUpdate?: boolean;
}
if (process.argv.length !== 6) {
console.error('Usage: node createAsset.js PLATFORM TYPE NAME FILE');
if (process.argv.length !== 8) {
console.error('Usage: node createAsset.js PRODUCT OS ARCH TYPE NAME FILE');
process.exit(-1);
}
// Contains all of the logic for mapping details to our actual product names in CosmosDB
function getPlatform(product: string, os: string, arch: string, type: string): string {
switch (os) {
case 'win32':
switch (product) {
case 'client':
const asset = arch === 'ia32' ? 'win32' : `win32-${arch}`;
switch (type) {
case 'archive':
return `${asset}-archive`;
case 'setup':
return asset;
case 'user-setup':
return `${asset}-user`;
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
case 'server':
if (arch === 'arm64') {
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
return arch === 'ia32' ? 'server-win32' : `server-win32-${arch}`;
case 'web':
if (arch === 'arm64') {
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
return arch === 'ia32' ? 'server-win32-web' : `server-win32-${arch}-web`;
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
case 'linux':
switch (type) {
case 'snap':
return `linux-snap-${arch}`;
case 'archive-unsigned':
switch (product) {
case 'client':
return `linux-${arch}`;
case 'server':
return `server-linux-${arch}`;
case 'web':
return arch === 'standalone' ? 'web-standalone' : `server-linux-${arch}-web`;
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
case 'deb-package':
return `linux-deb-${arch}`;
case 'rpm-package':
return `linux-rpm-${arch}`;
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
case 'darwin':
switch (product) {
case 'client':
if (arch === 'x64') {
return 'darwin';
}
return `darwin-${arch}`;
case 'server':
return 'server-darwin';
case 'web':
if (arch !== 'x64') {
throw `What should the platform be?: ${product} ${os} ${arch} ${type}`;
}
return 'server-darwin-web';
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
default:
throw `Unrecognized: ${product} ${os} ${arch} ${type}`;
}
}
// Contains all of the logic for mapping types to our actual types in CosmosDB
function getRealType(type: string) {
switch (type) {
case 'user-setup':
return 'setup';
case 'deb-package':
case 'rpm-package':
return 'package';
default:
return type;
}
}
function hashStream(hashName: string, stream: Readable): Promise<string> {
return new Promise<string>((c, e) => {
const shasum = crypto.createHash(hashName);
@@ -68,7 +156,10 @@ function getEnv(name: string): string {
}
async function main(): Promise<void> {
const [, , platform, type, fileName, filePath] = process.argv;
const [, , product, os, arch, unprocessedType, fileName, filePath] = process.argv;
// getPlatform needs the unprocessedType
const platform = getPlatform(product, os, arch, unprocessedType);
const type = getRealType(unprocessedType);
const quality = getEnv('VSCODE_QUALITY');
const commit = getEnv('BUILD_SOURCEVERSION');
@@ -98,17 +189,33 @@ async function main(): Promise<void> {
return;
}
console.log('Uploading blobs to Azure storage...');
const mooncakeBlobService = azure.createBlobService(storageAccount, process.env['MOONCAKE_STORAGE_ACCESS_KEY']!, `${storageAccount}.blob.core.chinacloudapi.cn`)
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
await uploadBlob(blobService, quality, blobName, filePath, fileName);
// mooncake is fussy and far away, this is needed!
blobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
mooncakeBlobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
console.log('Uploading blobs to Azure storage and Mooncake Azure storage...');
await retry(() => Promise.all([
uploadBlob(blobService, quality, blobName, filePath, fileName),
uploadBlob(mooncakeBlobService, quality, blobName, filePath, fileName)
]));
console.log('Blobs successfully uploaded.');
// TODO: Understand if blobName and blobPath are the same and replace blobPath with blobName if so.
const assetUrl = `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`;
const blobPath = url.parse(assetUrl).path;
const mooncakeUrl = `${process.env['MOONCAKE_CDN_URL']}${blobPath}`;
const asset: Asset = {
platform,
type,
url: `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`,
url: assetUrl,
hash: sha1hash,
mooncakeUrl,
sha256hash,
size
};
@@ -123,6 +230,8 @@ async function main(): Promise<void> {
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const scripts = client.database('builds').container(quality).scripts;
await retry(() => scripts.storedProcedure('createAsset').execute('', [commit, asset, true]));
console.log(` Done ✔️`);
}
main().then(() => {

View File

@@ -40,7 +40,7 @@ async function main() {
};
const client = new cosmos_1.CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT'], key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const scripts = client.database('builds').container(quality).scripts;
await (0, retry_1.retry)(() => scripts.storedProcedure('createBuild').execute('', [Object.assign(Object.assign({}, build), { _partitionKey: '' })]));
await retry_1.retry(() => scripts.storedProcedure('createBuild').execute('', [Object.assign(Object.assign({}, build), { _partitionKey: '' })]));
}
main().then(() => {
console.log('Build successfully created');

View File

@@ -4,12 +4,12 @@ set -e
cd $BUILD_STAGINGDIRECTORY
mkdir extraction
cd extraction
git clone --depth 1 https://github.com/Microsoft/vscode-extension-telemetry.git
git clone --depth 1 https://github.com/Microsoft/vscode-chrome-debug-core.git
git clone --depth 1 https://github.com/Microsoft/vscode-node-debug2.git
git clone --depth 1 https://github.com/Microsoft/vscode-node-debug.git
git clone --depth 1 https://github.com/Microsoft/vscode-html-languageservice.git
git clone --depth 1 https://github.com/Microsoft/vscode-json-languageservice.git
git clone --depth 1 https://github.com/microsoft/vscode-extension-telemetry.git
git clone --depth 1 https://github.com/microsoft/vscode-chrome-debug-core.git
git clone --depth 1 https://github.com/microsoft/vscode-node-debug2.git
git clone --depth 1 https://github.com/microsoft/vscode-node-debug.git
git clone --depth 1 https://github.com/microsoft/vscode-html-languageservice.git
git clone --depth 1 https://github.com/microsoft/vscode-json-languageservice.git
node $BUILD_SOURCESDIRECTORY/node_modules/.bin/vscode-telemetry-extractor --sourceDir $BUILD_SOURCESDIRECTORY --excludedDir $BUILD_SOURCESDIRECTORY/extensions --outputDir . --applyEndpoints
node $BUILD_SOURCESDIRECTORY/node_modules/.bin/vscode-telemetry-extractor --config $BUILD_SOURCESDIRECTORY/build/azure-pipelines/common/telemetry-config.json -o .
mkdir -p $BUILD_SOURCESDIRECTORY/.build/telemetry

View File

@@ -39,7 +39,7 @@ async function publish(commit, files) {
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
await assertContainer(blobService, commit);
for (const file of files) {
const blobName = (0, path_1.basename)(file);
const blobName = path_1.basename(file);
const blobExists = await doesBlobExist(blobService, commit, blobName);
if (blobExists) {
console.log(`Blob ${commit}, ${blobName} already exists, not publishing again.`);
@@ -58,7 +58,7 @@ function main() {
}
const opts = minimist(process.argv.slice(2));
const [directory] = opts._;
const files = fileNames.map(fileName => (0, path_1.join)(directory, fileName));
const files = fileNames.map(fileName => path_1.join(directory, fileName));
publish(commit, files).catch(err => {
console.error(err);
process.exit(1);

View File

@@ -39,7 +39,7 @@ async function main() {
}
console.log(`Releasing build ${commit}...`);
const scripts = client.database('builds').container(quality).scripts;
await (0, retry_1.retry)(() => scripts.storedProcedure('releaseBuild').execute('', [commit]));
await retry_1.retry(() => scripts.storedProcedure('releaseBuild').execute('', [commit]));
}
main().then(() => {
console.log('Build successfully released');

View File

@@ -1,87 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const url = require("url");
const azure = require("azure-storage");
const mime = require("mime");
const cosmos_1 = require("@azure/cosmos");
const retry_1 = require("./retry");
function log(...args) {
console.log(...[`[${new Date().toISOString()}]`, ...args]);
}
function error(...args) {
console.error(...[`[${new Date().toISOString()}]`, ...args]);
}
if (process.argv.length < 3) {
error('Usage: node sync-mooncake.js <quality>');
process.exit(-1);
}
async function sync(commit, quality) {
log(`Synchronizing Mooncake assets for ${quality}, ${commit}...`);
const client = new cosmos_1.CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT'], key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const container = client.database('builds').container(quality);
const query = `SELECT TOP 1 * FROM c WHERE c.id = "${commit}"`;
const res = await container.items.query(query, {}).fetchAll();
if (res.resources.length !== 1) {
throw new Error(`No builds found for ${commit}`);
}
const build = res.resources[0];
log(`Found build for ${commit}, with ${build.assets.length} assets`);
const storageAccount = process.env['AZURE_STORAGE_ACCOUNT_2'];
const blobService = azure.createBlobService(storageAccount, process.env['AZURE_STORAGE_ACCESS_KEY_2'])
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
const mooncakeBlobService = azure.createBlobService(storageAccount, process.env['MOONCAKE_STORAGE_ACCESS_KEY'], `${storageAccount}.blob.core.chinacloudapi.cn`)
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
// mooncake is fussy and far away, this is needed!
blobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
mooncakeBlobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
for (const asset of build.assets) {
try {
const blobPath = url.parse(asset.url).path;
if (!blobPath) {
throw new Error(`Failed to parse URL: ${asset.url}`);
}
const blobName = blobPath.replace(/^\/\w+\//, '');
log(`Found ${blobName}`);
if (asset.mooncakeUrl) {
log(` Already in Mooncake ✔️`);
continue;
}
const readStream = blobService.createReadStream(quality, blobName, undefined);
const blobOptions = {
contentSettings: {
contentType: mime.lookup(blobPath),
cacheControl: 'max-age=31536000, public'
}
};
const writeStream = mooncakeBlobService.createWriteStreamToBlockBlob(quality, blobName, blobOptions, undefined);
log(` Uploading to Mooncake...`);
await new Promise((c, e) => readStream.pipe(writeStream).on('finish', c).on('error', e));
log(` Updating build in DB...`);
const mooncakeUrl = `${process.env['MOONCAKE_CDN_URL']}${blobPath}`;
await (0, retry_1.retry)(() => container.scripts.storedProcedure('setAssetMooncakeUrl')
.execute('', [commit, asset.platform, asset.type, mooncakeUrl]));
log(` Done ✔️`);
}
catch (err) {
error(err);
}
}
log(`All done ✔️`);
}
function main() {
const commit = process.env['BUILD_SOURCEVERSION'];
if (!commit) {
error('Skipping publish due to missing BUILD_SOURCEVERSION');
return;
}
const quality = process.argv[2];
sync(commit, quality).catch(err => {
error(err);
process.exit(1);
});
}
main();

View File

@@ -1,131 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import * as url from 'url';
import * as azure from 'azure-storage';
import * as mime from 'mime';
import { CosmosClient } from '@azure/cosmos';
import { retry } from './retry';
function log(...args: any[]) {
console.log(...[`[${new Date().toISOString()}]`, ...args]);
}
function error(...args: any[]) {
console.error(...[`[${new Date().toISOString()}]`, ...args]);
}
if (process.argv.length < 3) {
error('Usage: node sync-mooncake.js <quality>');
process.exit(-1);
}
interface Build {
assets: Asset[];
}
interface Asset {
platform: string;
type: string;
url: string;
mooncakeUrl: string;
hash: string;
sha256hash: string;
size: number;
supportsFastUpdate?: boolean;
}
async function sync(commit: string, quality: string): Promise<void> {
log(`Synchronizing Mooncake assets for ${quality}, ${commit}...`);
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const container = client.database('builds').container(quality);
const query = `SELECT TOP 1 * FROM c WHERE c.id = "${commit}"`;
const res = await container.items.query<Build>(query, {}).fetchAll();
if (res.resources.length !== 1) {
throw new Error(`No builds found for ${commit}`);
}
const build = res.resources[0];
log(`Found build for ${commit}, with ${build.assets.length} assets`);
const storageAccount = process.env['AZURE_STORAGE_ACCOUNT_2']!;
const blobService = azure.createBlobService(storageAccount, process.env['AZURE_STORAGE_ACCESS_KEY_2']!)
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
const mooncakeBlobService = azure.createBlobService(storageAccount, process.env['MOONCAKE_STORAGE_ACCESS_KEY']!, `${storageAccount}.blob.core.chinacloudapi.cn`)
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
// mooncake is fussy and far away, this is needed!
blobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
mooncakeBlobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
for (const asset of build.assets) {
try {
const blobPath = url.parse(asset.url).path;
if (!blobPath) {
throw new Error(`Failed to parse URL: ${asset.url}`);
}
const blobName = blobPath.replace(/^\/\w+\//, '');
log(`Found ${blobName}`);
if (asset.mooncakeUrl) {
log(` Already in Mooncake ✔️`);
continue;
}
const readStream = blobService.createReadStream(quality, blobName, undefined!);
const blobOptions: azure.BlobService.CreateBlockBlobRequestOptions = {
contentSettings: {
contentType: mime.lookup(blobPath),
cacheControl: 'max-age=31536000, public'
}
};
const writeStream = mooncakeBlobService.createWriteStreamToBlockBlob(quality, blobName, blobOptions, undefined);
log(` Uploading to Mooncake...`);
await new Promise((c, e) => readStream.pipe(writeStream).on('finish', c).on('error', e));
log(` Updating build in DB...`);
const mooncakeUrl = `${process.env['MOONCAKE_CDN_URL']}${blobPath}`;
await retry(() => container.scripts.storedProcedure('setAssetMooncakeUrl')
.execute('', [commit, asset.platform, asset.type, mooncakeUrl]));
log(` Done ✔️`);
} catch (err) {
error(err);
}
}
log(`All done ✔️`);
}
function main(): void {
const commit = process.env['BUILD_SOURCEVERSION'];
if (!commit) {
error('Skipping publish due to missing BUILD_SOURCEVERSION');
return;
}
const quality = process.argv[2];
sync(commit, quality).catch(err => {
error(err);
process.exit(1);
});
}
main();

View File

@@ -35,13 +35,13 @@ steps:
displayName: Restore modules for just build folder and compile it
- download: current
artifact: vscode-darwin-$(VSCODE_ARCH)
artifact: unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive
displayName: Download $(VSCODE_ARCH) artifact
- script: |
set -e
unzip $(Pipeline.Workspace)/vscode-darwin-$(VSCODE_ARCH)/VSCode-darwin-$(VSCODE_ARCH).zip -d $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
mv $(Pipeline.Workspace)/vscode-darwin-$(VSCODE_ARCH)/VSCode-darwin-$(VSCODE_ARCH).zip $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip
unzip $(Pipeline.Workspace)/unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive/VSCode-darwin-$(VSCODE_ARCH).zip -d $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
mv $(Pipeline.Workspace)/unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive/VSCode-darwin-$(VSCODE_ARCH).zip $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip
displayName: Unzip & move
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
@@ -108,22 +108,18 @@ steps:
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'arm64'))
- script: |
set -e
# For legacy purposes, arch for x64 is just 'darwin'
case $VSCODE_ARCH in
x64) ASSET_ID="darwin" ;;
arm64) ASSET_ID="darwin-arm64" ;;
universal) ASSET_ID="darwin-universal" ;;
esac
echo "##vso[task.setvariable variable=ASSET_ID]$ASSET_ID"
displayName: Set asset id variable
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
node build/azure-pipelines/common/createAsset.js \
"$ASSET_ID" \
archive \
"VSCode-$ASSET_ID.zip" \
../VSCode-darwin-$(VSCODE_ARCH).zip
displayName: Publish Clients
- script: mv $(agent.builddirectory)/VSCode-darwin-x64.zip $(agent.builddirectory)/VSCode-darwin.zip
displayName: Rename x64 build to it's legacy name
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
- publish: $(Agent.BuildDirectory)/VSCode-$(ASSET_ID).zip
artifact: vscode_client_darwin_$(VSCODE_ARCH)_archive

View File

@@ -138,19 +138,19 @@ steps:
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'universal'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- download: current
artifact: vscode-darwin-x64
artifact: unsigned_vscode_client_darwin_x64_archive
displayName: Download x64 artifact
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'universal'))
- download: current
artifact: vscode-darwin-arm64
artifact: unsigned_vscode_client_darwin_arm64_archive
displayName: Download arm64 artifact
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'universal'))
- script: |
set -e
cp $(Pipeline.Workspace)/vscode-darwin-x64/VSCode-darwin-x64.zip $(agent.builddirectory)/VSCode-darwin-x64.zip
cp $(Pipeline.Workspace)/vscode-darwin-arm64/VSCode-darwin-arm64.zip $(agent.builddirectory)/VSCode-darwin-arm64.zip
cp $(Pipeline.Workspace)/unsigned_vscode_client_darwin_x64_archive/VSCode-darwin-x64.zip $(agent.builddirectory)/VSCode-darwin-x64.zip
cp $(Pipeline.Workspace)/unsigned_vscode_client_darwin_arm64_archive/VSCode-darwin-arm64.zip $(agent.builddirectory)/VSCode-darwin-arm64.zip
unzip $(agent.builddirectory)/VSCode-darwin-x64.zip -d $(agent.builddirectory)/VSCode-darwin-x64
unzip $(agent.builddirectory)/VSCode-darwin-arm64.zip -d $(agent.builddirectory)/VSCode-darwin-arm64
DEBUG=* node build/darwin/create-universal-app.js
@@ -280,26 +280,27 @@ steps:
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
VSCODE_ARCH="$(VSCODE_ARCH)" ./build/azure-pipelines/darwin/publish-server.sh
displayName: Publish Servers
# package Remote Extension Host
pushd .. && mv vscode-reh-darwin vscode-server-darwin && zip -Xry vscode-server-darwin.zip vscode-server-darwin && popd
# package Remote Extension Host (Web)
pushd .. && mv vscode-reh-web-darwin vscode-server-darwin-web && zip -Xry vscode-server-darwin-web.zip vscode-server-darwin-web && popd
displayName: Prepare to publish servers
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/VSCode-darwin-$(VSCODE_ARCH).zip
artifact: vscode-darwin-$(VSCODE_ARCH)
artifact: unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive
displayName: Publish client archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-darwin.zip
artifact: vscode-server-darwin-$(VSCODE_ARCH)
artifact: vscode_server_darwin_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish server archive
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-darwin-web.zip
artifact: vscode-server-darwin-$(VSCODE_ARCH)-web
artifact: vscode_web_darwin_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish web server archive
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), ne(variables['VSCODE_PUBLISH'], 'false'))
@@ -308,5 +309,5 @@ steps:
VSCODE_ARCH="$(VSCODE_ARCH)" \
yarn gulp upload-vscode-configuration
displayName: Upload configuration (for Bing settings search)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), ne(variables['VSCODE_PUBLISH'], 'false'))
continueOnError: true

View File

@@ -1,14 +0,0 @@
#!/usr/bin/env bash
set -e
if [ "$VSCODE_ARCH" == "x64" ]; then
# package Remote Extension Host
pushd .. && mv vscode-reh-darwin vscode-server-darwin && zip -Xry vscode-server-darwin.zip vscode-server-darwin && popd
# publish Remote Extension Host
node build/azure-pipelines/common/createAsset.js \
server-darwin \
archive-unsigned \
"vscode-server-darwin.zip" \
../vscode-server-darwin.zip
fi

View File

@@ -1,28 +0,0 @@
#!/usr/bin/env bash
set -e
REPO="$(pwd)"
ROOT="$REPO/.."
PLATFORM_LINUX="linux-alpine"
# Publish Remote Extension Host
LEGACY_SERVER_BUILD_NAME="vscode-reh-$PLATFORM_LINUX"
SERVER_BUILD_NAME="vscode-server-$PLATFORM_LINUX"
SERVER_TARBALL_FILENAME="vscode-server-$PLATFORM_LINUX.tar.gz"
SERVER_TARBALL_PATH="$ROOT/$SERVER_TARBALL_FILENAME"
rm -rf $ROOT/vscode-server-*.tar.*
(cd $ROOT && mv $LEGACY_SERVER_BUILD_NAME $SERVER_BUILD_NAME && tar --owner=0 --group=0 -czf $SERVER_TARBALL_PATH $SERVER_BUILD_NAME)
node build/azure-pipelines/common/createAsset.js "server-$PLATFORM_LINUX" archive-unsigned "$SERVER_TARBALL_FILENAME" "$SERVER_TARBALL_PATH"
# Publish Remote Extension Host (Web)
LEGACY_SERVER_BUILD_NAME="vscode-reh-web-$PLATFORM_LINUX"
SERVER_BUILD_NAME="vscode-server-$PLATFORM_LINUX-web"
SERVER_TARBALL_FILENAME="vscode-server-$PLATFORM_LINUX-web.tar.gz"
SERVER_TARBALL_PATH="$ROOT/$SERVER_TARBALL_FILENAME"
rm -rf $ROOT/vscode-server-*-web.tar.*
(cd $ROOT && mv $LEGACY_SERVER_BUILD_NAME $SERVER_BUILD_NAME && tar --owner=0 --group=0 -czf $SERVER_TARBALL_PATH $SERVER_BUILD_NAME)
node build/azure-pipelines/common/createAsset.js "server-$PLATFORM_LINUX-web" archive-unsigned "$SERVER_TARBALL_FILENAME" "$SERVER_TARBALL_PATH"

View File

@@ -13,8 +13,6 @@ TARBALL_PATH="$ROOT/$TARBALL_FILENAME"
rm -rf $ROOT/code-*.tar.*
(cd $ROOT && tar -czf $TARBALL_PATH $BUILDNAME)
node build/azure-pipelines/common/createAsset.js "$PLATFORM_LINUX" archive-unsigned "$TARBALL_FILENAME" "$TARBALL_PATH"
# Publish Remote Extension Host
LEGACY_SERVER_BUILD_NAME="vscode-reh-$PLATFORM_LINUX"
SERVER_BUILD_NAME="vscode-server-$PLATFORM_LINUX"
@@ -24,8 +22,6 @@ SERVER_TARBALL_PATH="$ROOT/$SERVER_TARBALL_FILENAME"
rm -rf $ROOT/vscode-server-*.tar.*
(cd $ROOT && mv $LEGACY_SERVER_BUILD_NAME $SERVER_BUILD_NAME && tar --owner=0 --group=0 -czf $SERVER_TARBALL_PATH $SERVER_BUILD_NAME)
node build/azure-pipelines/common/createAsset.js "server-$PLATFORM_LINUX" archive-unsigned "$SERVER_TARBALL_FILENAME" "$SERVER_TARBALL_PATH"
# Publish Remote Extension Host (Web)
LEGACY_SERVER_BUILD_NAME="vscode-reh-web-$PLATFORM_LINUX"
SERVER_BUILD_NAME="vscode-server-$PLATFORM_LINUX-web"
@@ -35,8 +31,6 @@ SERVER_TARBALL_PATH="$ROOT/$SERVER_TARBALL_FILENAME"
rm -rf $ROOT/vscode-server-*-web.tar.*
(cd $ROOT && mv $LEGACY_SERVER_BUILD_NAME $SERVER_BUILD_NAME && tar --owner=0 --group=0 -czf $SERVER_TARBALL_PATH $SERVER_BUILD_NAME)
node build/azure-pipelines/common/createAsset.js "server-$PLATFORM_LINUX-web" archive-unsigned "$SERVER_TARBALL_FILENAME" "$SERVER_TARBALL_PATH"
# Publish DEB
case $VSCODE_ARCH in
x64) DEB_ARCH="amd64" ;;
@@ -47,8 +41,6 @@ PLATFORM_DEB="linux-deb-$VSCODE_ARCH"
DEB_FILENAME="$(ls $REPO/.build/linux/deb/$DEB_ARCH/deb/)"
DEB_PATH="$REPO/.build/linux/deb/$DEB_ARCH/deb/$DEB_FILENAME"
node build/azure-pipelines/common/createAsset.js "$PLATFORM_DEB" package "$DEB_FILENAME" "$DEB_PATH"
# Publish RPM
case $VSCODE_ARCH in
x64) RPM_ARCH="x86_64" ;;
@@ -61,8 +53,6 @@ PLATFORM_RPM="linux-rpm-$VSCODE_ARCH"
RPM_FILENAME="$(ls $REPO/.build/linux/rpm/$RPM_ARCH/ | grep .rpm)"
RPM_PATH="$REPO/.build/linux/rpm/$RPM_ARCH/$RPM_FILENAME"
node build/azure-pipelines/common/createAsset.js "$PLATFORM_RPM" package "$RPM_FILENAME" "$RPM_PATH"
# Publish Snap
# Pack snap tarball artifact, in order to preserve file perms
mkdir -p $REPO/.build/linux/snap-tarball
@@ -73,3 +63,4 @@ rm -rf $SNAP_TARBALL_PATH
# Export DEB_PATH, RPM_PATH
echo "##vso[task.setvariable variable=DEB_PATH]$DEB_PATH"
echo "##vso[task.setvariable variable=RPM_PATH]$RPM_PATH"
echo "##vso[task.setvariable variable=TARBALL_PATH]$TARBALL_PATH"

View File

@@ -117,19 +117,37 @@ steps:
- script: |
set -e
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
./build/azure-pipelines/linux/alpine/publish.sh
displayName: Publish
REPO="$(pwd)"
ROOT="$REPO/.."
PLATFORM_LINUX="linux-alpine"
# Publish Remote Extension Host
LEGACY_SERVER_BUILD_NAME="vscode-reh-$PLATFORM_LINUX"
SERVER_BUILD_NAME="vscode-server-$PLATFORM_LINUX"
SERVER_TARBALL_FILENAME="vscode-server-$PLATFORM_LINUX.tar.gz"
SERVER_TARBALL_PATH="$ROOT/$SERVER_TARBALL_FILENAME"
rm -rf $ROOT/vscode-server-*.tar.*
(cd $ROOT && mv $LEGACY_SERVER_BUILD_NAME $SERVER_BUILD_NAME && tar --owner=0 --group=0 -czf $SERVER_TARBALL_PATH $SERVER_BUILD_NAME)
# Publish Remote Extension Host (Web)
LEGACY_SERVER_BUILD_NAME="vscode-reh-web-$PLATFORM_LINUX"
SERVER_BUILD_NAME="vscode-server-$PLATFORM_LINUX-web"
SERVER_TARBALL_FILENAME="vscode-server-$PLATFORM_LINUX-web.tar.gz"
SERVER_TARBALL_PATH="$ROOT/$SERVER_TARBALL_FILENAME"
rm -rf $ROOT/vscode-server-*-web.tar.*
(cd $ROOT && mv $LEGACY_SERVER_BUILD_NAME $SERVER_BUILD_NAME && tar --owner=0 --group=0 -czf $SERVER_TARBALL_PATH $SERVER_BUILD_NAME)
displayName: Prepare for publish
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-linux-alpine.tar.gz
artifact: vscode-server-linux-alpine
artifact: vscode_server_linux_alpine_archive-unsigned
displayName: Publish server archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-linux-alpine-web.tar.gz
artifact: vscode-server-linux-alpine-web
artifact: vscode_web_linux_alpine_archive-unsigned
displayName: Publish web server archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))

View File

@@ -245,27 +245,32 @@ steps:
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
VSCODE_ARCH="$(VSCODE_ARCH)" \
./build/azure-pipelines/linux/publish.sh
displayName: Publish
./build/azure-pipelines/linux/prepare-publish.sh
displayName: Prepare for Publish
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(DEB_PATH)
artifact: vscode-linux-deb-$(VSCODE_ARCH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_deb-package
displayName: Publish deb package
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(RPM_PATH)
artifact: vscode-linux-rpm-$(VSCODE_ARCH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_rpm-package
displayName: Publish rpm package
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(TARBALL_PATH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish client archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-linux-$(VSCODE_ARCH).tar.gz
artifact: vscode-server-linux-$(VSCODE_ARCH)
artifact: vscode_server_linux_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish server archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-linux-$(VSCODE_ARCH)-web.tar.gz
artifact: vscode-server-linux-$(VSCODE_ARCH)-web
artifact: vscode_web_linux_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish web server archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))

View File

@@ -50,15 +50,11 @@ steps:
esac
(cd $SNAP_ROOT/code-* && sudo --preserve-env snapcraft prime $SNAPCRAFT_TARGET_ARGS && snap pack prime --compression=lzo --filename="$SNAP_PATH")
# Publish snap package
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
node build/azure-pipelines/common/createAsset.js "linux-snap-$(VSCODE_ARCH)" package "$SNAP_FILENAME" "$SNAP_PATH"
# Export SNAP_PATH
echo "##vso[task.setvariable variable=SNAP_PATH]$SNAP_PATH"
displayName: Prepare for publish
- publish: $(SNAP_PATH)
artifact: vscode-linux-snap-$(VSCODE_ARCH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_snap
displayName: Publish snap package
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))

View File

@@ -171,7 +171,7 @@ steps:
done
displayName: Archive Logs
continueOnError: true
condition: succeededOrFailed()
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
- script: |
set -e

View File

@@ -86,6 +86,8 @@ variables:
value: ${{ eq(parameters.ENABLE_TERRAPIN, true) }}
- name: VSCODE_QUALITY
value: ${{ parameters.VSCODE_QUALITY }}
- name: VSCODE_RELEASE
value: ${{ parameters.VSCODE_RELEASE }}
- name: VSCODE_BUILD_STAGE_WINDOWS
value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_32BIT, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}
- name: VSCODE_BUILD_STAGE_LINUX
@@ -301,37 +303,30 @@ stages:
steps:
- template: darwin/product-build-darwin-sign.yml
- ${{ if and(eq(variables['VSCODE_PUBLISH'], true), eq(parameters.VSCODE_COMPILE_ONLY, false)) }}:
- stage: Mooncake
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), ne(variables['VSCODE_PUBLISH'], 'false')) }}:
- stage: Publish
dependsOn:
- ${{ if eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true) }}:
- Windows
- ${{ if eq(variables['VSCODE_BUILD_STAGE_LINUX'], true) }}:
- Linux
- ${{ if eq(variables['VSCODE_BUILD_STAGE_MACOS'], true) }}:
- macOS
condition: succeededOrFailed()
- Compile
pool:
vmImage: "Ubuntu-18.04"
variables:
- name: BUILDS_API_URL
value: $(System.CollectionUri)$(System.TeamProject)/_apis/build/builds/$(Build.BuildId)/
jobs:
- job: SyncMooncake
displayName: Sync Mooncake
- job: PublishBuild
timeoutInMinutes: 180
displayName: Publish Build
steps:
- template: sync-mooncake.yml
- template: product-publish.yml
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), or(eq(parameters.VSCODE_RELEASE, true), and(in(parameters.VSCODE_QUALITY, 'insider', 'exploration'), eq(variables['VSCODE_SCHEDULEDBUILD'], true)))) }}:
- stage: Release
dependsOn:
- ${{ if eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true) }}:
- Windows
- ${{ if eq(variables['VSCODE_BUILD_STAGE_LINUX'], true) }}:
- Linux
- ${{ if eq(variables['VSCODE_BUILD_STAGE_MACOS'], true) }}:
- macOS
pool:
vmImage: "Ubuntu-18.04"
jobs:
- job: ReleaseBuild
displayName: Release Build
steps:
- template: release.yml
- ${{ if or(eq(parameters.VSCODE_RELEASE, true), and(in(parameters.VSCODE_QUALITY, 'insider', 'exploration'), eq(variables['VSCODE_SCHEDULEDBUILD'], true))) }}:
- stage: Release
dependsOn:
- Publish
pool:
vmImage: "Ubuntu-18.04"
jobs:
- job: ReleaseBuild
displayName: Release Build
steps:
- template: product-release.yml

View File

@@ -118,14 +118,6 @@ steps:
displayName: Publish Webview
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- script: |
set -e
VERSION=`node -p "require(\"./package.json\").version"`
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
node build/azure-pipelines/common/createBuild.js $VERSION
displayName: Create build
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
# we gotta tarball everything in order to preserve file permissions
- script: |
set -e

View File

@@ -0,0 +1,114 @@
. build/azure-pipelines/win32/exec.ps1
$ErrorActionPreference = 'Stop'
$ProgressPreference = 'SilentlyContinue'
$ARTIFACT_PROCESSED_WILDCARD_PATH = "$env:PIPELINE_WORKSPACE/artifacts_processed_*/artifacts_processed_*"
$ARTIFACT_PROCESSED_FILE_PATH = "$env:PIPELINE_WORKSPACE/artifacts_processed_$env:SYSTEM_STAGEATTEMPT/artifacts_processed_$env:SYSTEM_STAGEATTEMPT.txt"
function Get-PipelineArtifact {
param($Name = '*')
try {
$res = Invoke-RestMethod "$($env:BUILDS_API_URL)artifacts?api-version=6.0" -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
} -MaximumRetryCount 5 -RetryIntervalSec 1
if (!$res) {
return
}
$res.value | Where-Object { $_.name -Like $Name }
} catch {
Write-Warning $_
}
}
# This set will keep track of which artifacts have already been processed
$set = [System.Collections.Generic.HashSet[string]]::new()
if (Test-Path $ARTIFACT_PROCESSED_WILDCARD_PATH) {
# Grab the latest artifact_processed text file and load all assets already processed from that.
# This means that the latest artifact_processed_*.txt file has all of the contents of the previous ones.
# Note: The kusto-like syntax only works in PS7+ and only in scripts, not at the REPL.
Get-ChildItem $ARTIFACT_PROCESSED_WILDCARD_PATH
| Sort-Object
| Select-Object -Last 1
| Get-Content
| ForEach-Object {
$set.Add($_) | Out-Null
Write-Host "Already processed artifact: $_"
}
}
# Create the artifact file that will be used for this run
New-Item -Path $ARTIFACT_PROCESSED_FILE_PATH -Force | Out-Null
# Determine which stages we need to watch
$stages = @(
if ($env:VSCODE_BUILD_STAGE_WINDOWS -eq 'True') { 'Windows' }
if ($env:VSCODE_BUILD_STAGE_LINUX -eq 'True') { 'Linux' }
if ($env:VSCODE_BUILD_STAGE_MACOS -eq 'True') { 'macOS' }
)
do {
Start-Sleep -Seconds 10
$artifacts = Get-PipelineArtifact -Name 'vscode_*'
if (!$artifacts) {
continue
}
$artifacts | ForEach-Object {
$artifactName = $_.name
if($set.Add($artifactName)) {
Write-Host "Processing artifact: '$artifactName. Downloading from: $($_.resource.downloadUrl)"
try {
Invoke-RestMethod $_.resource.downloadUrl -OutFile "$env:AGENT_TEMPDIRECTORY/$artifactName.zip" -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
} -MaximumRetryCount 5 -RetryIntervalSec 1 | Out-Null
Expand-Archive -Path "$env:AGENT_TEMPDIRECTORY/$artifactName.zip" -DestinationPath $env:AGENT_TEMPDIRECTORY | Out-Null
} catch {
Write-Warning $_
$set.Remove($artifactName) | Out-Null
continue
}
$null,$product,$os,$arch,$type = $artifactName -split '_'
$asset = Get-ChildItem -rec "$env:AGENT_TEMPDIRECTORY/$artifactName"
Write-Host "Processing artifact with the following values:"
# turning in into an object just to log nicely
@{
product = $product
os = $os
arch = $arch
type = $type
asset = $asset.Name
} | Format-Table
exec { node build/azure-pipelines/common/createAsset.js $product $os $arch $type $asset.Name $asset.FullName }
$artifactName >> $ARTIFACT_PROCESSED_FILE_PATH
}
}
# Get the timeline and see if it says the other stage completed
try {
$timeline = Invoke-RestMethod "$($env:BUILDS_API_URL)timeline?api-version=6.0" -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
} -MaximumRetryCount 5 -RetryIntervalSec 1
} catch {
Write-Warning $_
continue
}
foreach ($stage in $stages) {
$otherStageFinished = $timeline.records | Where-Object { $_.name -eq $stage -and $_.type -eq 'stage' -and $_.state -eq 'completed' }
if (!$otherStageFinished) {
break
}
}
$artifacts = Get-PipelineArtifact -Name 'vscode_*'
$artifactsStillToProcess = $artifacts.Count -ne $set.Count
} while (!$otherStageFinished -or $artifactsStillToProcess)
Write-Host "Processed $($set.Count) artifacts."

View File

@@ -0,0 +1,89 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "12.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
versionSpec: "1.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
- pwsh: |
. build/azure-pipelines/win32/exec.ps1
cd build
exec { yarn }
displayName: Install dependencies
- download: current
patterns: '**/artifacts_processed_*.txt'
displayName: Download all artifacts_processed text files
- pwsh: |
. build/azure-pipelines/win32/exec.ps1
if (Test-Path "$(Pipeline.Workspace)/artifacts_processed_*/artifacts_processed_*.txt") {
Write-Host "Artifacts already processed so a build must have already been created."
return
}
$env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
$VERSION = node -p "require('./package.json').version"
Write-Host "Creating build with version: $VERSION"
exec { node build/azure-pipelines/common/createBuild.js $VERSION }
displayName: Create build if it hasn't been created before
- pwsh: |
$env:VSCODE_MIXIN_PASSWORD = "$(github-distro-mixin-password)"
$env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
$env:AZURE_STORAGE_ACCESS_KEY = "$(ticino-storage-key)"
$env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
$env:MOONCAKE_STORAGE_ACCESS_KEY = "$(vscode-mooncake-storage-key)"
build/azure-pipelines/product-publish.ps1
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
displayName: Process artifacts
- publish: $(Pipeline.Workspace)/artifacts_processed_$(System.StageAttempt)/artifacts_processed_$(System.StageAttempt).txt
artifact: artifacts_processed_$(System.StageAttempt)
displayName: Publish what artifacts were published for this stage attempt
- pwsh: |
$ErrorActionPreference = 'Stop'
# Determine which stages we need to watch
$stages = @(
if ($env:VSCODE_BUILD_STAGE_WINDOWS -eq 'True') { 'Windows' }
if ($env:VSCODE_BUILD_STAGE_LINUX -eq 'True') { 'Linux' }
if ($env:VSCODE_BUILD_STAGE_MACOS -eq 'True') { 'macOS' }
)
Write-Host "Stages to check: $stages"
# Get the timeline and see if it says the other stage completed
$timeline = Invoke-RestMethod "$($env:BUILDS_API_URL)timeline?api-version=6.0" -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
} -MaximumRetryCount 5 -RetryIntervalSec 1
$failedStages = @()
foreach ($stage in $stages) {
$didStageFail = $timeline.records | Where-Object {
$_.name -eq $stage -and $_.type -eq 'stage' -and $_.result -ne 'succeeded' -and $_.result -ne 'succeededWithIssues'
}
if($didStageFail) {
$failedStages += $stage
} else {
Write-Host "'$stage' did not fail."
}
}
if ($failedStages.Length) {
throw "Failed stages: $($failedStages -join ', '). This stage will now fail so that it is easier to retry failed jobs."
}
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
displayName: Determine if stage should succeed

View File

@@ -11,25 +11,25 @@ steps:
inputs:
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
inputs:
versionSpec: "1.x"
- bash: |
TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
CHANNEL="G1C14HJ2F"
# - bash: |
# TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
# CHANNEL="G1C14HJ2F"
if [ "$TAG_VERSION" == "1.999.0" ]; then
MESSAGE="<!here>. Someone pushed 1.999.0 tag. Please delete it ASAP from remote and local."
# if [ "$TAG_VERSION" == "1.999.0" ]; then
# MESSAGE="<!here>. Someone pushed 1.999.0 tag. Please delete it ASAP from remote and local."
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
-H 'Content-type: application/json; charset=utf-8' \
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
https://slack.com/api/chat.postMessage
# curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
# -H 'Content-type: application/json; charset=utf-8' \
# --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
# https://slack.com/api/chat.postMessage
exit 1
fi
displayName: Check 1.999.0 tag
# exit 1
# fi
# displayName: Check 1.999.0 tag
- bash: |
# Install build dependencies
@@ -37,47 +37,54 @@ steps:
node build/azure-pipelines/publish-types/check-version.js
displayName: Check version
# {{SQL CARBON EDIT}} Modify to fit our own scenario - specifically currently we need to use a fork of the repo since we don't
# have an account with push access to DT
- bash: |
git config --global user.email "vscode@microsoft.com"
git config --global user.name "VSCode"
git config --global user.email "azuredatastudio@microsoft.com"
git config --global user.name "Azure Data Studio"
git clone https://$(GITHUB_TOKEN)@github.com/DefinitelyTyped/DefinitelyTyped.git --depth=1
git clone https://$(GITHUB_TOKEN)@$(REPO) --depth=1
node build/azure-pipelines/publish-types/update-types.js
TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
cd DefinitelyTyped
# Sync up to latest from the DT repo
git remote add upstream https://github.com/DefinitelyTyped/DefinitelyTyped.git
git merge upstream/master
git push origin
git diff --color | cat
git add -A
git status
git checkout -b "vscode-types-$TAG_VERSION"
git commit -m "VS Code $TAG_VERSION Extension API"
git push origin "vscode-types-$TAG_VERSION"
git checkout -b "azdata-types-$TAG_VERSION"
git commit -m "Azure Data Studio $TAG_VERSION Extension API"
git push origin "azdata-types-$TAG_VERSION"
displayName: Push update to DefinitelyTyped
- bash: |
TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
CHANNEL="G1C14HJ2F"
# - bash: |
# TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
# CHANNEL="G1C14HJ2F"
MESSAGE="DefinitelyTyped/DefinitelyTyped#vscode-types-$TAG_VERSION created. Endgame champion, please open this link, examine changes and create a PR:"
LINK="https://github.com/DefinitelyTyped/DefinitelyTyped/compare/vscode-types-$TAG_VERSION?quick_pull=1&body=Updating%20VS%20Code%20Extension%20API.%20See%20https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode%2Fissues%2F70175%20for%20details."
MESSAGE2="[@eamodio, @jrieken, @kmaetzel, @egamma]. Please review and merge PR to publish @types/vscode."
# MESSAGE="DefinitelyTyped/DefinitelyTyped#vscode-types-$TAG_VERSION created. Endgame champion, please open this link, examine changes and create a PR:"
# LINK="https://github.com/DefinitelyTyped/DefinitelyTyped/compare/vscode-types-$TAG_VERSION?quick_pull=1&body=Updating%20VS%20Code%20Extension%20API.%20See%20https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode%2Fissues%2F70175%20for%20details."
# MESSAGE2="[@eamodio, @jrieken, @kmaetzel, @egamma]. Please review and merge PR to publish @types/vscode."
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
-H 'Content-type: application/json; charset=utf-8' \
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
https://slack.com/api/chat.postMessage
# curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
# -H 'Content-type: application/json; charset=utf-8' \
# --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
# https://slack.com/api/chat.postMessage
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
-H 'Content-type: application/json; charset=utf-8' \
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$LINK"'"}' \
https://slack.com/api/chat.postMessage
# curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
# -H 'Content-type: application/json; charset=utf-8' \
# --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$LINK"'"}' \
# https://slack.com/api/chat.postMessage
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
-H 'Content-type: application/json; charset=utf-8' \
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE2"'"}' \
https://slack.com/api/chat.postMessage
# curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
# -H 'Content-type: application/json; charset=utf-8' \
# --data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE2"'"}' \
# https://slack.com/api/chat.postMessage
displayName: Send message on Slack
# displayName: Send message on Slack

View File

@@ -13,11 +13,11 @@ try {
.execSync('git describe --tags `git rev-list --tags --max-count=1`')
.toString()
.trim();
const dtsUri = `https://raw.githubusercontent.com/microsoft/vscode/${tag}/src/vs/vscode.d.ts`;
const outPath = path.resolve(process.cwd(), 'DefinitelyTyped/types/vscode/index.d.ts');
const dtsUri = `https://raw.githubusercontent.com/microsoft/azuredatastudio/${tag}/src/sql/azdata.d.ts`; // {{SQL CARBON EDIT}} Use our typings
const outPath = path.resolve(process.cwd(), 'DefinitelyTyped/types/azdata/index.d.ts'); // {{SQL CARBON EDIT}} Use our typings
cp.execSync(`curl ${dtsUri} --output ${outPath}`);
updateDTSFile(outPath, tag);
console.log(`Done updating vscode.d.ts at ${outPath}`);
console.log(`Done updating azdata.d.ts at ${outPath}`); // {{SQL CARBON EDIT}} Use our typings
}
catch (err) {
console.error(err);
@@ -51,21 +51,25 @@ function getNewFileContent(content, tag) {
function getNewFileHeader(tag) {
const [major, minor] = tag.split('.');
const shorttag = `${major}.${minor}`;
// {{SQL CARBON EDIT}} Use our own header
const header = [
`// Type definitions for Visual Studio Code ${shorttag}`,
`// Project: https://github.com/microsoft/vscode`,
`// Definitions by: Visual Studio Code Team, Microsoft <https://github.com/Microsoft>`,
`// Type definitions for Azure Data Studio ${shorttag}`,
`// Project: https://github.com/microsoft/azuredatastudio`,
`// Definitions by: Charles Gagnon <https://github.com/Charles-Gagnon>`,
`// Alan Ren: <https://github.com/alanrenmsft>`,
`// Karl Burtram: <https://github.com/kburtram>`,
`// Ken Van Hyning: <https://github.com/kenvanhyning>`,
`// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped`,
``,
`/*---------------------------------------------------------------------------------------------`,
` * Copyright (c) Microsoft Corporation. All rights reserved.`,
` * Licensed under the Source EULA.`,
` * See https://github.com/Microsoft/vscode/blob/main/LICENSE.txt for license information.`,
` * See https://github.com/microsoft/azuredatastudio/blob/main/LICENSE.txt for license information.`,
` *--------------------------------------------------------------------------------------------*/`,
``,
`/**`,
` * Type Definition for Visual Studio Code ${shorttag} Extension API`,
` * See https://code.visualstudio.com/api for more information`,
` * Type Definition for Azure Data Studio ${shorttag} Extension API`,
` * See https://docs.microsoft.com/sql/azure-data-studio/extensibility-apis for more information`,
` */`
].join('\n');
return header;

View File

@@ -16,13 +16,13 @@ try {
.toString()
.trim();
const dtsUri = `https://raw.githubusercontent.com/microsoft/vscode/${tag}/src/vs/vscode.d.ts`;
const outPath = path.resolve(process.cwd(), 'DefinitelyTyped/types/vscode/index.d.ts');
const dtsUri = `https://raw.githubusercontent.com/microsoft/azuredatastudio/${tag}/src/sql/azdata.d.ts`; // {{SQL CARBON EDIT}} Use our typings
const outPath = path.resolve(process.cwd(), 'DefinitelyTyped/types/azdata/index.d.ts'); // {{SQL CARBON EDIT}} Use our typings
cp.execSync(`curl ${dtsUri} --output ${outPath}`);
updateDTSFile(outPath, tag);
console.log(`Done updating vscode.d.ts at ${outPath}`);
console.log(`Done updating azdata.d.ts at ${outPath}`); // {{SQL CARBON EDIT}} Use our typings
} catch (err) {
console.error(err);
console.error('Failed to update types');
@@ -63,21 +63,25 @@ function getNewFileHeader(tag: string) {
const [major, minor] = tag.split('.');
const shorttag = `${major}.${minor}`;
// {{SQL CARBON EDIT}} Use our own header
const header = [
`// Type definitions for Visual Studio Code ${shorttag}`,
`// Project: https://github.com/microsoft/vscode`,
`// Definitions by: Visual Studio Code Team, Microsoft <https://github.com/Microsoft>`,
`// Type definitions for Azure Data Studio ${shorttag}`,
`// Project: https://github.com/microsoft/azuredatastudio`,
`// Definitions by: Charles Gagnon <https://github.com/Charles-Gagnon>`,
`// Alan Ren: <https://github.com/alanrenmsft>`,
`// Karl Burtram: <https://github.com/kburtram>`,
`// Ken Van Hyning: <https://github.com/kenvanhyning>`,
`// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped`,
``,
`/*---------------------------------------------------------------------------------------------`,
` * Copyright (c) Microsoft Corporation. All rights reserved.`,
` * Licensed under the Source EULA.`,
` * See https://github.com/Microsoft/vscode/blob/main/LICENSE.txt for license information.`,
` * See https://github.com/microsoft/azuredatastudio/blob/main/LICENSE.txt for license information.`,
` *--------------------------------------------------------------------------------------------*/`,
``,
`/**`,
` * Type Definition for Visual Studio Code ${shorttag} Extension API`,
` * See https://code.visualstudio.com/api for more information`,
` * Type Definition for Azure Data Studio ${shorttag} Extension API`,
` * See https://docs.microsoft.com/sql/azure-data-studio/extensibility-apis for more information`,
` */`
].join('\n');

View File

@@ -47,7 +47,7 @@ jobs:
steps:
- template: linux/sql-product-build-linux.yml
parameters:
extensionsToUnitTest: ["admin-tool-ext-win", "agent", "azcli", "azdata", "azurecore", "cms", "dacpac", "data-workspace", "import", "machine-learning", "notebook", "resource-deployment", "schema-compare", "sql-database-projects"]
extensionsToUnitTest: ["admin-tool-ext-win", "agent", "azcli", "azurecore", "cms", "dacpac", "data-workspace", "import", "machine-learning", "notebook", "resource-deployment", "schema-compare", "sql-database-projects"]
timeoutInMinutes: 90
- job: Windows

View File

@@ -79,19 +79,13 @@ steps:
- script: |
set -e
yarn sqllint
yarn gulp hygiene
yarn strict-vscode
yarn valid-layers-check
displayName: Run hygiene, eslint
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
yarn npm-run-all -lp core-ci extensions-ci hygiene eslint valid-layers-check
displayName: Compile & Hygiene
- script: |
set -e
yarn gulp compile-build
yarn gulp compile-extensions-build
yarn gulp minify-vscode
displayName: Compile
yarn npm-run-all -lp sqllint extensions-lint strict-vscode
displayName: SQL Hygiene
- script: |
set -e

View File

@@ -1,7 +1,7 @@
resources:
containers:
- container: linux-x64
image: sqltoolscontainers.azurecr.io/web-build-image:1
image: sqltoolscontainers.azurecr.io/web-build-image:2
endpoint: ContainerRegistry
jobs:

View File

@@ -1,24 +0,0 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
versionSpec: "1.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
- script: |
set -e
(cd build ; yarn)
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
MOONCAKE_STORAGE_ACCESS_KEY="$(vscode-mooncake-storage-key)" \
node build/azure-pipelines/common/sync-mooncake.js "$VSCODE_QUALITY"

View File

@@ -10,6 +10,11 @@ RUN apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xv
libkrb5-dev git apt-transport-https ca-certificates curl gnupg-agent software-properties-common \
libnss3 libasound2 make gcc libx11-dev fakeroot rpm libgconf-2-4 libunwind8 g++ python
# Set the Chrome repo and install Chrome.
RUN curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& echo "deb https://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list \
&& apt-get update && apt-get install -y google-chrome-stable
#docker
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
RUN apt-key fingerprint 0EBFCD88

View File

@@ -119,13 +119,19 @@ steps:
- script: |
set -e
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
./build/azure-pipelines/web/publish.sh
displayName: Publish
REPO="$(pwd)"
ROOT="$REPO/.."
WEB_BUILD_NAME="vscode-web"
WEB_TARBALL_FILENAME="vscode-web.tar.gz"
WEB_TARBALL_PATH="$ROOT/$WEB_TARBALL_FILENAME"
rm -rf $ROOT/vscode-web.tar.*
cd $ROOT && tar --owner=0 --group=0 -czf $WEB_TARBALL_PATH $WEB_BUILD_NAME
displayName: Prepare for publish
- publish: $(Agent.BuildDirectory)/vscode-web.tar.gz
artifact: vscode-web-standalone
artifact: vscode_web_linux_standalone_archive-unsigned
displayName: Publish web archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))

View File

@@ -1,15 +0,0 @@
#!/usr/bin/env bash
set -e
REPO="$(pwd)"
ROOT="$REPO/.."
# Publish Web Client
WEB_BUILD_NAME="vscode-web"
WEB_TARBALL_FILENAME="vscode-web.tar.gz"
WEB_TARBALL_PATH="$ROOT/$WEB_TARBALL_FILENAME"
rm -rf $ROOT/vscode-web.tar.*
(cd $ROOT && tar --owner=0 --group=0 -czf $WEB_TARBALL_PATH $WEB_BUILD_NAME)
node build/azure-pipelines/common/createAsset.js web-standalone archive-unsigned "$WEB_TARBALL_FILENAME" "$WEB_TARBALL_PATH"

View File

@@ -80,6 +80,7 @@ steps:
- script: |
set -e
yarn sqllint
yarn extensions-lint
yarn gulp hygiene
yarn strict-vscode
yarn valid-layers-check
@@ -98,6 +99,20 @@ steps:
yarn gulp vscode-reh-web-linux-x64-min
displayName: Compile
- script: |
set -e
yarn gulp compile-extensions
displayName: Compile Extensions
- script: |
set -e
node ./node_modules/playwright/install.js
APP_ROOT=$(Agent.BuildDirectory)/vscode-reh-web-linux-x64
xvfb-run yarn smoketest --build "$(Agent.BuildDirectory)/vscode-reh-web-linux-x64" --web --headless --screenshots "$(Build.ArtifactStagingDirectory)/smokeshots"
displayName: Run smoke tests (Browser)
continueOnError: true
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
# - script: |
# set -e
# AZURE_STORAGE_ACCOUNT="$(sourcemap-storage-account)" \

View File

@@ -13,24 +13,31 @@ $Zip = "$Repo\.build\win32-$Arch\archive\VSCode-win32-$Arch.zip"
$LegacyServer = "$Root\vscode-reh-win32-$Arch"
$Server = "$Root\vscode-server-win32-$Arch"
$ServerZip = "$Repo\.build\vscode-server-win32-$Arch.zip"
$LegacyWeb = "$Root\vscode-reh-web-win32-$Arch"
$Web = "$Root\vscode-server-win32-$Arch-web"
$WebZip = "$Repo\.build\vscode-server-win32-$Arch-web.zip"
$Build = "$Root\VSCode-win32-$Arch"
# Create server archive
if ("$Arch" -ne "arm64") {
exec { xcopy $LegacyServer $Server /H /E /I }
exec { .\node_modules\7zip\7zip-lite\7z.exe a -tzip $ServerZip $Server -r }
exec { xcopy $LegacyWeb $Web /H /E /I }
exec { .\node_modules\7zip\7zip-lite\7z.exe a -tzip $WebZip $Web -r }
}
# get version
$PackageJson = Get-Content -Raw -Path "$Build\resources\app\package.json" | ConvertFrom-Json
$Version = $PackageJson.version
$AssetPlatform = if ("$Arch" -eq "ia32") { "win32" } else { "win32-$Arch" }
$ARCHIVE_NAME = "VSCode-win32-$Arch-$Version.zip"
$SYSTEM_SETUP_NAME = "VSCodeSetup-$Arch-$Version.exe"
$USER_SETUP_NAME = "VSCodeUserSetup-$Arch-$Version.exe"
exec { node build/azure-pipelines/common/createAsset.js "$AssetPlatform-archive" archive "VSCode-win32-$Arch-$Version.zip" $Zip }
exec { node build/azure-pipelines/common/createAsset.js "$AssetPlatform" setup "VSCodeSetup-$Arch-$Version.exe" $SystemExe }
exec { node build/azure-pipelines/common/createAsset.js "$AssetPlatform-user" setup "VSCodeUserSetup-$Arch-$Version.exe" $UserExe }
if ("$Arch" -ne "arm64") {
exec { node build/azure-pipelines/common/createAsset.js "server-$AssetPlatform" archive "vscode-server-win32-$Arch.zip" $ServerZip }
}
# Set variables for upload
Move-Item $Zip "$Repo\.build\win32-$Arch\archive\$ARCHIVE_NAME"
Write-Host "##vso[task.setvariable variable=ARCHIVE_NAME]$ARCHIVE_NAME"
Move-Item $SystemExe "$Repo\.build\win32-$Arch\system-setup\$SYSTEM_SETUP_NAME"
Write-Host "##vso[task.setvariable variable=SYSTEM_SETUP_NAME]$SYSTEM_SETUP_NAME"
Move-Item $UserExe "$Repo\.build\win32-$Arch\user-setup\$USER_SETUP_NAME"
Write-Host "##vso[task.setvariable variable=USER_SETUP_NAME]$USER_SETUP_NAME"

View File

@@ -295,31 +295,31 @@ steps:
$env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
$env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
.\build\azure-pipelines\win32\publish.ps1
.\build\azure-pipelines\win32\prepare-publish.ps1
displayName: Publish
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(System.DefaultWorkingDirectory)\.build\win32-$(VSCODE_ARCH)\archive\VSCode-win32-$(VSCODE_ARCH).zip
artifact: vscode-win32-$(VSCODE_ARCH)
- publish: $(System.DefaultWorkingDirectory)\.build\win32-$(VSCODE_ARCH)\archive\$(ARCHIVE_NAME)
artifact: vscode_client_win32_$(VSCODE_ARCH)_archive
displayName: Publish archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(System.DefaultWorkingDirectory)\.build\win32-$(VSCODE_ARCH)\system-setup\VSCodeSetup.exe
artifact: vscode-win32-$(VSCODE_ARCH)-setup
- publish: $(System.DefaultWorkingDirectory)\.build\win32-$(VSCODE_ARCH)\system-setup\$(SYSTEM_SETUP_NAME)
artifact: vscode_client_win32_$(VSCODE_ARCH)_setup
displayName: Publish system setup
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(System.DefaultWorkingDirectory)\.build\win32-$(VSCODE_ARCH)\user-setup\VSCodeSetup.exe
artifact: vscode-win32-$(VSCODE_ARCH)-user-setup
- publish: $(System.DefaultWorkingDirectory)\.build\win32-$(VSCODE_ARCH)\user-setup\$(USER_SETUP_NAME)
artifact: vscode_client_win32_$(VSCODE_ARCH)_user-setup
displayName: Publish user setup
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(System.DefaultWorkingDirectory)\.build\vscode-server-win32-$(VSCODE_ARCH).zip
artifact: vscode-server-win32-$(VSCODE_ARCH)
artifact: vscode_server_win32_$(VSCODE_ARCH)_archive
displayName: Publish server archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))
- publish: $(System.DefaultWorkingDirectory)\.build\vscode-server-win32-$(VSCODE_ARCH)-web.zip
artifact: vscode-server-win32-$(VSCODE_ARCH)-web
artifact: vscode_web_win32_$(VSCODE_ARCH)_archive
displayName: Publish web server archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'), ne(variables['VSCODE_ARCH'], 'arm64'))

View File

@@ -23,7 +23,7 @@ async function main() {
const outAppPath = path.join(buildDir, `VSCode-darwin-${arch}`, appName);
const productJsonPath = path.resolve(outAppPath, 'Contents', 'Resources', 'app', 'product.json');
const infoPlistPath = path.resolve(outAppPath, 'Contents', 'Info.plist');
await (0, vscode_universal_1.makeUniversalApp)({
await vscode_universal_1.makeUniversalApp({
x64AppPath,
arm64AppPath,
x64AsarPath,

View File

@@ -51,7 +51,7 @@ module.exports.indentationFilter = [
'!test/monaco/out/**',
'!test/smoke/out/**',
'!extensions/typescript-language-features/test-workspace/**',
'!extensions/notebook-markdown-extensions/notebook-out/**',
'!extensions/markdown-math/notebook-out/**',
'!extensions/vscode-api-tests/testWorkspace/**',
'!extensions/vscode-api-tests/testWorkspace2/**',
'!extensions/vscode-custom-editor-tests/test-workspace/**',
@@ -89,7 +89,7 @@ module.exports.indentationFilter = [
'!**/*.dockerfile',
'!extensions/markdown-language-features/media/*.js',
'!extensions/markdown-language-features/notebook-out/*.js',
'!extensions/notebook-markdown-extensions/notebook-out/*.js',
'!extensions/markdown-math/notebook-out/*.js',
'!extensions/simple-browser/media/*.js',
];
@@ -119,7 +119,7 @@ module.exports.copyrightFilter = [
'!resources/completions/**',
'!extensions/configuration-editing/build/inline-allOf.ts',
'!extensions/markdown-language-features/media/highlight.css',
'!extensions/notebook-markdown-extensions/notebook-out/**',
'!extensions/markdown-math/notebook-out/**',
'!extensions/html-language-features/server/src/modes/typescript/*',
'!extensions/*/server/bin/*',
'!src/vs/editor/test/node/classification/typescript-test.ts',

View File

@@ -14,7 +14,7 @@ const i18n = require('./lib/i18n');
const standalone = require('./lib/standalone');
const cp = require('child_process');
const compilation = require('./lib/compilation');
const monacoapi = require('./monaco/api');
const monacoapi = require('./lib/monaco-api');
const fs = require('fs');
let root = path.dirname(__dirname);
@@ -49,7 +49,7 @@ let BUNDLED_FILE_HEADER = [
' * Copyright (c) Microsoft Corporation. All rights reserved.',
' * Version: ' + headerVersion,
' * Released under the Source EULA',
' * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt',
' * https://github.com/microsoft/vscode/blob/main/LICENSE.txt',
' *-----------------------------------------------------------*/',
''
].join('\n');
@@ -279,7 +279,7 @@ const finalEditorResourcesTask = task.define('final-editor-resources', () => {
// version.txt
gulp.src('build/monaco/version.txt')
.pipe(es.through(function (data) {
data.contents = Buffer.from(`monaco-editor-core: https://github.com/Microsoft/vscode/tree/${sha1}`);
data.contents = Buffer.from(`monaco-editor-core: https://github.com/microsoft/vscode/tree/${sha1}`);
this.emit('data', data);
}))
.pipe(gulp.dest('out-monaco-editor-core')),

View File

@@ -8,7 +8,6 @@ require('events').EventEmitter.defaultMaxListeners = 100;
const gulp = require('gulp');
const path = require('path');
const child_process = require('child_process');
const nodeUtil = require('util');
const es = require('event-stream');
const filter = require('gulp-filter');
@@ -20,8 +19,6 @@ const glob = require('glob');
const root = path.dirname(__dirname);
const commit = util.getVersion(root);
const plumber = require('gulp-plumber');
const fancyLog = require('fancy-log');
const ansiColors = require('ansi-colors');
const ext = require('./lib/extensions');
const extensionsPath = path.join(path.dirname(__dirname), 'extensions');
@@ -59,6 +56,7 @@ const compilations = glob.sync('**/tsconfig.json', {
// 'json-language-features/server/tsconfig.json',
// 'markdown-language-features/preview-src/tsconfig.json',
// 'markdown-language-features/tsconfig.json',
// 'markdown-math/tsconfig.json',
// 'merge-conflict/tsconfig.json',
// 'microsoft-authentication/tsconfig.json',
// 'npm/tsconfig.json',
@@ -207,45 +205,17 @@ gulp.task(compileExtensionsBuildLegacyTask);
//#region Extension media
// Additional projects to webpack. These typically build code for webviews
const webpackMediaConfigFiles = [
'markdown-language-features/webpack.config.js',
'simple-browser/webpack.config.js',
];
// Additional projects to run esbuild on. These typically build code for webviews
const esbuildMediaScripts = [
'markdown-language-features/esbuild.js',
'notebook-markdown-extensions/esbuild.js',
];
const compileExtensionMediaTask = task.define('compile-extension-media', () => buildExtensionMedia(false));
const compileExtensionMediaTask = task.define('compile-extension-media', () => ext.buildExtensionMedia(false));
gulp.task(compileExtensionMediaTask);
exports.compileExtensionMediaTask = compileExtensionMediaTask;
const watchExtensionMedia = task.define('watch-extension-media', () => buildExtensionMedia(true));
const watchExtensionMedia = task.define('watch-extension-media', () => ext.buildExtensionMedia(true));
gulp.task(watchExtensionMedia);
exports.watchExtensionMedia = watchExtensionMedia;
const compileExtensionMediaBuildTask = task.define('compile-extension-media-build', () => buildExtensionMedia(false, '.build/extensions'));
const compileExtensionMediaBuildTask = task.define('compile-extension-media-build', () => ext.buildExtensionMedia(false, '.build/extensions'));
gulp.task(compileExtensionMediaBuildTask);
async function buildExtensionMedia(isWatch, outputRoot) {
const webpackConfigLocations = webpackMediaConfigFiles.map(p => {
return {
configPath: path.join(extensionsPath, p),
outputRoot: outputRoot ? path.join(root, outputRoot, path.dirname(p)) : undefined
};
});
return Promise.all([
webpackExtensions('webpacking extension media', isWatch, webpackConfigLocations),
esbuildExtensions('esbuilding extension media', isWatch, esbuildMediaScripts.map(p => ({
script: path.join(extensionsPath, p),
outputRoot: outputRoot ? path.join(root, outputRoot, path.dirname(p)) : undefined
}))),
]);
}
//#endregion
//#region Azure Pipelines
@@ -320,121 +290,5 @@ async function buildWebExtensions(isWatch) {
path.join(extensionsPath, '**', 'extension-browser.webpack.config.js'),
{ ignore: ['**/node_modules'] }
);
return webpackExtensions('packaging web extension', isWatch, webpackConfigLocations.map(configPath => ({ configPath })));
}
/**
* @param {string} taskName
* @param {boolean} isWatch
* @param {{ configPath: string, outputRoot?: boolean}} webpackConfigLocations
*/
async function webpackExtensions(taskName, isWatch, webpackConfigLocations) {
const webpack = require('webpack');
const webpackConfigs = [];
for (const { configPath, outputRoot } of webpackConfigLocations) {
const configOrFnOrArray = require(configPath);
function addConfig(configOrFn) {
let config;
if (typeof configOrFn === 'function') {
config = configOrFn({}, {});
webpackConfigs.push(config);
} else {
config = configOrFn;
}
if (outputRoot) {
config.output.path = path.join(outputRoot, path.relative(path.dirname(configPath), config.output.path));
}
webpackConfigs.push(configOrFn);
}
addConfig(configOrFnOrArray);
}
function reporter(fullStats) {
if (Array.isArray(fullStats.children)) {
for (const stats of fullStats.children) {
const outputPath = stats.outputPath;
if (outputPath) {
const relativePath = path.relative(extensionsPath, outputPath).replace(/\\/g, '/');
const match = relativePath.match(/[^\/]+(\/server|\/client)?/);
fancyLog(`Finished ${ansiColors.green(taskName)} ${ansiColors.cyan(match[0])} with ${stats.errors.length} errors.`);
}
if (Array.isArray(stats.errors)) {
stats.errors.forEach(error => {
fancyLog.error(error);
});
}
if (Array.isArray(stats.warnings)) {
stats.warnings.forEach(warning => {
fancyLog.warn(warning);
});
}
}
}
}
return new Promise((resolve, reject) => {
if (isWatch) {
webpack(webpackConfigs).watch({}, (err, stats) => {
if (err) {
reject();
} else {
reporter(stats.toJson());
}
});
} else {
webpack(webpackConfigs).run((err, stats) => {
if (err) {
fancyLog.error(err);
reject();
} else {
reporter(stats.toJson());
resolve();
}
});
}
});
}
/**
* @param {string} taskName
* @param {boolean} isWatch
* @param {{ script: string, outputRoot?: string }}} scripts
*/
async function esbuildExtensions(taskName, isWatch, scripts) {
function reporter(/** @type {string} */ stdError, /** @type {string} */script) {
const matches = (stdError || '').match(/\> (.+): error: (.+)?/g);
fancyLog(`Finished ${ansiColors.green(taskName)} ${script} with ${matches ? matches.length : 0} errors.`);
for (const match of matches || []) {
fancyLog.error(match);
}
}
const tasks = scripts.map(({ script, outputRoot }) => {
return new Promise((resolve, reject) => {
const args = [script];
if (isWatch) {
args.push('--watch');
}
if (outputRoot) {
args.push('--outputRoot', outputRoot);
}
const proc = child_process.execFile(process.argv[0], args, {}, (error, _stdout, stderr) => {
if (error) {
return reject(error);
}
reporter(stderr, script);
if (stderr) {
return reject();
}
return resolve();
});
proc.stdout.on('data', (data) => {
fancyLog(`${ansiColors.green(taskName)}: ${data.toString('utf8')}`);
});
});
});
return Promise.all(tasks);
return ext.webpackExtensions('packaging web extension', isWatch, webpackConfigLocations.map(configPath => ({ configPath })));
}

View File

@@ -15,6 +15,8 @@ const task = require('./lib/task');
const glob = require('glob');
const vsce = require('vsce');
const mkdirp = require('mkdirp');
const rename = require('gulp-rename');
const fs = require('fs');
gulp.task('fmt', () => formatStagedFiles());
const formatFiles = (some) => {
@@ -94,12 +96,14 @@ const root = path.dirname(__dirname);
gulp.task('package-external-extensions', task.series(
task.define('bundle-external-extensions-build', () => ext.packageExternalExtensionsStream().pipe(gulp.dest('.build/external'))),
task.define('create-external-extension-vsix-build', () => {
task.define('create-external-extension-vsix-build', async () => {
const vsixes = glob.sync('.build/external/extensions/*/package.json').map(manifestPath => {
const extensionPath = path.dirname(path.join(root, manifestPath));
const extensionName = path.basename(extensionPath);
return { name: extensionName, path: extensionPath };
}).map(element => {
})
.filter(element => ext.vscodeExternalExtensions.indexOf(element.name) === -1) // VS Code external extensions are bundled into ADS so no need to create a normal VSIX for them
.map(element => {
const pkgJson = require(path.join(element.path, 'package.json'));
const vsixDirectory = path.join(root, '.build', 'extensions');
mkdirp.sync(vsixDirectory);
@@ -111,8 +115,46 @@ gulp.task('package-external-extensions', task.series(
useYarn: true
});
});
// Wait for all the initial VSIXes to be completed before making the VS Code ones since we'll be overwriting
// values in the package.json for those.
await Promise.all(vsixes);
return Promise.all(vsixes);
// Go through and find the extensions which build separate versions of themselves for VS Code.
// This is currently a pretty simplistic process, essentially just replacing certain values in
// the package.json. It doesn't handle more complex tasks such as replacing localized strings.
const vscodeVsixes = glob.sync('.build/external/extensions/*/package.vscode.json')
.map(async vscodeManifestRelativePath => {
const vscodeManifestFullPath = path.join(root, vscodeManifestRelativePath);
const packageDir = path.dirname(vscodeManifestFullPath);
const packageManifestPath = path.join(packageDir, 'package.json');
const json = require('gulp-json-editor');
const packageJsonStream = gulp.src(packageManifestPath) // Create stream for the original package.json
.pipe(json(data => { // And now use gulp-json-editor to modify the contents
const updateData = JSON.parse(fs.readFileSync(vscodeManifestFullPath)); // Read in the set of values to replace from package.vscode.json
Object.keys(updateData).forEach(key => {
data[key] = updateData[key];
});
// Remove ADS-only menus. This is a subset of the menus listed in https://github.com/microsoft/azuredatastudio/blob/main/src/vs/workbench/api/common/menusExtensionPoint.ts
// More can be added to the list as needed.
['objectExplorer/item/context', 'dataExplorer/context', 'dashboard/toolbar'].forEach(menu => {
delete data.contributes.menus[menu];
});
return data;
}, { beautify: false }))
.pipe(gulp.dest(packageDir));
await new Promise(resolve => packageJsonStream.on('finish', resolve)); // Wait for the files to finish being updated before packaging
const pkgJson = JSON.parse(fs.readFileSync(packageManifestPath));
const vsixDirectory = path.join(root, '.build', 'extensions');
const packagePath = path.join(vsixDirectory, `${pkgJson.name}-${pkgJson.version}.vsix`);
console.info('Creating vsix for ' + packageDir + ' result:' + packagePath);
return vsce.createVSIX({
cwd: packageDir,
packagePath: packagePath,
useYarn: true
});
});
return Promise.all(vscodeVsixes);
})
));

View File

@@ -112,33 +112,32 @@ gulp.task(optimizeVSCodeTask);
// List of ADS extension XLF files that we want to put into the English resource folder.
const extensionsFilter = filter([
"**/admin-tool-ext-win.xlf",
"**/agent.xlf",
"**/arc.xlf",
"**/asde-deployment.xlf",
"**/azdata.xlf",
"**/azurecore.xlf",
"**/azurehybridtoolkit.xlf",
"**/big-data-cluster.xlf",
"**/cms.xlf",
"**/dacpac.xlf",
"**/data-workspace.xlf",
"**/import.xlf",
"**/kusto.xlf",
"**/machine-learning.xlf",
"**/Microsoft.sqlservernotebook.xlf",
"**/mssql.xlf",
"**/notebook.xlf",
"**/profiler.xlf",
"**/query-history.xlf",
"**/resource-deployment.xlf",
"**/schema-compare.xlf",
"**/server-report.xlf",
"**/sql-assessment.xlf",
"**/sql-database-projects.xlf",
"**/sql-migration.xlf",
"**/xml-language-features.xlf"
])
'**/admin-tool-ext-win.xlf',
'**/agent.xlf',
'**/arc.xlf',
'**/asde-deployment.xlf',
'**/azurecore.xlf',
'**/azurehybridtoolkit.xlf',
'**/big-data-cluster.xlf',
'**/cms.xlf',
'**/dacpac.xlf',
'**/data-workspace.xlf',
'**/import.xlf',
'**/kusto.xlf',
'**/machine-learning.xlf',
'**/Microsoft.sqlservernotebook.xlf',
'**/mssql.xlf',
'**/notebook.xlf',
'**/profiler.xlf',
'**/query-history.xlf',
'**/resource-deployment.xlf',
'**/schema-compare.xlf',
'**/server-report.xlf',
'**/sql-assessment.xlf',
'**/sql-database-projects.xlf',
'**/sql-migration.xlf',
'**/xml-language-features.xlf'
]);
// Copy ADS extension XLFs into English resource folder.
const importExtensionsTask = task.define('import-extensions-xlfs', function () {
@@ -149,7 +148,7 @@ const importExtensionsTask = task.define('import-extensions-xlfs', function () {
)
.pipe(vfs.dest(`./resources/xlf/en`));
});
gulp.task(importExtensionsTask)
gulp.task(importExtensionsTask);
// {{SQL CARBON EDIT}} end
const sourceMappingURLBase = `https://sqlopsbuilds.blob.core.windows.net/sourcemaps/${commit}`;
@@ -283,7 +282,14 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
.pipe(jsFilter)
.pipe(util.rewriteSourceMappingURL(sourceMappingURLBase))
.pipe(jsFilter.restore)
.pipe(createAsar(path.join(process.cwd(), 'node_modules'), ['**/*.node', '**/vscode-ripgrep/bin/*', '**/node-pty/build/Release/*', '**/*.wasm'], 'node_modules.asar'));
.pipe(createAsar(path.join(process.cwd(), 'node_modules'), [
'**/*.node',
'**/vscode-ripgrep/bin/*',
'**/node-pty/build/Release/*',
'**/node-pty/lib/worker/conoutSocketWorker.js',
'**/node-pty/lib/shared/conout.js',
'**/*.wasm'
], 'node_modules.asar'));
let all = es.merge(
packageJsonStream,
@@ -439,8 +445,6 @@ BUILD_TARGETS.forEach(buildTarget => {
}
});
// Transifex Localizations
const innoSetupConfig = {
'zh-cn': { codePage: 'CP936', defaultInfo: { name: 'Simplified Chinese', id: '$0804', } },
'zh-tw': { codePage: 'CP950', defaultInfo: { name: 'Traditional Chinese', id: '$0404' } },
@@ -456,6 +460,8 @@ const innoSetupConfig = {
'tr': { codePage: 'CP1254' }
};
// Transifex Localizations
const apiHostname = process.env.TRANSIFEX_API_URL;
const apiName = process.env.TRANSIFEX_API_NAME;
const apiToken = process.env.TRANSIFEX_API_TOKEN;
@@ -486,12 +492,12 @@ const vscodeTranslationsExport = task.define(
'vscode-translations-export',
task.series(
compileBuildTask,
compileLocalizationExtensionsBuildTask, // {{SQL CARBON EDIT}} now include all extensions in ADS, not just a subset. (replaces "compileExtensionsBuildTask" here).
compileLocalizationExtensionsBuildTask, // {{SQL CARBON EDIT}} now include all extensions in ADS, not just a subset. (replaces 'compileExtensionsBuildTask' here).
optimizeVSCodeTask,
function () {
const pathToMetadata = './out-vscode/nls.metadata.json';
const pathToExtensions = '.build/extensions/*';
const pathToSetup = 'build/win32/**/{Default.isl,messages.en.isl}';
const pathToSetup = 'build/win32/i18n/messages.en.isl';
return es.merge(
gulp.src(pathToMetadata).pipe(i18n.createXlfFilesForCoreBundle()),
@@ -501,7 +507,7 @@ const vscodeTranslationsExport = task.define(
}
)
);
gulp.task(vscodeTranslationsExport)
gulp.task(vscodeTranslationsExport);
// {{SQL CARBON EDIT}} Localization gulp task, runs vscodeTranslationsExport and imports a subset of the generated XLFs into the folder.
gulp.task(task.define(

View File

@@ -18,8 +18,8 @@ const ansiColors = require("ansi-colors");
const mkdirp = require('mkdirp');
const root = path.dirname(path.dirname(__dirname));
const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../product.json'), 'utf8'));
const builtInExtensions = productjson.builtInExtensions;
const webBuiltInExtensions = productjson.webBuiltInExtensions;
const builtInExtensions = productjson.builtInExtensions || [];
const webBuiltInExtensions = productjson.webBuiltInExtensions || [];
const controlFilePath = path.join(os.homedir(), '.vscode-oss-dev', 'extensions', 'control.json');
const ENABLE_LOGGING = !process.env['VSCODE_BUILD_BUILTIN_EXTENSIONS_SILENCE_PLEASE'];
function log(...messages) {

View File

@@ -36,8 +36,8 @@ export interface IExtensionDefinition {
const root = path.dirname(path.dirname(__dirname));
const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../product.json'), 'utf8'));
const builtInExtensions = <IExtensionDefinition[]>productjson.builtInExtensions;
const webBuiltInExtensions = <IExtensionDefinition[]>productjson.webBuiltInExtensions;
const builtInExtensions = <IExtensionDefinition[]>productjson.builtInExtensions || [];
const webBuiltInExtensions = <IExtensionDefinition[]>productjson.webBuiltInExtensions || [];
const controlFilePath = path.join(os.homedir(), '.vscode-oss-dev', 'extensions', 'control.json');
const ENABLE_LOGGING = !process.env['VSCODE_BUILD_BUILTIN_EXTENSIONS_SILENCE_PLEASE'];

View File

@@ -1,7 +1,7 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const got_1 = require("got");
@@ -12,8 +12,8 @@ const ansiColors = require("ansi-colors");
const root = path.dirname(path.dirname(__dirname));
const rootCG = path.join(root, 'extensionsCG');
const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../product.json'), 'utf8'));
const builtInExtensions = productjson.builtInExtensions;
const webBuiltInExtensions = productjson.webBuiltInExtensions;
const builtInExtensions = productjson.builtInExtensions || [];
const webBuiltInExtensions = productjson.webBuiltInExtensions || [];
const token = process.env['VSCODE_MIXIN_PASSWORD'] || process.env['GITHUB_TOKEN'] || undefined;
const contentBasePath = 'raw.githubusercontent.com';
const contentFileNames = ['package.json', 'package-lock.json', 'yarn.lock'];
@@ -25,7 +25,7 @@ async function downloadExtensionDetails(extension) {
const promises = [];
for (const fileName of contentFileNames) {
promises.push(new Promise(resolve => {
(0, got_1.default)(`${repositoryContentBaseUrl}/${fileName}`)
got_1.default(`${repositoryContentBaseUrl}/${fileName}`)
.then(response => {
resolve({ fileName, body: response.rawBody });
})

View File

@@ -1,6 +1,6 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import got from 'got';
@@ -13,8 +13,8 @@ import { IExtensionDefinition } from './builtInExtensions';
const root = path.dirname(path.dirname(__dirname));
const rootCG = path.join(root, 'extensionsCG');
const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../product.json'), 'utf8'));
const builtInExtensions = <IExtensionDefinition[]>productjson.builtInExtensions;
const webBuiltInExtensions = <IExtensionDefinition[]>productjson.webBuiltInExtensions;
const builtInExtensions = <IExtensionDefinition[]>productjson.builtInExtensions || [];
const webBuiltInExtensions = <IExtensionDefinition[]>productjson.webBuiltInExtensions || [];
const token = process.env['VSCODE_MIXIN_PASSWORD'] || process.env['GITHUB_TOKEN'] || undefined;
const contentBasePath = 'raw.githubusercontent.com';

View File

@@ -9,7 +9,7 @@ const es = require("event-stream");
const fs = require("fs");
const gulp = require("gulp");
const path = require("path");
const monacodts = require("../monaco/api");
const monacodts = require("./monaco-api");
const nls = require("./nls");
const reporter_1 = require("./reporter");
const util = require("./util");
@@ -17,7 +17,7 @@ const fancyLog = require("fancy-log");
const ansiColors = require("ansi-colors");
const os = require("os");
const watch = require('./watch');
const reporter = (0, reporter_1.createReporter)();
const reporter = reporter_1.createReporter();
function getTypeScriptCompilerOptions(src) {
const rootDir = path.join(__dirname, `../../${src}`);
let options = {};

View File

@@ -9,7 +9,7 @@ import * as es from 'event-stream';
import * as fs from 'fs';
import * as gulp from 'gulp';
import * as path from 'path';
import * as monacodts from '../monaco/api';
import * as monacodts from './monaco-api';
import * as nls from './nls';
import { createReporter } from './reporter';
import * as util from './util';

View File

@@ -21,7 +21,7 @@ module.exports = new class {
const configs = context.options;
for (const config of configs) {
if (minimatch(context.getFilename(), config.target)) {
return (0, utils_1.createImportRuleListener)((node, value) => this._checkImport(context, config, node, value));
return utils_1.createImportRuleListener((node, value) => this._checkImport(context, config, node, value));
}
}
return {};
@@ -29,7 +29,7 @@ module.exports = new class {
_checkImport(context, config, node, path) {
// resolve relative paths
if (path[0] === '.') {
path = (0, path_1.join)(context.getFilename(), path);
path = path_1.join(context.getFilename(), path);
}
let restrictions;
if (typeof config.restrictions === 'string') {

View File

@@ -17,7 +17,7 @@ module.exports = new class {
};
}
create(context) {
const fileDirname = (0, path_1.dirname)(context.getFilename());
const fileDirname = path_1.dirname(context.getFilename());
const parts = fileDirname.split(/\\|\//);
const ruleArgs = context.options[0];
let config;
@@ -39,11 +39,11 @@ module.exports = new class {
// nothing
return {};
}
return (0, utils_1.createImportRuleListener)((node, path) => {
return utils_1.createImportRuleListener((node, path) => {
if (path[0] === '.') {
path = (0, path_1.join)((0, path_1.dirname)(context.getFilename()), path);
path = path_1.join(path_1.dirname(context.getFilename()), path);
}
const parts = (0, path_1.dirname)(path).split(/\\|\//);
const parts = path_1.dirname(path).split(/\\|\//);
for (let i = parts.length - 1; i >= 0; i--) {
const part = parts[i];
if (config.allowed.has(part)) {

View File

@@ -20,10 +20,10 @@ module.exports = new class NoNlsInStandaloneEditorRule {
|| /vs(\/|\\)editor(\/|\\)editor.api/.test(fileName)
|| /vs(\/|\\)editor(\/|\\)editor.main/.test(fileName)
|| /vs(\/|\\)editor(\/|\\)editor.worker/.test(fileName)) {
return (0, utils_1.createImportRuleListener)((node, path) => {
return utils_1.createImportRuleListener((node, path) => {
// resolve relative paths
if (path[0] === '.') {
path = (0, path_1.join)(context.getFilename(), path);
path = path_1.join(context.getFilename(), path);
}
if (/vs(\/|\\)nls/.test(path)) {
context.report({

View File

@@ -21,10 +21,10 @@ module.exports = new class NoNlsInStandaloneEditorRule {
// the vs/editor folder is allowed to use the standalone editor
return {};
}
return (0, utils_1.createImportRuleListener)((node, path) => {
return utils_1.createImportRuleListener((node, path) => {
// resolve relative paths
if (path[0] === '.') {
path = (0, path_1.join)(context.getFilename(), path);
path = path_1.join(context.getFilename(), path);
}
if (/vs(\/|\\)editor(\/|\\)standalone(\/|\\)/.test(path)
|| /vs(\/|\\)editor(\/|\\)common(\/|\\)standalone(\/|\\)/.test(path)

View File

@@ -2,144 +2,124 @@
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// FORKED FROM https://github.com/eslint/eslint/blob/b23ad0d789a909baf8d7c41a35bc53df932eaf30/lib/rules/no-unused-expressions.js
// and added support for `OptionalCallExpression`, see https://github.com/facebook/create-react-app/issues/8107 and https://github.com/eslint/eslint/issues/12642
/**
* @fileoverview Flag expressions in statement position that do not side effect
* @author Michael Ficarra
*/
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
module.exports = {
meta: {
type: 'suggestion',
docs: {
description: 'disallow unused expressions',
category: 'Best Practices',
recommended: false,
url: 'https://eslint.org/docs/rules/no-unused-expressions'
},
schema: [
{
type: 'object',
properties: {
allowShortCircuit: {
type: 'boolean',
default: false
},
allowTernary: {
type: 'boolean',
default: false
},
allowTaggedTemplates: {
type: 'boolean',
default: false
}
},
additionalProperties: false
}
]
},
create(context) {
const config = context.options[0] || {},
allowShortCircuit = config.allowShortCircuit || false,
allowTernary = config.allowTernary || false,
allowTaggedTemplates = config.allowTaggedTemplates || false;
// eslint-disable-next-line jsdoc/require-description
meta: {
type: 'suggestion',
docs: {
description: 'disallow unused expressions',
category: 'Best Practices',
recommended: false,
url: 'https://eslint.org/docs/rules/no-unused-expressions'
},
schema: [
{
type: 'object',
properties: {
allowShortCircuit: {
type: 'boolean',
default: false
},
allowTernary: {
type: 'boolean',
default: false
},
allowTaggedTemplates: {
type: 'boolean',
default: false
}
},
additionalProperties: false
}
]
},
create(context) {
const config = context.options[0] || {},
allowShortCircuit = config.allowShortCircuit || false,
allowTernary = config.allowTernary || false,
allowTaggedTemplates = config.allowTaggedTemplates || false;
// eslint-disable-next-line jsdoc/require-description
/**
* @param {ASTNode} node any node
* @returns {boolean} whether the given node structurally represents a directive
* @param node any node
* @returns whether the given node structurally represents a directive
*/
function looksLikeDirective(node) {
return node.type === 'ExpressionStatement' &&
node.expression.type === 'Literal' && typeof node.expression.value === 'string';
}
// eslint-disable-next-line jsdoc/require-description
function looksLikeDirective(node) {
return node.type === 'ExpressionStatement' &&
node.expression.type === 'Literal' && typeof node.expression.value === 'string';
}
// eslint-disable-next-line jsdoc/require-description
/**
* @param {Function} predicate ([a] -> Boolean) the function used to make the determination
* @param {a[]} list the input list
* @returns {a[]} the leading sequence of members in the given list that pass the given predicate
* @param predicate ([a] -> Boolean) the function used to make the determination
* @param list the input list
* @returns the leading sequence of members in the given list that pass the given predicate
*/
function takeWhile(predicate, list) {
for (let i = 0; i < list.length; ++i) {
if (!predicate(list[i])) {
return list.slice(0, i);
}
}
return list.slice();
}
// eslint-disable-next-line jsdoc/require-description
function takeWhile(predicate, list) {
for (let i = 0; i < list.length; ++i) {
if (!predicate(list[i])) {
return list.slice(0, i);
}
}
return list.slice();
}
// eslint-disable-next-line jsdoc/require-description
/**
* @param {ASTNode} node a Program or BlockStatement node
* @returns {ASTNode[]} the leading sequence of directive nodes in the given node's body
* @param node a Program or BlockStatement node
* @returns the leading sequence of directive nodes in the given node's body
*/
function directives(node) {
return takeWhile(looksLikeDirective, node.body);
}
// eslint-disable-next-line jsdoc/require-description
function directives(node) {
return takeWhile(looksLikeDirective, node.body);
}
// eslint-disable-next-line jsdoc/require-description
/**
* @param {ASTNode} node any node
* @param {ASTNode[]} ancestors the given node's ancestors
* @returns {boolean} whether the given node is considered a directive in its current position
* @param node any node
* @param ancestors the given node's ancestors
* @returns whether the given node is considered a directive in its current position
*/
function isDirective(node, ancestors) {
const parent = ancestors[ancestors.length - 1],
grandparent = ancestors[ancestors.length - 2];
return (parent.type === 'Program' || parent.type === 'BlockStatement' &&
(/Function/u.test(grandparent.type))) &&
directives(parent).indexOf(node) >= 0;
}
function isDirective(node, ancestors) {
const parent = ancestors[ancestors.length - 1], grandparent = ancestors[ancestors.length - 2];
return (parent.type === 'Program' || parent.type === 'BlockStatement' &&
(/Function/u.test(grandparent.type))) &&
directives(parent).indexOf(node) >= 0;
}
/**
* Determines whether or not a given node is a valid expression. Recurses on short circuit eval and ternary nodes if enabled by flags.
* @param {ASTNode} node any node
* @returns {boolean} whether the given node is a valid expression
* @param node any node
* @returns whether the given node is a valid expression
*/
function isValidExpression(node) {
if (allowTernary) {
// Recursive check for ternary and logical expressions
if (node.type === 'ConditionalExpression') {
return isValidExpression(node.consequent) && isValidExpression(node.alternate);
}
}
if (allowShortCircuit) {
if (node.type === 'LogicalExpression') {
return isValidExpression(node.right);
}
}
if (allowTaggedTemplates && node.type === 'TaggedTemplateExpression') {
return true;
}
return /^(?:Assignment|OptionalCall|Call|New|Update|Yield|Await)Expression$/u.test(node.type) ||
(node.type === 'UnaryExpression' && ['delete', 'void'].indexOf(node.operator) >= 0);
}
return {
ExpressionStatement(node) {
if (!isValidExpression(node.expression) && !isDirective(node, context.getAncestors())) {
context.report({ node, message: 'Expected an assignment or function call and instead saw an expression.' });
}
}
};
}
function isValidExpression(node) {
if (allowTernary) {
// Recursive check for ternary and logical expressions
if (node.type === 'ConditionalExpression') {
return isValidExpression(node.consequent) && isValidExpression(node.alternate);
}
}
if (allowShortCircuit) {
if (node.type === 'LogicalExpression') {
return isValidExpression(node.right);
}
}
if (allowTaggedTemplates && node.type === 'TaggedTemplateExpression') {
return true;
}
return /^(?:Assignment|OptionalCall|Call|New|Update|Yield|Await)Expression$/u.test(node.type) ||
(node.type === 'UnaryExpression' && ['delete', 'void'].indexOf(node.operator) >= 0);
}
return {
ExpressionStatement(node) {
if (!isValidExpression(node.expression) && !isDirective(node, context.getAncestors())) {
context.report({ node: node, message: 'Expected an assignment or function call and instead saw an expression.' });
}
}
};
}
};

View File

@@ -15,7 +15,7 @@ module.exports = new (_a = class TranslationRemind {
};
}
create(context) {
return (0, utils_1.createImportRuleListener)((node, path) => this._checkImport(context, node, path));
return utils_1.createImportRuleListener((node, path) => this._checkImport(context, node, path));
}
_checkImport(context, node, path) {
if (path !== TranslationRemind.NLS_MODULE) {
@@ -31,7 +31,7 @@ module.exports = new (_a = class TranslationRemind {
let resourceDefined = false;
let json;
try {
json = (0, fs_1.readFileSync)('./build/lib/i18n.resources.json', 'utf8');
json = fs_1.readFileSync('./build/lib/i18n.resources.json', 'utf8');
}
catch (e) {
console.error('[translation-remind rule]: File with resources to pull from Transifex was not found. Aborting translation resource check for newly defined workbench part/service.');

View File

@@ -0,0 +1,45 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
module.exports = new class ApiVsCodeInComments {
constructor() {
this.meta = {
messages: {
comment: `Don't use the term 'vs code' in comments`
}
};
}
create(context) {
const sourceCode = context.getSourceCode();
return {
['Program']: (_node) => {
for (const comment of sourceCode.getAllComments()) {
if (comment.type !== 'Block') {
continue;
}
if (!comment.range) {
continue;
}
const startIndex = comment.range[0] + '/*'.length;
const re = /vs code/ig;
let match;
while ((match = re.exec(comment.value))) {
// Allow using 'VS Code' in quotes
if (comment.value[match.index - 1] === `'` && comment.value[match.index + match[0].length] === `'`) {
continue;
}
// Types for eslint seem incorrect
const start = sourceCode.getLocFromIndex(startIndex + match.index);
const end = sourceCode.getLocFromIndex(startIndex + match.index + match[0].length);
context.report({
messageId: 'comment',
loc: { start, end }
});
}
}
}
};
}
};

View File

@@ -0,0 +1,53 @@
/*---------------------------------------------------------------------------------------------
* 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 type * as estree from 'estree';
export = new class ApiVsCodeInComments implements eslint.Rule.RuleModule {
readonly meta: eslint.Rule.RuleMetaData = {
messages: {
comment: `Don't use the term 'vs code' in comments`
}
};
create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
const sourceCode = context.getSourceCode();
return {
['Program']: (_node: any) => {
for (const comment of sourceCode.getAllComments()) {
if (comment.type !== 'Block') {
continue;
}
if (!comment.range) {
continue;
}
const startIndex = comment.range[0] + '/*'.length;
const re = /vs code/ig;
let match: RegExpExecArray | null;
while ((match = re.exec(comment.value))) {
// Allow using 'VS Code' in quotes
if (comment.value[match.index - 1] === `'` && comment.value[match.index + match[0].length] === `'`) {
continue;
}
// Types for eslint seem incorrect
const start = sourceCode.getLocFromIndex(startIndex + match.index) as any as estree.Position;
const end = sourceCode.getLocFromIndex(startIndex + match.index + match[0].length) as any as estree.Position;
context.report({
messageId: 'comment',
loc: { start, end }
});
}
}
}
};
}
};

View File

@@ -4,9 +4,10 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.translatePackageJSON = exports.packageRebuildExtensionsStream = exports.cleanRebuildExtensions = exports.packageExternalExtensionsStream = exports.scanBuiltinExtensions = exports.packageMarketplaceExtensionsStream = exports.packageLocalExtensionsStream = exports.fromMarketplace = exports.fromLocalNormal = exports.fromLocal = void 0;
exports.buildExtensionMedia = exports.webpackExtensions = exports.translatePackageJSON = exports.packageRebuildExtensionsStream = exports.cleanRebuildExtensions = exports.packageExternalExtensionsStream = exports.scanBuiltinExtensions = exports.packageMarketplaceExtensionsStream = exports.packageLocalExtensionsStream = exports.vscodeExternalExtensions = exports.fromMarketplace = exports.fromLocalNormal = exports.fromLocal = void 0;
const es = require("event-stream");
const fs = require("fs");
const cp = require("child_process");
const glob = require("glob");
const gulp = require("gulp");
const path = require("path");
@@ -23,7 +24,7 @@ const jsoncParser = require("jsonc-parser");
const util = require('./util');
const root = path.dirname(path.dirname(__dirname));
const commit = util.getVersion(root);
const sourceMappingURLBase = `https://sqlopsbuilds.blob.core.windows.net/sourcemaps/${commit}`;
const sourceMappingURLBase = `https://sqlopsbuilds.blob.core.windows.net/sourcemaps/${commit}`; // {{SQL CARBON EDIT}}
function minifyExtensionResources(input) {
const jsonFilter = filter(['**/*.json', '**/*.code-snippets'], { restore: true });
return input
@@ -144,7 +145,7 @@ function fromLocalWebpack(extensionPath, webpackConfigFileName) {
console.error(packagedDependencies);
result.emit('error', err);
});
return result.pipe((0, stats_1.createStatsStream)(path.basename(extensionPath)));
return result.pipe(stats_1.createStatsStream(path.basename(extensionPath)));
}
function fromLocalNormal(extensionPath) {
const result = es.through();
@@ -162,7 +163,7 @@ function fromLocalNormal(extensionPath) {
es.readArray(files).pipe(result);
})
.catch(err => result.emit('error', err));
return result.pipe((0, stats_1.createStatsStream)(path.basename(extensionPath)));
return result.pipe(stats_1.createStatsStream(path.basename(extensionPath)));
}
exports.fromLocalNormal = fromLocalNormal;
const baseHeaders = {
@@ -174,7 +175,7 @@ function fromMarketplace(extensionName, version, metadata) {
const remote = require('gulp-remote-retry-src');
const json = require('gulp-json-editor');
const [, name] = extensionName.split('.');
const url = `https://sqlopsextensions.blob.core.windows.net/extensions/${name}/${name}-${version}.vsix`;
const url = `https://sqlopsextensions.blob.core.windows.net/extensions/${name}/${name}-${version}.vsix`; // {{SQL CARBON EDIT}}
fancyLog('Downloading extension:', ansiColors.yellow(`${extensionName}@${version}`), '...');
const options = {
base: url,
@@ -215,7 +216,6 @@ const externalExtensions = [
'arc',
'asde-deployment',
'azcli',
'azdata',
'azurehybridtoolkit',
'azuremonitor',
'cms',
@@ -232,6 +232,12 @@ const externalExtensions = [
'sql-database-projects',
'sql-migration'
];
/**
* Extensions that are built into ADS but should be packaged externally as well for VS Code.
*/
exports.vscodeExternalExtensions = [
'data-workspace'
];
// extensions that require a rebuild since they have native parts
const rebuildExtensions = [
'big-data-cluster',
@@ -341,6 +347,7 @@ function scanBuiltinExtensions(extensionsRoot, exclude = []) {
}
}
exports.scanBuiltinExtensions = scanBuiltinExtensions;
// {{SQL CARBON EDIT}} start
function packageExternalExtensionsStream() {
const extenalExtensionDescriptions = glob.sync('extensions/*/package.json')
.map(manifestPath => {
@@ -348,7 +355,7 @@ function packageExternalExtensionsStream() {
const extensionName = path.basename(extensionPath);
return { name: extensionName, path: extensionPath };
})
.filter(({ name }) => externalExtensions.indexOf(name) >= 0);
.filter(({ name }) => externalExtensions.indexOf(name) >= 0 || exports.vscodeExternalExtensions.indexOf(name) >= 0);
const builtExtensions = extenalExtensionDescriptions.map(extension => {
return fromLocal(extension.path, false)
.pipe(rename(p => p.dirname = `extensions/${extension.name}/${p.dirname}`));
@@ -356,7 +363,6 @@ function packageExternalExtensionsStream() {
return es.merge(builtExtensions);
}
exports.packageExternalExtensionsStream = packageExternalExtensionsStream;
// {{SQL CARBON EDIT}} start
function cleanRebuildExtensions(root) {
return Promise.all(rebuildExtensions.map(async (e) => {
await util2.rimraf(path.join(root, e))();
@@ -403,3 +409,132 @@ function translatePackageJSON(packageJSON, packageNLSPath) {
return packageJSON;
}
exports.translatePackageJSON = translatePackageJSON;
const extensionsPath = path.join(root, 'extensions');
// Additional projects to webpack. These typically build code for webviews
const webpackMediaConfigFiles = [
'markdown-language-features/webpack.config.js',
'simple-browser/webpack.config.js',
];
// Additional projects to run esbuild on. These typically build code for webviews
const esbuildMediaScripts = [
'markdown-language-features/esbuild.js',
'markdown-math/esbuild.js',
];
async function webpackExtensions(taskName, isWatch, webpackConfigLocations) {
const webpack = require('webpack');
const webpackConfigs = [];
for (const { configPath, outputRoot } of webpackConfigLocations) {
const configOrFnOrArray = require(configPath);
function addConfig(configOrFn) {
let config;
if (typeof configOrFn === 'function') {
config = configOrFn({}, {});
webpackConfigs.push(config);
}
else {
config = configOrFn;
}
if (outputRoot) {
config.output.path = path.join(outputRoot, path.relative(path.dirname(configPath), config.output.path));
}
webpackConfigs.push(configOrFn);
}
addConfig(configOrFnOrArray);
}
function reporter(fullStats) {
if (Array.isArray(fullStats.children)) {
for (const stats of fullStats.children) {
const outputPath = stats.outputPath;
if (outputPath) {
const relativePath = path.relative(extensionsPath, outputPath).replace(/\\/g, '/');
const match = relativePath.match(/[^\/]+(\/server|\/client)?/);
fancyLog(`Finished ${ansiColors.green(taskName)} ${ansiColors.cyan(match[0])} with ${stats.errors.length} errors.`);
}
if (Array.isArray(stats.errors)) {
stats.errors.forEach((error) => {
fancyLog.error(error);
});
}
if (Array.isArray(stats.warnings)) {
stats.warnings.forEach((warning) => {
fancyLog.warn(warning);
});
}
}
}
}
return new Promise((resolve, reject) => {
if (isWatch) {
webpack(webpackConfigs).watch({}, (err, stats) => {
if (err) {
reject();
}
else {
reporter(stats.toJson());
}
});
}
else {
webpack(webpackConfigs).run((err, stats) => {
if (err) {
fancyLog.error(err);
reject();
}
else {
reporter(stats.toJson());
resolve();
}
});
}
});
}
exports.webpackExtensions = webpackExtensions;
async function esbuildExtensions(taskName, isWatch, scripts) {
function reporter(stdError, script) {
const matches = (stdError || '').match(/\> (.+): error: (.+)?/g);
fancyLog(`Finished ${ansiColors.green(taskName)} ${script} with ${matches ? matches.length : 0} errors.`);
for (const match of matches || []) {
fancyLog.error(match);
}
}
const tasks = scripts.map(({ script, outputRoot }) => {
return new Promise((resolve, reject) => {
const args = [script];
if (isWatch) {
args.push('--watch');
}
if (outputRoot) {
args.push('--outputRoot', outputRoot);
}
const proc = cp.execFile(process.argv[0], args, {}, (error, _stdout, stderr) => {
if (error) {
return reject(error);
}
reporter(stderr, script);
if (stderr) {
return reject();
}
return resolve();
});
proc.stdout.on('data', (data) => {
fancyLog(`${ansiColors.green(taskName)}: ${data.toString('utf8')}`);
});
});
});
return Promise.all(tasks);
}
async function buildExtensionMedia(isWatch, outputRoot) {
return Promise.all([
webpackExtensions('webpacking extension media', isWatch, webpackMediaConfigFiles.map(p => {
return {
configPath: path.join(extensionsPath, p),
outputRoot: outputRoot ? path.join(root, outputRoot, path.dirname(p)) : undefined
};
})),
esbuildExtensions('esbuilding extension media', isWatch, esbuildMediaScripts.map(p => ({
script: path.join(extensionsPath, p),
outputRoot: outputRoot ? path.join(root, outputRoot, path.dirname(p)) : undefined
}))),
]);
}
exports.buildExtensionMedia = buildExtensionMedia;

View File

@@ -5,6 +5,7 @@
import * as es from 'event-stream';
import * as fs from 'fs';
import * as cp from 'child_process';
import * as glob from 'glob';
import * as gulp from 'gulp';
import * as path from 'path';
@@ -19,10 +20,11 @@ import * as fancyLog from 'fancy-log';
import * as ansiColors from 'ansi-colors';
const buffer = require('gulp-buffer');
import * as jsoncParser from 'jsonc-parser';
import webpack = require('webpack');
const util = require('./util');
const root = path.dirname(path.dirname(__dirname));
const commit = util.getVersion(root);
const sourceMappingURLBase = `https://sqlopsbuilds.blob.core.windows.net/sourcemaps/${commit}`;
const sourceMappingURLBase = `https://sqlopsbuilds.blob.core.windows.net/sourcemaps/${commit}`; // {{SQL CARBON EDIT}}
function minifyExtensionResources(input: Stream): Stream {
const jsonFilter = filter(['**/*.json', '**/*.code-snippets'], { restore: true });
@@ -205,7 +207,7 @@ export function fromMarketplace(extensionName: string, version: string, metadata
const json = require('gulp-json-editor') as typeof import('gulp-json-editor');
const [, name] = extensionName.split('.');
const url = `https://sqlopsextensions.blob.core.windows.net/extensions/${name}/${name}-${version}.vsix`;
const url = `https://sqlopsextensions.blob.core.windows.net/extensions/${name}/${name}-${version}.vsix`; // {{SQL CARBON EDIT}}
fancyLog('Downloading extension:', ansiColors.yellow(`${extensionName}@${version}`), '...');
@@ -250,7 +252,6 @@ const externalExtensions = [
'arc',
'asde-deployment',
'azcli',
'azdata',
'azurehybridtoolkit',
'azuremonitor',
'cms',
@@ -268,6 +269,13 @@ const externalExtensions = [
'sql-migration'
];
/**
* Extensions that are built into ADS but should be packaged externally as well for VS Code.
*/
export const vscodeExternalExtensions = [
'data-workspace'
];
// extensions that require a rebuild since they have native parts
const rebuildExtensions = [
'big-data-cluster',
@@ -418,6 +426,7 @@ export function scanBuiltinExtensions(extensionsRoot: string, exclude: string[]
}
}
// {{SQL CARBON EDIT}} start
export function packageExternalExtensionsStream(): NodeJS.ReadWriteStream {
const extenalExtensionDescriptions = (<string[]>glob.sync('extensions/*/package.json'))
.map(manifestPath => {
@@ -425,7 +434,7 @@ export function packageExternalExtensionsStream(): NodeJS.ReadWriteStream {
const extensionName = path.basename(extensionPath);
return { name: extensionName, path: extensionPath };
})
.filter(({ name }) => externalExtensions.indexOf(name) >= 0);
.filter(({ name }) => externalExtensions.indexOf(name) >= 0 || vscodeExternalExtensions.indexOf(name) >= 0);
const builtExtensions = extenalExtensionDescriptions.map(extension => {
return fromLocal(extension.path, false)
@@ -435,7 +444,6 @@ export function packageExternalExtensionsStream(): NodeJS.ReadWriteStream {
return es.merge(builtExtensions);
}
// {{SQL CARBON EDIT}} start
export function cleanRebuildExtensions(root: string): Promise<void> {
return Promise.all(rebuildExtensions.map(async e => {
await util2.rimraf(path.join(root, e))();
@@ -481,3 +489,138 @@ export function translatePackageJSON(packageJSON: string, packageNLSPath: string
translate(packageJSON);
return packageJSON;
}
const extensionsPath = path.join(root, 'extensions');
// Additional projects to webpack. These typically build code for webviews
const webpackMediaConfigFiles = [
'markdown-language-features/webpack.config.js',
'simple-browser/webpack.config.js',
];
// Additional projects to run esbuild on. These typically build code for webviews
const esbuildMediaScripts = [
'markdown-language-features/esbuild.js',
'markdown-math/esbuild.js',
];
export async function webpackExtensions(taskName: string, isWatch: boolean, webpackConfigLocations: { configPath: string, outputRoot?: string }[]) {
const webpack = require('webpack') as typeof import('webpack');
const webpackConfigs: webpack.Configuration[] = [];
for (const { configPath, outputRoot } of webpackConfigLocations) {
const configOrFnOrArray = require(configPath);
function addConfig(configOrFn: webpack.Configuration | Function) {
let config;
if (typeof configOrFn === 'function') {
config = configOrFn({}, {});
webpackConfigs.push(config);
} else {
config = configOrFn;
}
if (outputRoot) {
config.output.path = path.join(outputRoot, path.relative(path.dirname(configPath), config.output.path));
}
webpackConfigs.push(configOrFn);
}
addConfig(configOrFnOrArray);
}
function reporter(fullStats: any) {
if (Array.isArray(fullStats.children)) {
for (const stats of fullStats.children) {
const outputPath = stats.outputPath;
if (outputPath) {
const relativePath = path.relative(extensionsPath, outputPath).replace(/\\/g, '/');
const match = relativePath.match(/[^\/]+(\/server|\/client)?/);
fancyLog(`Finished ${ansiColors.green(taskName)} ${ansiColors.cyan(match![0])} with ${stats.errors.length} errors.`);
}
if (Array.isArray(stats.errors)) {
stats.errors.forEach((error: any) => {
fancyLog.error(error);
});
}
if (Array.isArray(stats.warnings)) {
stats.warnings.forEach((warning: any) => {
fancyLog.warn(warning);
});
}
}
}
}
return new Promise<void>((resolve, reject) => {
if (isWatch) {
webpack(webpackConfigs).watch({}, (err, stats) => {
if (err) {
reject();
} else {
reporter(stats.toJson());
}
});
} else {
webpack(webpackConfigs).run((err, stats) => {
if (err) {
fancyLog.error(err);
reject();
} else {
reporter(stats.toJson());
resolve();
}
});
}
});
}
async function esbuildExtensions(taskName: string, isWatch: boolean, scripts: { script: string, outputRoot?: string }[]) {
function reporter(stdError: string, script: string) {
const matches = (stdError || '').match(/\> (.+): error: (.+)?/g);
fancyLog(`Finished ${ansiColors.green(taskName)} ${script} with ${matches ? matches.length : 0} errors.`);
for (const match of matches || []) {
fancyLog.error(match);
}
}
const tasks = scripts.map(({ script, outputRoot }) => {
return new Promise<void>((resolve, reject) => {
const args = [script];
if (isWatch) {
args.push('--watch');
}
if (outputRoot) {
args.push('--outputRoot', outputRoot);
}
const proc = cp.execFile(process.argv[0], args, {}, (error, _stdout, stderr) => {
if (error) {
return reject(error);
}
reporter(stderr, script);
if (stderr) {
return reject();
}
return resolve();
});
proc.stdout!.on('data', (data) => {
fancyLog(`${ansiColors.green(taskName)}: ${data.toString('utf8')}`);
});
});
});
return Promise.all(tasks);
}
export async function buildExtensionMedia(isWatch: boolean, outputRoot?: string) {
return Promise.all([
webpackExtensions('webpacking extension media', isWatch, webpackMediaConfigFiles.map(p => {
return {
configPath: path.join(extensionsPath, p),
outputRoot: outputRoot ? path.join(root, outputRoot, path.dirname(p)) : undefined
};
})),
esbuildExtensions('esbuilding extension media', isWatch, esbuildMediaScripts.map(p => ({
script: path.join(extensionsPath, p),
outputRoot: outputRoot ? path.join(root, outputRoot, path.dirname(p)) : undefined
}))),
]);
}

View File

@@ -4,14 +4,13 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.prepareIslFiles = exports.prepareI18nPackFiles = exports.pullI18nPackFiles = exports.i18nPackVersion = exports.createI18nFile = exports.prepareI18nFiles = exports.pullSetupXlfFiles = exports.pullCoreAndExtensionsXlfFiles = exports.findObsoleteResources = exports.pushXlfFiles = exports.createXlfFilesForIsl = exports.createXlfFilesForExtensions = exports.createXlfFilesForCoreBundle = exports.getResource = exports.processNlsFiles = exports.Limiter = exports.XLF = exports.Line = exports.externalExtensionsWithTranslations = exports.extraLanguages = exports.defaultLanguages = void 0;
exports.prepareIslFiles = exports.prepareI18nPackFiles = exports.i18nPackVersion = exports.createI18nFile = exports.prepareI18nFiles = exports.pullSetupXlfFiles = exports.findObsoleteResources = exports.pushXlfFiles = exports.createXlfFilesForIsl = exports.createXlfFilesForExtensions = exports.createXlfFilesForCoreBundle = exports.getResource = exports.processNlsFiles = exports.Limiter = exports.XLF = exports.Line = exports.externalExtensionsWithTranslations = exports.extraLanguages = exports.defaultLanguages = void 0;
const path = require("path");
const fs = require("fs");
const event_stream_1 = require("event-stream");
const File = require("vinyl");
const Is = require("is");
const xml2js = require("xml2js");
const glob = require("glob");
const https = require("https");
const gulp = require("gulp");
const fancyLog = require("fancy-log");
@@ -110,12 +109,16 @@ class XLF {
}
toString() {
this.appendHeader();
for (let file in this.files) {
const files = Object.keys(this.files).sort();
for (const file of files) {
this.appendNewLine(`<file original="${file}" source-language="en" datatype="plaintext"><body>`, 2);
for (let item of this.files[file]) {
const items = this.files[file].sort((a, b) => {
return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
});
for (const item of items) {
this.addStringItem(file, item);
}
this.appendNewLine('</body></file>', 2);
this.appendNewLine('</body></file>');
}
this.appendFooter();
return this.buffer.join('\r\n');
@@ -463,7 +466,7 @@ function processCoreBundleFormat(fileHeader, languages, json, emitter) {
});
}
function processNlsFiles(opts) {
return (0, event_stream_1.through)(function (file) {
return event_stream_1.through(function (file) {
let fileName = path.basename(file.path);
if (fileName === 'nls.metadata.json') {
let json = null;
@@ -521,13 +524,17 @@ function getResource(sourceFile) {
}
exports.getResource = getResource;
function createXlfFilesForCoreBundle() {
return (0, event_stream_1.through)(function (file) {
return event_stream_1.through(function (file) {
const basename = path.basename(file.path);
if (basename === 'nls.metadata.json') {
if (file.isBuffer()) {
const xlfs = Object.create(null);
const json = JSON.parse(file.contents.toString('utf8'));
for (let coreModule in json.keys) {
// {{SQL CARBON EDIT}} - Must sort the keys for easier translation.
let sortedKeys = Object.keys(json.keys).sort();
for (let i = 0; i < sortedKeys.length; i++) {
let coreModule = sortedKeys[i];
// {{SQL CARBON EDIT}} - End
const projectResource = getResource(coreModule);
const resource = projectResource.name;
const project = projectResource.project;
@@ -572,7 +579,7 @@ function createXlfFilesForExtensions() {
let counter = 0;
let folderStreamEnded = false;
let folderStreamEndEmitted = false;
return (0, event_stream_1.through)(function (extensionFolder) {
return event_stream_1.through(function (extensionFolder) {
const folderStream = this;
const stat = fs.statSync(extensionFolder.path);
if (!stat.isDirectory()) {
@@ -590,7 +597,7 @@ function createXlfFilesForExtensions() {
}
return _xlf;
}
gulp.src([`.build/extensions/${extensionName}/package.nls.json`, `.build/extensions/${extensionName}/**/nls.metadata.json`], { allowEmpty: true }).pipe((0, event_stream_1.through)(function (file) {
gulp.src([`.build/extensions/${extensionName}/package.nls.json`, `.build/extensions/${extensionName}/**/nls.metadata.json`], { allowEmpty: true }).pipe(event_stream_1.through(function (file) {
if (file.isBuffer()) {
const buffer = file.contents;
const basename = path.basename(file.path);
@@ -649,15 +656,14 @@ function createXlfFilesForExtensions() {
}
exports.createXlfFilesForExtensions = createXlfFilesForExtensions;
function createXlfFilesForIsl() {
return (0, event_stream_1.through)(function (file) {
return event_stream_1.through(function (file) {
let projectName, resourceFile;
if (path.basename(file.path) === 'Default.isl') {
if (path.basename(file.path) === 'messages.en.isl') {
projectName = setupProject;
resourceFile = 'setup_default.xlf';
resourceFile = 'messages.xlf';
}
else {
projectName = workbenchProject;
resourceFile = 'setup_messages.xlf';
throw new Error(`Unknown input file ${file.path}`);
}
let xlf = new XLF(projectName), keys = [], messages = [];
let model = new TextModel(file.contents.toString());
@@ -703,7 +709,7 @@ exports.createXlfFilesForIsl = createXlfFilesForIsl;
function pushXlfFiles(apiHostname, username, password) {
let tryGetPromises = [];
let updateCreatePromises = [];
return (0, event_stream_1.through)(function (file) {
return event_stream_1.through(function (file) {
const project = path.dirname(file.relative);
const fileName = path.basename(file.path);
const slug = fileName.substr(0, fileName.length - '.xlf'.length);
@@ -765,7 +771,7 @@ function getAllResources(project, apiHostname, username, password) {
function findObsoleteResources(apiHostname, username, password) {
let resourcesByProject = Object.create(null);
resourcesByProject[extensionsProject] = [].concat(exports.externalExtensionsWithTranslations); // clone
return (0, event_stream_1.through)(function (file) {
return event_stream_1.through(function (file) {
const project = path.dirname(file.relative);
const fileName = path.basename(file.path);
const slug = fileName.substr(0, fileName.length - '.xlf'.length);
@@ -905,31 +911,6 @@ function updateResource(project, slug, xlfFile, apiHostname, credentials) {
request.end();
});
}
// cache resources
let _coreAndExtensionResources;
function pullCoreAndExtensionsXlfFiles(apiHostname, username, password, language, externalExtensions) {
if (!_coreAndExtensionResources) {
_coreAndExtensionResources = [];
// editor and workbench
const json = JSON.parse(fs.readFileSync('./build/lib/i18n.resources.json', 'utf8'));
_coreAndExtensionResources.push(...json.editor);
_coreAndExtensionResources.push(...json.workbench);
// extensions
let extensionsToLocalize = Object.create(null);
glob.sync('.build/extensions/**/*.nls.json').forEach(extension => extensionsToLocalize[extension.split('/')[2]] = true);
glob.sync('.build/extensions/*/node_modules/vscode-nls').forEach(extension => extensionsToLocalize[extension.split('/')[2]] = true);
Object.keys(extensionsToLocalize).forEach(extension => {
_coreAndExtensionResources.push({ name: extension, project: extensionsProject });
});
if (externalExtensions) {
for (let resourceName in externalExtensions) {
_coreAndExtensionResources.push({ name: resourceName, project: extensionsProject });
}
}
}
return pullXlfFiles(apiHostname, username, password, language, _coreAndExtensionResources);
}
exports.pullCoreAndExtensionsXlfFiles = pullCoreAndExtensionsXlfFiles;
function pullSetupXlfFiles(apiHostname, username, password, language, includeDefault) {
let setupResources = [{ name: 'setup_messages', project: workbenchProject }];
if (includeDefault) {
@@ -942,7 +923,7 @@ function pullXlfFiles(apiHostname, username, password, language, resources) {
const credentials = `${username}:${password}`;
let expectedTranslationsCount = resources.length;
let translationsRetrieved = 0, called = false;
return (0, event_stream_1.readable)(function (_count, callback) {
return event_stream_1.readable(function (_count, callback) {
// Mark end of stream when all resources were retrieved
if (translationsRetrieved === expectedTranslationsCount) {
return this.emit('end');
@@ -1000,7 +981,7 @@ function retrieveResource(language, resource, apiHostname, credentials) {
}
function prepareI18nFiles() {
let parsePromises = [];
return (0, event_stream_1.through)(function (xlf) {
return event_stream_1.through(function (xlf) {
let stream = this;
let parsePromise = XLF.parse(xlf.contents.toString());
parsePromises.push(parsePromise);
@@ -1040,20 +1021,16 @@ function createI18nFile(originalFilePath, messages) {
}
exports.createI18nFile = createI18nFile;
exports.i18nPackVersion = '1.0.0'; // {{SQL CARBON EDIT}} Needed in locfunc.
function pullI18nPackFiles(apiHostname, username, password, language, resultingTranslationPaths) {
return pullCoreAndExtensionsXlfFiles(apiHostname, username, password, language, exports.externalExtensionsWithTranslations)
.pipe(prepareI18nPackFiles(exports.externalExtensionsWithTranslations, resultingTranslationPaths, language.id === 'ps'));
}
exports.pullI18nPackFiles = pullI18nPackFiles;
function prepareI18nPackFiles(externalExtensions, resultingTranslationPaths, pseudo = false) {
let parsePromises = [];
let mainPack = { version: exports.i18nPackVersion, contents: {} };
let extensionsPacks = {};
let errors = [];
return (0, event_stream_1.through)(function (xlf) {
let project = path.basename(path.dirname(xlf.relative));
return event_stream_1.through(function (xlf) {
let project = path.basename(path.dirname(path.dirname(xlf.relative)));
let resource = path.basename(xlf.relative, '.xlf');
let contents = xlf.contents.toString();
log(`Found ${project}: ${resource}`);
let parsePromise = pseudo ? XLF.parsePseudo(contents) : XLF.parse(contents);
parsePromises.push(parsePromise);
parsePromise.then(resolvedFiles => {
@@ -1111,15 +1088,12 @@ function prepareI18nPackFiles(externalExtensions, resultingTranslationPaths, pse
exports.prepareI18nPackFiles = prepareI18nPackFiles;
function prepareIslFiles(language, innoSetupConfig) {
let parsePromises = [];
return (0, event_stream_1.through)(function (xlf) {
return event_stream_1.through(function (xlf) {
let stream = this;
let parsePromise = XLF.parse(xlf.contents.toString());
parsePromises.push(parsePromise);
parsePromise.then(resolvedFiles => {
resolvedFiles.forEach(file => {
if (path.basename(file.originalFilePath) === 'Default' && !innoSetupConfig.defaultInfo) {
return;
}
let translatedFile = createIslFile(file.originalFilePath, file.messages, language, innoSetupConfig);
stream.queue(translatedFile);
});
@@ -1155,20 +1129,9 @@ function createIslFile(originalFilePath, messages, language, innoSetup) {
let key = sections[0];
let translated = line;
if (key) {
if (key === 'LanguageName') {
translated = `${key}=${innoSetup.defaultInfo.name}`;
}
else if (key === 'LanguageID') {
translated = `${key}=${innoSetup.defaultInfo.id}`;
}
else if (key === 'LanguageCodePage') {
translated = `${key}=${innoSetup.codePage.substr(2)}`;
}
else {
let translatedMessage = messages[key];
if (translatedMessage) {
translated = `${key}=${translatedMessage}`;
}
let translatedMessage = messages[key];
if (translatedMessage) {
translated = `${key}=${translatedMessage}`;
}
}
content.push(translated);

View File

@@ -10,7 +10,6 @@ import { through, readable, ThroughStream } from 'event-stream';
import * as File from 'vinyl';
import * as Is from 'is';
import * as xml2js from 'xml2js';
import * as glob from 'glob';
import * as https from 'https';
import * as gulp from 'gulp';
import * as fancyLog from 'fancy-log';
@@ -31,10 +30,6 @@ export interface Language {
export interface InnoSetup {
codePage: string; //code page for encoding (http://www.jrsoftware.org/ishelp/index.php?topic=langoptionssection)
defaultInfo?: {
name: string; // inno setup language name
id: string; // locale identifier (https://msdn.microsoft.com/en-us/library/dd318693.aspx)
};
}
export const defaultLanguages: Language[] = [
@@ -198,14 +193,17 @@ export class XLF {
public toString(): string {
this.appendHeader();
for (let file in this.files) {
const files = Object.keys(this.files).sort();
for (const file of files) {
this.appendNewLine(`<file original="${file}" source-language="en" datatype="plaintext"><body>`, 2);
for (let item of this.files[file]) {
const items = this.files[file].sort((a: Item, b: Item) => {
return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
});
for (const item of items) {
this.addStringItem(file, item);
}
this.appendNewLine('</body></file>', 2);
this.appendNewLine('</body></file>');
}
this.appendFooter();
return this.buffer.join('\r\n');
}
@@ -652,7 +650,11 @@ export function createXlfFilesForCoreBundle(): ThroughStream {
if (file.isBuffer()) {
const xlfs: Map<XLF> = Object.create(null);
const json: BundledFormat = JSON.parse((file.contents as Buffer).toString('utf8'));
for (let coreModule in json.keys) {
// {{SQL CARBON EDIT}} - Must sort the keys for easier translation.
let sortedKeys = Object.keys(json.keys).sort();
for (let i = 0; i < sortedKeys.length; i++) {
let coreModule = sortedKeys[i];
// {{SQL CARBON EDIT}} - End
const projectResource = getResource(coreModule);
const resource = projectResource.name;
const project = projectResource.project;
@@ -771,12 +773,11 @@ export function createXlfFilesForIsl(): ThroughStream {
return through(function (this: ThroughStream, file: File) {
let projectName: string,
resourceFile: string;
if (path.basename(file.path) === 'Default.isl') {
if (path.basename(file.path) === 'messages.en.isl') {
projectName = setupProject;
resourceFile = 'setup_default.xlf';
resourceFile = 'messages.xlf';
} else {
projectName = workbenchProject;
resourceFile = 'setup_messages.xlf';
throw new Error(`Unknown input file ${file.path}`);
}
let xlf = new XLF(projectName),
@@ -1044,35 +1045,6 @@ function updateResource(project: string, slug: string, xlfFile: File, apiHostnam
});
}
// cache resources
let _coreAndExtensionResources: Resource[];
export function pullCoreAndExtensionsXlfFiles(apiHostname: string, username: string, password: string, language: Language, externalExtensions?: Map<string>): NodeJS.ReadableStream {
if (!_coreAndExtensionResources) {
_coreAndExtensionResources = [];
// editor and workbench
const json = JSON.parse(fs.readFileSync('./build/lib/i18n.resources.json', 'utf8'));
_coreAndExtensionResources.push(...json.editor);
_coreAndExtensionResources.push(...json.workbench);
// extensions
let extensionsToLocalize = Object.create(null);
glob.sync('.build/extensions/**/*.nls.json').forEach(extension => extensionsToLocalize[extension.split('/')[2]] = true);
glob.sync('.build/extensions/*/node_modules/vscode-nls').forEach(extension => extensionsToLocalize[extension.split('/')[2]] = true);
Object.keys(extensionsToLocalize).forEach(extension => {
_coreAndExtensionResources.push({ name: extension, project: extensionsProject });
});
if (externalExtensions) {
for (let resourceName in externalExtensions) {
_coreAndExtensionResources.push({ name: resourceName, project: extensionsProject });
}
}
}
return pullXlfFiles(apiHostname, username, password, language, _coreAndExtensionResources);
}
export function pullSetupXlfFiles(apiHostname: string, username: string, password: string, language: Language, includeDefault: boolean): NodeJS.ReadableStream {
let setupResources = [{ name: 'setup_messages', project: workbenchProject }];
if (includeDefault) {
@@ -1204,20 +1176,16 @@ export interface TranslationPath {
resourceName: string;
}
export function pullI18nPackFiles(apiHostname: string, username: string, password: string, language: Language, resultingTranslationPaths: TranslationPath[]): NodeJS.ReadableStream {
return pullCoreAndExtensionsXlfFiles(apiHostname, username, password, language, externalExtensionsWithTranslations)
.pipe(prepareI18nPackFiles(externalExtensionsWithTranslations, resultingTranslationPaths, language.id === 'ps'));
}
export function prepareI18nPackFiles(externalExtensions: Map<string>, resultingTranslationPaths: TranslationPath[], pseudo = false): NodeJS.ReadWriteStream {
let parsePromises: Promise<ParsedXLF[]>[] = [];
let mainPack: I18nPack = { version: i18nPackVersion, contents: {} };
let extensionsPacks: Map<I18nPack> = {};
let errors: any[] = [];
return through(function (this: ThroughStream, xlf: File) {
let project = path.basename(path.dirname(xlf.relative));
let project = path.basename(path.dirname(path.dirname(xlf.relative)));
let resource = path.basename(xlf.relative, '.xlf');
let contents = xlf.contents.toString();
log(`Found ${project}: ${resource}`);
let parsePromise = pseudo ? XLF.parsePseudo(contents) : XLF.parse(contents);
parsePromises.push(parsePromise);
parsePromise.then(
@@ -1286,9 +1254,6 @@ export function prepareIslFiles(language: Language, innoSetupConfig: InnoSetup):
parsePromise.then(
resolvedFiles => {
resolvedFiles.forEach(file => {
if (path.basename(file.originalFilePath) === 'Default' && !innoSetupConfig.defaultInfo) {
return;
}
let translatedFile = createIslFile(file.originalFilePath, file.messages, language, innoSetupConfig);
stream.queue(translatedFile);
});
@@ -1323,17 +1288,9 @@ function createIslFile(originalFilePath: string, messages: Map<string>, language
let key = sections[0];
let translated = line;
if (key) {
if (key === 'LanguageName') {
translated = `${key}=${innoSetup.defaultInfo!.name}`;
} else if (key === 'LanguageID') {
translated = `${key}=${innoSetup.defaultInfo!.id}`;
} else if (key === 'LanguageCodePage') {
translated = `${key}=${innoSetup.codePage.substr(2)}`;
} else {
let translatedMessage = messages[key];
if (translatedMessage) {
translated = `${key}=${translatedMessage}`;
}
let translatedMessage = messages[key];
if (translatedMessage) {
translated = `${key}=${translatedMessage}`;
}
}

View File

@@ -199,7 +199,7 @@ const RULES = [
]
}
];
const TS_CONFIG_PATH = (0, path_1.join)(__dirname, '../../', 'src', 'tsconfig.json');
const TS_CONFIG_PATH = path_1.join(__dirname, '../../', 'src', 'tsconfig.json');
let hasErrors = false;
function checkFile(program, sourceFile, rule) {
checkNode(sourceFile);
@@ -250,8 +250,8 @@ function checkFile(program, sourceFile, rule) {
}
function createProgram(tsconfigPath) {
const tsConfig = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
const configHostParser = { fileExists: fs_1.existsSync, readDirectory: ts.sys.readDirectory, readFile: file => (0, fs_1.readFileSync)(file, 'utf8'), useCaseSensitiveFileNames: process.platform === 'linux' };
const tsConfigParsed = ts.parseJsonConfigFileContent(tsConfig.config, configHostParser, (0, path_1.resolve)((0, path_1.dirname)(tsconfigPath)), { noEmit: true });
const configHostParser = { fileExists: fs_1.existsSync, readDirectory: ts.sys.readDirectory, readFile: file => fs_1.readFileSync(file, 'utf8'), useCaseSensitiveFileNames: process.platform === 'linux' };
const tsConfigParsed = ts.parseJsonConfigFileContent(tsConfig.config, configHostParser, path_1.resolve(path_1.dirname(tsconfigPath)), { noEmit: true });
const compilerHost = ts.createCompilerHost(tsConfigParsed.options, true);
return ts.createProgram(tsConfigParsed.fileNames, tsConfigParsed.options, compilerHost);
}
@@ -261,7 +261,7 @@ function createProgram(tsconfigPath) {
const program = createProgram(TS_CONFIG_PATH);
for (const sourceFile of program.getSourceFiles()) {
for (const rule of RULES) {
if ((0, minimatch_1.match)([sourceFile.fileName], rule.target).length > 0) {
if (minimatch_1.match([sourceFile.fileName], rule.target).length > 0) {
if (!rule.skip) {
checkFile(program, sourceFile, rule);
}

View File

@@ -96,7 +96,7 @@ function modifyI18nPackFiles(existingTranslationFolder, resultingTranslationPath
let mainPack = { version: i18n.i18nPackVersion, contents: {} };
let extensionsPacks = {};
let errors = [];
return (0, event_stream_1.through)(function (xlf) {
return event_stream_1.through(function (xlf) {
let rawResource = path.basename(xlf.relative, '.xlf');
let resource = rawResource.substring(0, rawResource.lastIndexOf('.'));
let contents = xlf.contents.toString();
@@ -238,7 +238,7 @@ function refreshLangpacks() {
}
let packageJSON = JSON.parse(fs.readFileSync(path.join(locExtFolder, 'package.json')).toString());
//processing extension fields, version and folder name must be changed manually.
packageJSON['name'] = packageJSON['name'].replace('vscode', textFields.nameText);
packageJSON['name'] = packageJSON['name'].replace('vscode', textFields.nameText).toLowerCase();
packageJSON['displayName'] = packageJSON['displayName'].replace('Visual Studio Code', textFields.displayNameText);
packageJSON['publisher'] = textFields.publisherText;
packageJSON['license'] = textFields.licenseText;
@@ -353,6 +353,11 @@ function renameVscodeLangpacks() {
console.log('vscode pack is not in ADS yet: ' + langId);
continue;
}
//Delete any erroneous zip files found in vscode folder.
let globZipArray = glob.sync(path.join(locVSCODEFolder, '*.zip'));
globZipArray.forEach(element => {
fs.unlinkSync(element);
});
// Delete extension files in vscode language pack that are not in ADS.
if (fs.existsSync(translationDataFolder)) {
let totalExtensions = fs.readdirSync(path.join(translationDataFolder, 'extensions'));
@@ -366,9 +371,9 @@ function renameVscodeLangpacks() {
}
}
//Get list of md files in ADS langpack, to copy to vscode langpack prior to renaming.
let globArray = glob.sync(path.join(locADSFolder, '*.md'));
let globMDArray = glob.sync(path.join(locADSFolder, '*.md'));
//Copy files to vscode langpack, then remove the ADS langpack, and finally rename the vscode langpack to match the ADS one.
globArray.forEach(element => {
globMDArray.forEach(element => {
fs.copyFileSync(element, path.join(locVSCODEFolder, path.parse(element).base));
});
rimraf.sync(locADSFolder);

View File

@@ -256,7 +256,7 @@ export function refreshLangpacks(): Promise<void> {
}
let packageJSON = JSON.parse(fs.readFileSync(path.join(locExtFolder, 'package.json')).toString());
//processing extension fields, version and folder name must be changed manually.
packageJSON['name'] = packageJSON['name'].replace('vscode', textFields.nameText);
packageJSON['name'] = packageJSON['name'].replace('vscode', textFields.nameText).toLowerCase();
packageJSON['displayName'] = packageJSON['displayName'].replace('Visual Studio Code', textFields.displayNameText);
packageJSON['publisher'] = textFields.publisherText;
packageJSON['license'] = textFields.licenseText;
@@ -375,6 +375,13 @@ export function renameVscodeLangpacks(): Promise<void> {
console.log('vscode pack is not in ADS yet: ' + langId);
continue;
}
//Delete any erroneous zip files found in vscode folder.
let globZipArray = glob.sync(path.join(locVSCODEFolder, '*.zip'));
globZipArray.forEach(element => {
fs.unlinkSync(element);
});
// Delete extension files in vscode language pack that are not in ADS.
if (fs.existsSync(translationDataFolder)) {
let totalExtensions = fs.readdirSync(path.join(translationDataFolder, 'extensions'));
@@ -389,10 +396,10 @@ export function renameVscodeLangpacks(): Promise<void> {
}
//Get list of md files in ADS langpack, to copy to vscode langpack prior to renaming.
let globArray = glob.sync(path.join(locADSFolder, '*.md'));
let globMDArray = glob.sync(path.join(locADSFolder, '*.md'));
//Copy files to vscode langpack, then remove the ADS langpack, and finally rename the vscode langpack to match the ADS one.
globArray.forEach(element => {
globMDArray.forEach(element => {
fs.copyFileSync(element, path.join(locVSCODEFolder,path.parse(element).base));
});
rimraf.sync(locADSFolder);

View File

@@ -53,8 +53,8 @@ define([], [${wrap + lines.map(l => indent + l).join(',\n') + wrap}]);`;
* Returns a stream containing the patched JavaScript and source maps.
*/
function nls() {
const input = (0, event_stream_1.through)();
const output = input.pipe((0, event_stream_1.through)(function (f) {
const input = event_stream_1.through();
const output = input.pipe(event_stream_1.through(function (f) {
if (!f.sourceMap) {
return this.emit('error', new Error(`File ${f.relative} does not have sourcemaps.`));
}
@@ -72,7 +72,7 @@ function nls() {
}
_nls.patchFiles(f, typescript).forEach(f => this.emit('data', f));
}));
return (0, event_stream_1.duplex)(input, output);
return event_stream_1.duplex(input, output);
}
exports.nls = nls;
function isImportNode(ts, node) {

View File

@@ -98,7 +98,7 @@ function toConcatStream(src, bundledFileHeader, sources, dest, fileContentMapper
return es.readArray(treatedSources)
.pipe(useSourcemaps ? util.loadSourcemaps() : es.through())
.pipe(concat(dest))
.pipe((0, stats_1.createStatsStream)(dest));
.pipe(stats_1.createStatsStream(dest));
}
function toBundleStream(src, bundledFileHeader, bundles, fileContentMapper) {
return es.merge(bundles.map(function (bundle) {
@@ -155,7 +155,7 @@ function optimizeTask(opts) {
addComment: true,
includeContent: true
}))
.pipe(opts.languages && opts.languages.length ? (0, i18n_1.processNlsFiles)({
.pipe(opts.languages && opts.languages.length ? i18n_1.processNlsFiles({
fileHeader: bundledFileHeader,
languages: opts.languages
}) : es.through())
@@ -179,7 +179,7 @@ function minifyTask(src, sourceMapBaseUrl) {
sourcemap: 'external',
outdir: '.',
platform: 'node',
target: ['node12.18'],
target: ['node14.16'],
write: false
}).then(res => {
const jsFile = res.outputFiles.find(f => /\.js$/.test(f.path));

View File

@@ -256,7 +256,7 @@ export function minifyTask(src: string, sourceMapBaseUrl?: string): (cb: any) =>
sourcemap: 'external',
outdir: '.',
platform: 'node',
target: ['node12.18'],
target: ['node14.16'],
write: false
}).then(res => {
const jsFile = res.outputFiles.find(f => /\.js$/.test(f.path))!;

View File

@@ -12,7 +12,7 @@ const yarn = process.platform === 'win32' ? 'yarn.cmd' : 'yarn';
const rootDir = path.resolve(__dirname, '..', '..');
function runProcess(command, args = []) {
return new Promise((resolve, reject) => {
const child = (0, child_process_1.spawn)(command, args, { cwd: rootDir, stdio: 'inherit', env: process.env });
const child = child_process_1.spawn(command, args, { cwd: rootDir, stdio: 'inherit', env: process.env });
child.on('exit', err => !err ? resolve() : process.exit(err !== null && err !== void 0 ? err : 1));
child.on('error', reject);
});

View File

@@ -260,7 +260,7 @@ function transportCSS(module, enqueue, write) {
}
const filename = path.join(SRC_DIR, module);
const fileContents = fs.readFileSync(filename).toString();
const inlineResources = 'base64'; // see https://github.com/Microsoft/monaco-editor/issues/148
const inlineResources = 'base64'; // see https://github.com/microsoft/monaco-editor/issues/148
const newContents = _rewriteOrInlineUrls(fileContents, inlineResources === 'base64');
write(module, newContents);
return true;

View File

@@ -302,7 +302,7 @@ function transportCSS(module: string, enqueue: (module: string) => void, write:
const filename = path.join(SRC_DIR, module);
const fileContents = fs.readFileSync(filename).toString();
const inlineResources = 'base64'; // see https://github.com/Microsoft/monaco-editor/issues/148
const inlineResources = 'base64'; // see https://github.com/microsoft/monaco-editor/issues/148
const newContents = _rewriteOrInlineUrls(fileContents, inlineResources === 'base64');
write(module, newContents);

View File

@@ -241,6 +241,9 @@ function nodeOrChildIsBlack(node) {
}
return false;
}
function isSymbolWithDeclarations(symbol) {
return !!(symbol && symbol.declarations);
}
function markNodes(ts, languageService, options) {
const program = languageService.getProgram();
if (!program) {
@@ -413,7 +416,7 @@ function markNodes(ts, languageService, options) {
if (symbolImportNode) {
setColor(symbolImportNode, 2 /* Black */);
}
if (symbol && !nodeIsInItsOwnDeclaration(nodeSourceFile, node, symbol)) {
if (isSymbolWithDeclarations(symbol) && !nodeIsInItsOwnDeclaration(nodeSourceFile, node, symbol)) {
for (let i = 0, len = symbol.declarations.length; i < len; i++) { // {{SQL CARBON EDIT}} Compile fixes
const declaration = symbol.declarations[i]; // {{SQL CARBON EDIT}} Compile fixes
if (ts.isSourceFile(declaration)) {
@@ -686,7 +689,7 @@ function getRealNodeSymbol(ts, checker, node) {
// get the aliased symbol instead. This allows for goto def on an import e.g.
// import {A, B} from "mod";
// to jump to the implementation directly.
if (symbol && symbol.flags & ts.SymbolFlags.Alias && shouldSkipAlias(node, symbol.declarations[0])) { // {{SQL CARBON EDIT}} Compile fixes
if (symbol && symbol.flags & ts.SymbolFlags.Alias && symbol.declarations && shouldSkipAlias(node, symbol.declarations[0])) { // {{SQL CARBON EDIT}} Compile fixes
const aliased = checker.getAliasedSymbol(symbol);
if (aliased.declarations) {
// We should mark the import as visited

View File

@@ -323,6 +323,10 @@ function nodeOrChildIsBlack(node: ts.Node): boolean {
return false;
}
function isSymbolWithDeclarations(symbol: ts.Symbol | undefined | null): symbol is ts.Symbol & { declarations: ts.Declaration[] } {
return !!(symbol && symbol.declarations);
}
function markNodes(ts: typeof import('typescript'), languageService: ts.LanguageService, options: ITreeShakingOptions) {
const program = languageService.getProgram();
if (!program) {
@@ -530,7 +534,7 @@ function markNodes(ts: typeof import('typescript'), languageService: ts.Language
setColor(symbolImportNode, NodeColor.Black);
}
if (symbol && !nodeIsInItsOwnDeclaration(nodeSourceFile, node, symbol)) {
if (isSymbolWithDeclarations(symbol) && !nodeIsInItsOwnDeclaration(nodeSourceFile, node, symbol)) {
for (let i = 0, len = symbol.declarations!.length; i < len; i++) { // {{SQL CARBON EDIT}} Compile fixes
const declaration = symbol.declarations![i]; // {{SQL CARBON EDIT}} Compile fixes
if (ts.isSourceFile(declaration)) {
@@ -595,7 +599,7 @@ function markNodes(ts: typeof import('typescript'), languageService: ts.Language
}
}
function nodeIsInItsOwnDeclaration(nodeSourceFile: ts.SourceFile, node: ts.Node, symbol: ts.Symbol): boolean {
function nodeIsInItsOwnDeclaration(nodeSourceFile: ts.SourceFile, node: ts.Node, symbol: ts.Symbol & { declarations: ts.Declaration[] }): boolean {
for (let i = 0, len = symbol.declarations!.length; i < len; i++) { // {{SQL CARBON EDIT}} Compile fixes
const declaration = symbol.declarations![i]; // {{SQL CARBON EDIT}} Compile fixes
const declarationSourceFile = declaration.getSourceFile();
@@ -838,7 +842,7 @@ function getRealNodeSymbol(ts: typeof import('typescript'), checker: ts.TypeChec
// get the aliased symbol instead. This allows for goto def on an import e.g.
// import {A, B} from "mod";
// to jump to the implementation directly.
if (symbol && symbol.flags & ts.SymbolFlags.Alias && shouldSkipAlias(node, symbol.declarations![0])) { // {{SQL CARBON EDIT}} Compile fixes
if (symbol && symbol.flags & ts.SymbolFlags.Alias && symbol.declarations && shouldSkipAlias(node, symbol.declarations![0])) { // {{SQL CARBON EDIT}} Compile fixes
const aliased = checker.getAliasedSymbol(symbol);
if (aliased.declarations) {
// We should mark the import as visited

View File

@@ -4,7 +4,7 @@ declare module "gulp-bom" {
/**
* This is required as per:
* https://github.com/Microsoft/TypeScript/issues/5073
* https://github.com/microsoft/TypeScript/issues/5073
*/
namespace f {}

View File

@@ -4,9 +4,9 @@ declare module 'gulp-flatmap' {
/**
* This is required as per:
* https://github.com/Microsoft/TypeScript/issues/5073
* https://github.com/microsoft/TypeScript/issues/5073
*/
namespace f {}
export = f;
}
}

View File

@@ -103,10 +103,10 @@ declare module "vinyl" {
/**
* This is required as per:
* https://github.com/Microsoft/TypeScript/issues/5073
* https://github.com/microsoft/TypeScript/issues/5073
*/
namespace File {}
export = File;
}
}

View File

@@ -9,9 +9,9 @@
"module": "./esm/vs/editor/editor.main.js",
"repository": {
"type": "git",
"url": "https://github.com/Microsoft/vscode"
"url": "https://github.com/microsoft/vscode"
},
"bugs": {
"url": "https://github.com/Microsoft/vscode/issues"
"url": "https://github.com/microsoft/vscode/issues"
}
}

View File

@@ -9,39 +9,52 @@ exports.dirs = [
'build',
'build/lib/watch',
'extensions',
// {{SQL CARBON EDIT}} Add ADS extensions and remove VSCode ones
'extensions/admin-tool-ext-win',
'extensions/agent',
'extensions/arc',
'extensions/azcli',
'extensions/azurecore',
'extensions/azurehybridtoolkit',
'extensions/azuremonitor',
'extensions/big-data-cluster',
'extensions/cms',
'extensions/configuration-editing',
'extensions/css-language-features',
'extensions/css-language-features/server',
'extensions/debug-auto-launch',
'extensions/debug-server-ready',
'extensions/emmet',
'extensions/dacpac',
'extensions/data-workspace',
'extensions/extension-editing',
'extensions/git',
'extensions/github',
'extensions/github-authentication',
'extensions/grunt',
'extensions/gulp',
'extensions/html-language-features',
'extensions/html-language-features/server',
'extensions/image-preview',
'extensions/jake',
'extensions/import',
'extensions/integration-tests',
'extensions/json-language-features',
'extensions/json-language-features/server',
'extensions/kusto',
'extensions/liveshare',
'extensions/machine-learning',
'extensions/markdown-language-features',
'extensions/markdown-math',
'extensions/merge-conflict',
'extensions/microsoft-authentication',
'extensions/notebook-markdown-extensions',
'extensions/npm',
'extensions/php-language-features',
'extensions/mssql',
'extensions/notebook',
'extensions/profiler',
'extensions/python',
'extensions/query-history',
'extensions/resource-deployment',
'extensions/schema-compare',
'extensions/search-result',
'extensions/server-report',
'extensions/simple-browser',
'extensions/sql-assessment',
'extensions/sql-database-projects',
'extensions/sql-migration',
'extensions/testing-editor-contributions',
'extensions/typescript-language-features',
'extensions/vscode-api-tests',
'extensions/vscode-colorize-tests',
'extensions/vscode-custom-editor-tests',
'extensions/vscode-notebook-tests',
'extensions/vscode-test-resolver',
'extensions/xml-language-features',
// {{SQL CARBON EDIT}} - End
'remote',
'remote/web',
'test/automation',

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