Compare commits

..

642 Commits

Author SHA1 Message Date
Karl Burtram
83a4316cf8 Fix typo in vbump (#17937) (#17938) 2021-12-15 12:19:38 -08:00
Karl Burtram
b4c22c698d Bump STS to rollback data type changes (#17935) (#17936) 2021-12-15 12:11:59 -08:00
Alex Ma
b44891657c Bump to langpack versions (#17910) (#17911)
* Bump to langpack versions

* fixed newline
2021-12-14 11:07:25 -08:00
Alex Ma
f99b27807f Langpack port for December release (#17905)
* Update to langpack for December release  (#17904)

* update to xlfs

* update to langpack json files

* [Loc] fix for newlines at end of package.json (#17906)
2021-12-14 07:27:32 -08:00
Charles Gagnon
93ea635bac Use standard key events for Notebook keybindings (#17880) (#17882)
* Use standard key events for Notebook keybindings

* Add more
2021-12-09 13:14:52 -08:00
Barbara Valdez
651f6fdcfc Fix split cell undo (#17845) (#17873)
* fix split cell undo
2021-12-08 16:31:32 -08:00
Alan Ren
cfc8e41798 open database dashboard (#17871) (#17872) 2021-12-08 15:35:20 -08:00
Barbara Valdez
bcd2e7313a Add undo/redo to convert cells (#17835) (#17867)
* add undo/redo to convert cells
2021-12-08 14:52:57 -08:00
Alan Ren
61f094f797 vbump sts (#17865) (#17868) 2021-12-08 14:51:52 -08:00
Kim Santiago
d5a3370b65 fix load publish profile not working (#17851) (#17862) 2021-12-08 11:23:11 -08:00
Alan Ren
a2d5b2acd1 fix grid actionbar (#17837) (#17854) 2021-12-08 10:16:32 -08:00
goyal-anjali
80541ce6f0 Add telemetry to troubleshoot customer issues (#17748)
* Add telemetry to troubleshoot customer issues

* Updating logerror method calls with custom errors

* Add performance telemetry
2021-12-06 11:39:41 +05:30
Rachel Kim
8d8b3983a9 Support multiple database migrations using network share (#17796)
* update database backup model to take list of network shares

* remove refreshMigrationTiles after startMigration in statemachine; add null checks
2021-12-03 17:07:11 -08:00
Rachel Kim
6aab9d41a3 Add backups restored progress when migrating from Azure Blob Storage (#17795) 2021-12-03 17:06:37 -08:00
Lucy Zhang
969eb16df7 Wait for all notebook models to load before shutting down active sessions during python upgrade (#17766)
* handle undefined model

* wait for kernel to load before restart

* comment

* await editor model resolved

* remove cast
2021-12-03 16:39:07 -08:00
Barbara Valdez
8a205965d2 add telemetry to undo/redo at cell level (#17804)
* add telemetry to undo/redo at cell level

*add sendTelemetryActionEvent that sends telemetry from notebook model
2021-12-03 16:21:52 -08:00
Alan Ren
cde4e05320 bump sts version (#17809) 2021-12-03 13:33:53 -08:00
Barbara Valdez
bb83110606 bump sqlservernotebook version (#17770)
* bump sqlservernotebook version

* Update version to 0.5.0
2021-12-03 13:03:32 -08:00
brian-harris
f9e1f38393 set initial target db name (#17801) 2021-12-03 10:58:17 -08:00
Alex Ma
a3faff2738 [Loc] update to sql-database-projects and sql xlfs (#17810) 2021-12-03 10:52:18 -08:00
Barbara Valdez
f404edbb60 do not show Add Section from command palette (#17805) 2021-12-03 09:19:35 -08:00
brian-harris
36364e10c4 add migration state management improvement (#17799)
* add migration state management improvement

* remove extra lines
2021-12-02 15:40:58 -08:00
Kim Santiago
43d235ea42 update .net sdk location strings now that .net 6 is supported (#17757)
* update .net install strings now that .net 6 is supported

* copy old setting value to new setting

* update strings

* add link to issue
2021-12-02 15:32:07 -08:00
Barbara Valdez
8b09ba8844 Implement undo/redo at cell level (#17744)
Implemented undo and redo for adding, deleting and moving cells.
2021-12-02 13:41:42 -08:00
Lucy Zhang
9b87973205 Enable add sql binding quickpick (#17790)
* enable add sql binding command

* add preview to command

* use resourceScheme instead of resourceExtname

* bump version to 0.15.0

* revert version bump
2021-12-02 12:19:11 -08:00
Alex Ma
5ad91135dd [Loc] update to sql-database-projects and sql xlfs (#17797) 2021-12-02 11:27:53 -08:00
Alan Ren
ba3e6343e8 dot not crash query editor (#17787) 2021-12-02 09:38:08 -08:00
csigs
d02eddda29 LEGO: check in for main to temporary branch. (#17794) 2021-12-02 09:35:28 -08:00
csigs
8b0371e036 LEGO: check in for main to temporary branch. (#17791) 2021-12-02 09:35:00 -08:00
Alan Ren
09c2e73f14 update dashboard taskbar separator (#17779) 2021-12-01 13:08:00 -08:00
csigs
39f8181af4 LEGO: check in for main to temporary branch. (#17778)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-12-01 10:01:40 -08:00
csigs
5f6b2bdbb8 LEGO: check in for main to temporary branch. (#17775) 2021-12-01 09:39:53 -08:00
Alex Ma
de93938ef4 Added fix for Publish Target Label Position (#17771)
* Added fix for Publish Target Label Position

* renamed checkbox
2021-12-01 09:39:36 -08:00
Benjin Dubishar
56d5061942 Set default radio button selection, evaluate default component popula… (#17764)
* Set default radio button selection, evaluate default component population off of selection instead of unprocessed input

* rename var

* if -> switches

* Remove project radio buttons because they require commands that aren't yet checked in (and fail as a result)
2021-12-01 02:31:10 -08:00
Alan Ren
1006652a31 fix sorting bug (#17769)
* fix sorting bug

* comments
2021-11-30 17:11:57 -08:00
Leila Lali
7e17bfb6ec Added UI for user to accept EULA when deploying sql proj to docker container (#17762) 2021-11-30 15:08:23 -08:00
Chris LaFreniere
ce7935e7d2 Notebooks: Add Tooltips for Link/Image Buttons on Markdown Toolbar (#17763)
* Add title for tooltips

* Tweak tooltips
2021-11-30 12:40:06 -08:00
Aasim Khan
1f9a6a611b Editing pipeline ACR service connection endpoint to the latest one created (#17767)
* using the new registry endpoint

* updating the service connection

* Changing the name of acr service endpoint to SqlToolsContainer

* Updating web build acr endpoint as well.
2021-11-30 12:34:06 -08:00
Lewis Sanchez
c073897056 Fixes ADS Web bug around copying user codes and opening a browser tab when adding an Azure Account. (#17760)
* Fixes bug around copying user codes and opening a browser tab.

* Code review changes

* Additional review changes.

* Unnecessary import removed
2021-11-30 10:37:56 -08:00
Alex Ma
917a30e66f [Loc] Fix for duplicate strings in LCL files (#17756)
* WIP spanish lcl duplicate removal

* Revert "WIP spanish lcl duplicate removal"

This reverts commit 5f943153ec8980849a045c8bf7256d852571a778.

* fix for duplicate strings

* removed spaces
2021-11-29 11:26:26 -08:00
Cory Rivera
0149d9f051 Add additional notebook tests for handling relative links. (#17739) 2021-11-29 10:09:25 -08:00
Alex Ma
0bac949d3b [Loc] update to sql-database-projects xlf (#17743) 2021-11-23 17:13:39 -08:00
Kim Santiago
0847f7cd38 Remove .net 6 version cutoff for building sql projects (#17736)
* remove .net 6 version cutoff for building sql projects

* Revert "Warning when .NET 6 SDK is detected (#17422)"

This reverts commit 2ed8aeb565.

* add back skipVersionSupportedCheck

* add back return false

* addressing comments
2021-11-23 14:32:05 -10:00
Charles Gagnon
5d2f17408e Bump to latest version of azdata (#17735) 2021-11-22 20:35:28 -08:00
Alex Ma
da56e59f6e [Loc] update to Arc XLF (#17737) 2021-11-22 16:47:37 -08:00
Kim Santiago
33f01054c0 Update remove file for sdk style sql projects (#17688)
* add support for removing file in new style project

* fix test

* only load files, not whole project when checking if a <Build Remove> needs to be added

* merge changes

* fixes after merge
2021-11-22 14:45:43 -10:00
Charles Gagnon
4c191d4acc Add resource deployment samples for (#17734) 2021-11-22 15:49:05 -08:00
Kim Santiago
a79c61ff4e Fix ordering of reading sqlproj Build Includes and Removes (#17712)
* evaluate includes and removes in order in sqlproj

* fix after merge

* fix comment

* update comment
2021-11-22 11:50:06 -10:00
Candice Ye
ef4dab072a Enabled deployment of Azure Arc data controllers in directly connected mode (#17707)
* Added fields for connectivity mode, custom loc, auto-metrics, auto-logs, and the dynamic enablement of such fields.

* Changed the description of the data controller details page.

* Change notebook params to work for direct mode

* Added login to dc deployment notebooks

* Fixed auto upload metrics and logs true/false, separated login into another cell.

* Removed localization of indirect and direct connectivity labels.
2021-11-22 13:28:51 -08:00
Alex Ma
80f3f4eb88 [Loc] Update to schema-compare XLF (#17733) 2021-11-22 11:52:58 -08:00
Benjin Dubishar
1f98f29eae Apply changes from remote database to sqlproj - schema-compare changes (#17679)
* update project from database

* update project from database

* Merge from main

* Removing dupe test stub

* PR feedback

* cleanup

* PR feedback

* Fixing tests, adding stubs to update sqlproj as schema compare target

* updating code comment

Co-authored-by: Noureldine Yehia <t-nyehia@microsoft.com>
2021-11-22 10:50:36 -08:00
Charles Gagnon
0caa6390b9 Fix "unsupported version" error when adding sql binding package (#17721) 2021-11-22 10:44:46 -08:00
csigs
172e349947 LEGO: check in for main to temporary branch. (#17730) 2021-11-22 10:36:31 -08:00
csigs
5f3453c929 LEGO: check in for main to temporary branch. (#17726)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-11-22 10:36:14 -08:00
csigs
37e1da4ba2 LEGO: check in for main to temporary branch. (#17725)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-11-22 10:32:03 -08:00
Kim Santiago
bb28646670 Update one more variable name for sdk style projects (#17710) 2021-11-22 08:13:36 -10:00
csigs
9dcdfaea7a LEGO: check in for main to temporary branch. (#17724)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-11-22 10:10:47 -08:00
csigs
cc21588db8 LEGO: check in for main to temporary branch. (#17722) 2021-11-22 09:55:06 -08:00
Charles Gagnon
6ba7bad90c Fix language flavor change on connection when in sqlcmd mode (#17719)
* Fix language flavor change on connection when in sqlcmd mode

* comment + fix
2021-11-19 15:04:54 -08:00
Alan Ren
ae5026b432 allow build to continue when cache task fails (#17720)
* cache task should not fail the build

* update cachesalt
2021-11-19 15:02:58 -08:00
Alan Ren
24b22f63d7 save password checkbox fix (#17718)
* save password checkbox fix

* remove code to reset the checkbox value
2021-11-19 13:35:35 -08:00
Charles Gagnon
77e4fdd407 Fix open external not working (#17717) 2021-11-19 11:25:23 -08:00
Charles Gagnon
8a6ea2669b Add additional properties to wizard page navigation events (#17716) 2021-11-19 10:18:13 -08:00
Alan Ren
3136ce1b4d input width in designer (#17714) 2021-11-19 10:12:47 -08:00
Cory Rivera
8e04d3992a Register additional editor overrides when adding new notebook file types (#17708)
* Also standardized file extension contributions to always start with a period, and to always do lower case string comparisons for file extensions.
2021-11-19 09:14:41 -08:00
csigs
09666bc4e8 LEGO: check in for main to temporary branch. (#17715) 2021-11-19 08:47:28 -08:00
Alex Ma
377479617f [Loc] update to sql-database-projects (#17713) 2021-11-18 18:59:53 -08:00
csigs
7862515eb5 LEGO: check in for main to temporary branch. (#17702)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-11-18 18:34:05 -08:00
csigs
112810dbfb LEGO: check in for main to temporary branch. (#17699) 2021-11-18 18:32:30 -08:00
Alan Ren
c74a89674a bump sts version to 159 (#17709) 2021-11-18 17:48:10 -08:00
Alexander Ivanov
a801388e1d Improve accessibility for wizard steps navigation (#17669)
Our extension is relying on the wizard dialog. During accessibility testing it was discovered that wizard step buttons are being reported as links by the screen reader (NVDA, JAWS). Claimed expected behavior by the tester is that they should be announced as buttons.

I discussed this issue with accessibility SMEs and they said it is perfectly fine to keep them as links. They did mention that they would probably design the UX differently from the start, but given that we already have it this way, links are fine. They did suggest to add few additional ARIA attributes to the link elements:

- `aria-current="step"` if the link is for the currently active step. This literally just announces "current step" at the end, when you focus on a link
- `aria-disabled="true"` makes it say "**unavailable**; link; *<step number>*" when in NVDA "browse" mode and move to the grayed-out link.

So this change implements the said improvements.
2021-11-18 15:34:52 -08:00
Alan Ren
7cb7157821 code refactoring (#17706) 2021-11-18 14:51:23 -08:00
Leila Lali
9bdd6aca42 Adding UI for deploying a db proj to docker (#17495) 2021-11-18 14:44:33 -08:00
Charles Gagnon
88b754b739 Add instructions for developing VS Code version of sql-database-projects (#17705) 2021-11-18 14:07:39 -08:00
Alex Ma
480bf56cef [Loc] update to tabledesignercomponentinput (#17704) 2021-11-18 11:54:24 -08:00
Alan Ren
a273c54ebb properties pane improvements (#17700) 2021-11-18 10:41:12 -08:00
Alan Ren
7c26e14605 add foreign keys and constraints (#17697)
* foreign keys and constraints

* refactoring

* fix issues
2021-11-17 19:15:24 -08:00
Kim Santiago
6f03cbac97 support building msbuild sdk style projects (#17675)
* support building msbuild sdk style projects

* fixes after merge
2021-11-17 07:59:43 -10:00
Alan Ren
9e5a012dcd update the vmImage for build jobs (#17689)
* update vmImage for windows build

* update tar command

* use specific macos version
2021-11-16 21:08:11 -08:00
Alex Ma
812ab1cc91 [Loc] Update to sql-database-projects and sql.xlf (#17687) 2021-11-16 16:23:06 -08:00
Lucy Zhang
3d9f54b0c0 Sql Binding: Add "Check out pane for more details" when nuget package download fails (#17680)
* check output for more details

* detail error

* wait for result from showerrormessage
2021-11-16 15:01:05 -08:00
Sai Avishkar Sreerama
3cbd2fe5df sts 156 vbump (#17683) 2021-11-16 16:51:38 -06:00
Aditya Bist
2a127beb28 Designer: property descriptions (#17668)
* format

* added strings

* format doc

* use codicon instead

* show descriptions in property pane only

* fix ssdt string bug

* fix overflow option

* review comments

* review comments

* changes
2021-11-16 14:50:05 -08:00
Kim Santiago
6725e07ece update names for msbuild sdk style projects (#17677)
* update names for msbuild sdk style projects

* remove msbuild from names

* update comments
2021-11-16 11:23:19 -10:00
Kim Santiago
24a6de404c undo adding space in net core sdk location setting (#17684) 2021-11-16 10:51:24 -10:00
Kim Santiago
66c438db4d Fix sql projects net6 warnings (#17673)
* fix .net 6 error showing on startup

* fix double warning

* addressing comments

* update key string
2021-11-16 10:02:15 -10:00
Alexander Ivanov
1b83c4623d Respect ARIA label specified int he tree component options. (#17674)
During accessibility testing it was discovered that tree view in our wizard reads "Tree Node tree view" instead of the proper label that is specified. It turned out to be the problem with the tree component, where `ariaLabel` was hardcoded to "Tree Node", instead of the one provided in the options.

This change addresses the problem by passing through `ariaLabel` from the options object to the underlying tree control. I also removed the default `Tree Node` hardcoded label, as it didn't make much sense. This does mean that all tree-views that do not explicitly specify their aria-label will now get an empty label. I think this is better than having unrelated, unlocalized `Tree Node`.

I'm also worried about changes to the `ariaLabel` property after the component was initialized. I updated the code to propagate the value to the underlying tree view in the `setProperties` override of the tree component and hope that it will take care of it.
2021-11-16 09:15:45 -08:00
Alexander Ivanov
42b9f3b552 Provide aria-labels for node checkboxes in the tree view. (#17676)
During accessibility testing, it was discovered that screen reader does not announce what checkboxes in the tree view represent. It was merely announcing "checkbox unchecked", so it was not clear without visuals which checkbox the focus is on.

This change sets an `aria-label` of the checkbox elements to match the label of the owning tree node. This way the announcement becomes "My Node; checkbox; unchecked". This is fine as a quick solution to the problem, but in the future we may want to consider adding additional checkbox label property to the nodes exposed by the tree provider, so that each checkbox can announce additional information, if needed.
2021-11-16 08:13:18 -08:00
Lucy Zhang
343e314103 SQL Binding: Give default connection setting name (#17659)
* show sqlconnectionstring in quickpick

* fix duplicate sqlconnectionstring setting

* add (new)

* add sqlconnectionstring as default setting name

* check if sqlconnectionstring already exists
2021-11-15 18:53:52 -08:00
Alan Ren
fc0d175f39 fix issue reported by component governance (#17678)
* update json-schema version

* remove unused packages

* update package.json
2021-11-15 17:45:21 -08:00
Kim Santiago
5fccd8ebcd update add file/folder for msbuild sdk style projects (#17660)
* update add file for msbuild sdk style projects

* also handle add folder

* fix comment
2021-11-15 15:00:50 -10:00
Benjin Dubishar
b5f8e81250 Apply changes from Remote Database to sqlproj - mssql changes (#17655)
* update project from database

* update project from database

* update project from database

* Re-adding schemaComparePublishChanges for temporary backcompat

* Adding comment for keeping enum values in sync

* Correcting enum value

Co-authored-by: Noureldine Yehia <t-nyehia@microsoft.com>
2021-11-15 15:42:56 -08:00
Benjin Dubishar
d6159a2370 Bump tools service (#17671) 2021-11-15 14:40:40 -08:00
Lewis Sanchez
77e9d1c3a0 Corrects Web Build Pipeline ENOENT Error (#17656)
* Checks for successful directory creation

* Revert "Checks for successful directory creation"

This reverts commit 372409ef323f0d82e11992bc7bc33d607a7d5581.

* Checks for the existence of the logs directory before accessing.

* Adds SQL carbon edit comment

* Removing call to copy from non-existing directory.

* Removes unneeded import

* Checks for file existence before copying.

* Provides explanation for modification

* Replaces file existence check with exception handling.
2021-11-15 10:03:42 -08:00
Kim Santiago
bf1cc057be Refactoring readProjFile() (#17637)
* move reading project parts to different helper functions

* cleanup

* remove comment

* addressing comments
2021-11-12 15:02:52 -08:00
Alan Ren
4538103e60 use latest STS (#17658) 2021-11-12 13:33:52 -08:00
Alan Ren
7a1c0a67b9 vbump STS (#17653) 2021-11-11 15:07:09 -08:00
Lewis Sanchez
56a697c887 Resolves same-origin-policy violation when ADS web is running in a container (#17555)
* Stops appending port to authority for web mode

* Clarifies comment

* Adds missing sql carbon edit tag
2021-11-11 11:04:00 -08:00
Lucy Zhang
ba92694fa3 Show connection string example for add sql binding quickpick (#17650)
* add connection string example

* reorder
2021-11-11 10:54:13 -08:00
Alan Ren
1a9f2a5903 multi-level table support (#17638)
* multi-level table support

* comments

* address comments

* add period to end of sentence.
2021-11-10 17:15:08 -08:00
Charles Gagnon
e0ad23a559 Remove galleries list action (#17648) 2021-11-10 15:03:45 -08:00
Charles Gagnon
0a60ed4c75 Fix extensionsGallery.json name (#17646) 2021-11-10 14:51:09 -08:00
Charles Gagnon
f96a82f700 Add extension gallery update reminder action (#17644) 2021-11-10 14:45:19 -08:00
Maddy
6b226de450 refactor deltaDecorations logic (#17630) 2021-11-10 13:38:30 -08:00
Charles Gagnon
615df975ec Fix query editors restoring as plain text (#17643) 2021-11-10 12:31:43 -08:00
csigs
bcc66218d1 LEGO: check in for main to temporary branch. (#17639) 2021-11-10 11:53:37 -08:00
Alan Ren
6fb6f51295 fix dirty state of table designer (#17640)
* dirty state

* update original value on save
2021-11-10 11:39:53 -08:00
Maddy
1d3debb897 Maddy/edit mode events cleanup (#17636)
* remove multiple events

* correct preview check

* add test
2021-11-10 10:59:29 -08:00
Kim Santiago
b6047ad87d Move project entry classes to separate file (#17629)
* moving ProjectEntry stuff to another file

* cleanup
2021-11-09 16:03:39 -08:00
Cory Rivera
329ea4103c Make various enhancements to Notebook Provider registration. (#17609)
* Use built-in SQL ExecuteProvider by default if no other provider exists.

* Gracefully handle case where standardKernels are not defined for a provider.

* Standardize on just using arrays for various provider registration details.
2021-11-09 16:00:34 -08:00
Kim Santiago
8057bf855b add support for Build Remove (#17610) 2021-11-09 10:45:56 -08:00
Alex Ma
209a93c578 [Loc] Added LEGO branch changes from #17625 (#17631) 2021-11-08 19:29:44 -08:00
Sai Avishkar Sreerama
8a6268cce8 STS VBump with v147 (#17627) 2021-11-08 15:06:35 -06:00
csigs
e9ce8d902a LEGO: check in for main to temporary branch. (#17621) 2021-11-08 11:22:10 -08:00
Alex Ma
4727333974 [Loc] change location of designer strings (#17628) 2021-11-08 11:21:55 -08:00
Alan Ren
c00c5e044b move the designer component to workbench layer (#17620) 2021-11-08 10:26:27 -08:00
Charles Gagnon
f91a228066 Update dotnet version used by codesign (#17616) 2021-11-06 13:33:07 -07:00
Kim Santiago
a31388f37a fix test-extension-unit.js on mac (#17612)
* fix test-extensions-unit.js not working on mac

* add comment
2021-11-05 17:22:38 -07:00
Benjin Dubishar
9b06f3551d Revert "Bump tools service (#17607)" (#17613)
This reverts commit b4d72af3d4.
2021-11-05 16:52:48 -07:00
Alex Ma
a0cce62926 [Loc] update to table designer XLF (#17614) 2021-11-05 16:50:36 -07:00
Alan Ren
5f8e1f384f table designer editor icon (#17608)
* icon for table designer

* use more specific name

* use sql defined schema
2021-11-05 16:26:17 -07:00
Benjin Dubishar
b4d72af3d4 Bump tools service (#17607) 2021-11-05 14:48:28 -07:00
Kim Santiago
b8ea493f8c Add support for showing files for glob style sql projects (#17518)
* use glob to get files for new style msbuild sdk sqlproj

* add tests

* cleanup

* fix test

* don't show bin and obj files and folders

* handle other glob patterns

* fix duplicate entries getting added for glob patterns in project's folder
2021-11-05 13:29:47 -07:00
Alan Ren
c9be45b9c7 feature flag for table designer (#17597) 2021-11-05 11:19:59 -07:00
Alan Ren
1fe3f38c14 separate title and name for table designer editor (#17600) 2021-11-05 11:09:17 -07:00
Alan Ren
f5b1e7feb8 a couple properties pane UI changes (#17601) 2021-11-05 11:08:43 -07:00
Alex Ma
dd0261ca05 Alex/fixforjapaneselocalization (#17604)
* [Loc] Fix for localization build not working

* [Loc] update to sql-database-projects
2021-11-05 10:32:46 -07:00
v-srinisa
b8629acc4b Update CHANGELOG.md (#17596) 2021-11-04 18:03:51 -07:00
Benjin Dubishar
5160814623 Dedupe shell command execution logic (#17516)
* Moved to shellExecutionHelper

* First crack

* fixed the deploy tests

* PR comments

* trigger GitHub actions

Co-authored-by: llali <llali@microsoft.com>
2021-11-04 17:16:58 -07:00
Alan Ren
f07427f2c1 add open table designer event telemetry (#17595)
* add open table designer telemetry event

* rename variables to reflect the text change

* format code
2021-11-04 17:00:32 -07:00
Kim Santiago
a34b5a0db7 show better error messages when parsing sqlproj (#17589)
* show better error messages when parsing sqlproj

* show error messages in console
2021-11-04 16:43:31 -07:00
Alex Ma
00ff7a0000 [Loc] added xlf strings for designer and tabledesigner (#17593) 2021-11-04 10:18:12 -07:00
Aditya Bist
99f5c406e3 Added editor to table designer (#17576)
* format doc

* correct class name

* set content

* remove mssql commands

* merge classes

* code refactoring and bug fixing

* remove unnecessary class

* handle promise

Co-authored-by: Alan Ren <alanren@microsoft.com>
2021-11-03 21:07:36 -07:00
Alan Ren
893563c9c3 rename 'Advanced' tab to General (#17591) 2021-11-03 21:06:29 -07:00
Charles Gagnon
84ae306d57 Fix not being able to type in code cell after switching from text (#17590)
* Fix not being able to type in code cell after switching from text

* comment
2021-11-03 19:48:04 -07:00
Alan Ren
f3e1c2cc8b a few table designer improvements (#17588) 2021-11-03 17:57:47 -07:00
Candice Ye
6ae8db35df Bumping version for arc and azcli extensions. (#17587)
Co-authored-by: Candice Ye <canye@microsoft.com>
2021-11-03 16:06:09 -07:00
Alex Ma
07b2b8128a [Loc] update to workspace trust xlf (#17584) 2021-11-03 11:55:26 -07:00
Charles Gagnon
43fe0ce482 VS Code -> ADS setting descriptions (#17563) 2021-11-03 10:05:56 -07:00
Alex Ma
c02c564a46 [Loc] Update to table designer (#17577) 2021-11-02 20:45:48 -07:00
Alan Ren
a3a91fbdfc add column properties (#17574) 2021-11-02 18:50:44 -07:00
Kim Santiago
312b410fff Add type for Document in sql database projects (#17539) 2021-11-02 13:17:18 -07:00
Lucy Zhang
8c3c18e8dc decrease length of installed packages table (#17556) 2021-11-02 12:04:39 -07:00
Kim Santiago
0d485ffe2b fix DefaultValue getting loaded for publish profiles (#17526)
* fix DefaultValue getting loaded for publish profiles

* add comment
2021-11-02 11:32:25 -07:00
Karl Burtram
d7b0b6c251 Add untrusted workspace supported flags (#17557) 2021-11-01 20:48:05 -07:00
Karl Burtram
2be1ec0656 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
2021-11-01 20:46:54 -07:00
Christopher Suh
66ebbc2181 Save & Close Fixes (#17469)
* wip

* fixed save & close summary page

* cleanup

* pr comments
2021-11-01 15:12:04 -07:00
Charles Gagnon
de3ae26873 Add launch target for sample-resource-deployment (#17553) 2021-11-01 15:05:32 -07:00
Charles Gagnon
25711acde0 Add a few missed instantiation service usages (#17554)
* Add a few missed instantiation service usages

* remove unused
2021-11-01 14:32:37 -07:00
Aditya Bist
6dda9392e0 respect include header option (#17134)
* respect include header option

* use correct option for copying

* check for setting when copying

* add dependency injection

* use instantiation service

Co-authored-by: chgagnon <chgagnon@microsoft.com>
2021-11-01 12:36:19 -07:00
Charles Gagnon
9bbe39e9e2 Add sample value provider (#17548) 2021-11-01 11:27:03 -07:00
Alex Ma
cfdc7005a2 [Loc] update to arc xlf (#17551) 2021-11-01 11:26:56 -07:00
Charles Gagnon
470f063124 Don't localize paths in sample resource deployment (#17544) 2021-11-01 10:14:12 -07:00
Charles Gagnon
a9d96e166a Delete azurecore value provider and simplify type (#17543) 2021-11-01 10:13:58 -07:00
Shagun Sharma Tamta
08d3803453 Link Database Earliest and Latest Point in time with DryRun (#17506) 2021-10-29 17:46:05 -07:00
Alan Ren
b48f392ab2 optional database name option (#17538)
* optional database name option

* object explorer connection title

* revert unexpected change

* bug fixes
2021-10-29 16:37:35 -07:00
csigs
ce8f1156b1 LEGO: check in for main to temporary branch. (#17537) 2021-10-29 14:42:31 -07:00
Charles Gagnon
82805638ad Add onClosed event to ModelView dialogs (#17531)
* Add onClosed event to ModelView dialogs

* Use defined type

* Fix compile

* fix tests

* fix tests2

* Remove unused
2021-10-28 20:53:20 -07:00
Alex Ma
62b6e781ce [Loc] update to data-workspace strings (#17533) 2021-10-28 16:11:38 -07:00
Charles Gagnon
00e5380331 sql-database-projects dialog completion cleanup (#17525) 2021-10-28 13:51:48 -07:00
Charles Gagnon
114a768634 String updates for Data Workspace & SQL Proj (#17504)
* Clean up extension descriptions

* More cleanup

* learning to spell

* Remove unused loc strings

* Add bundling information & rename view container

* Update data workspace readme
2021-10-28 13:33:19 -07:00
Alan Ren
12261aa7a2 text editor interface (#17527) 2021-10-28 13:23:33 -07:00
Aasim Khan
447b969b5c updating sts to get sql star expansion (#17528) 2021-10-28 13:17:39 -07:00
chayaverma7
8906d44f24 Update package.json (#17529)
Version bump ADS by updating the number in package.json
2021-10-29 01:32:34 +05:30
Alex Ma
5ab66056c8 [Loc] update to Data Workspace and Sql-database-projects (#17524) 2021-10-28 09:47:49 -07:00
Kim Santiago
e372fd9bdc Add project name to update project message (#17512)
* add project name to update SSDT project message

* add quotes
2021-10-27 15:13:30 -07:00
Charles Gagnon
d70ea2fbcb Fix localized titles in VS Code marketplace (#17514) 2021-10-27 13:51:58 -07:00
Kim Santiago
fee9c6e071 Don't show update project warning for new style sqlproj (#17490)
* don't show SSDT update warning for new style projects

* update strings

* add checks for the 2 other ways to specify msbuild sdk

* add link to docs on how to use project sdk

Co-authored-by: Kim Santiago <kisantia@Kims-MacBook-Pro.local>
2021-10-27 12:53:38 -07:00
Charles Gagnon
ab6b290b04 Fix update-typings pipeline (#17511) 2021-10-27 12:42:04 -07:00
Charles Gagnon
ca20ae4d64 Fix typings files (#17509) 2021-10-27 12:29:00 -07:00
brian-harris
7a5ad9f3aa bump version to 0.1.10 (#17510) 2021-10-27 12:13:58 -07:00
Charles Gagnon
d40d6fbe12 Fix publisher for VS Code extensions (#17505) 2021-10-27 10:17:29 -07:00
chayaverma7
ec8e607f74 Update CHANGELOG.md (#17499)
* Update CHANGELOG.md

ADS Oct 2021 Release

* Update CHANGELOG.md

Corrected the content for Oct Release

* Update CHANGELOG.md
2021-10-27 22:03:56 +05:30
chayaverma7
49473be3f7 Update README.md (#17498)
ADS Oct 2021 Release
2021-10-27 22:02:58 +05:30
Alex Ma
d41c6f4052 [loc] update for arc xlf (#17500) 2021-10-26 16:48:33 -07:00
Candice Ye
67a9f7a547 Added logic to make SQL MIAA script to notebook with user-inputted values, and minor text changes. (#17452)
* Changed the placement of the getValue comment in IValueProvider interface.

* Simplified some params values to feed into deployment notebook better. Added logic to add flags to the sql miaa create calls in notebook. Removed variablename from estimated cost.

* Changed High Availability to Replicas

Co-authored-by: Candice Ye <canye@microsoft.com>
2021-10-26 15:49:29 -07:00
Kim Santiago
9b45911141 vbump dacpac, schema compare, and sql database projects (#17492) 2021-10-26 10:49:44 -07:00
csigs
3ec148248f LEGO: check in for main to temporary branch. (#17493) 2021-10-25 23:15:10 -07:00
Alex Ma
cb6768463c [Loc] update to sql-migration and sql (#17488) 2021-10-25 13:20:12 -07:00
brian-harris
aa0e52c245 improve account and tenant selection error handling (#17476)
* improve account/tenant selection error handling

* remove extra space from user string
2021-10-25 12:26:38 -07:00
Alan Ren
8230d39120 add designer property grouping support (#17485)
* add properties grouping support

* revert unexpected changes

* use common color
2021-10-25 11:25:19 -07:00
Alan Ren
7b9caffcc2 vbump sqltools service (#17484) 2021-10-25 11:00:10 -07:00
Charles Gagnon
7049890f24 Don't log internal command executions from ext host (#17482) 2021-10-25 10:53:09 -07:00
Alex Ma
94cb358eae [Loc] update to SQL xlf (#17486) 2021-10-25 10:32:55 -07:00
csigs
313e436c95 LEGO: check in for main to temporary branch. (#17481)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-10-25 10:12:48 -07:00
csigs
4268a8749b LEGO: check in for main to temporary branch. (#17478)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-10-25 10:09:55 -07:00
Charles Gagnon
89c15c9496 Fix assessment results dialog telemetry (#17483) 2021-10-25 09:51:00 -07:00
csigs
7843993180 LEGO: check in for main to temporary branch. (#17477)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2021-10-25 09:49:54 -07:00
csigs
b1bc6d911b LEGO: check in for main to temporary branch. (#17474) 2021-10-25 09:45:49 -07:00
Alan Ren
4ba192a5c3 make the designer event based (#17472)
* make the designer event based

* pr comments
2021-10-22 17:25:12 -07:00
brian-harris
70f6eebc5a apply unique filter to getLocations api's (#17454)
* apply unique filter to getLocations api's

* filter resource locations to distinct list

* simplify location filter
2021-10-22 16:00:07 -07:00
Daniel Grajeda
6200a61382 Notebook Views initialization fix (#17109)
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 14:50:21 -07:00
Karl Burtram
6e65063317 Remove duplicate Getting Started contributions (#17465) 2021-10-22 12:52:49 -07:00
Charles Gagnon
f57c41fead Fix backups not restoring in correct editor (#17466) 2021-10-22 12:15:30 -07:00
Alex Ma
7a62f44441 [Loc] updates to loc for arc and sql-database (#17467) 2021-10-22 11:30:13 -07:00
csigs
e1d34c24a4 LEGO: check in for main to temporary branch. (#17461)
Co-authored-by: Karl Burtram <karlb@microsoft.com>
2021-10-22 10:19:54 -07:00
csigs
65e67e9a37 LEGO: check in for main to temporary branch. (#17453) 2021-10-22 10:05:30 -07:00
Benjin Dubishar
86320155ed Correcting log messages during autorest execution selection (#17434)
* Correcting log messages during autorest execution choice

* Combining redundant strings

* Correcting icon + loc

* Fixing typo
2021-10-22 06:01:11 -07:00
Candice Ye
dc0651aef7 Added a dynamic Cost Summary section to SQL MIAA Deployment Wizard (#17420)
* Added valueprovider for pricing. Pushing this for troubleshooting help.

* Committing changes for troubleshooting help. Moved InputValueType to typings file.

* Add readonly inputs to list

* Fixed ordering of package.json merge items

* Estimated cost moved to input page, ValueProvider only takes in a triggerfields[] and not a single string, fixed pricing logic.

* Removed pricingModel.ts

* Reverted some comments and code changes that were used in debugging.

* Changed some values from localizedConstants to single-quote constants'

* Changed some values from localizedConstants to single-quote constants'

* Added copyright header to pricingUtils.ts

* Removed try catch in extension.ts valueproviders, made some values in PricingUtils.ts top-level instead of exporting.

* Minor changes, added some comments and localized USD.

* Changes pricingutils classes to be constants, and added disposable to Hookupvalueprovider

Co-authored-by: Candice Ye <canye@microsoft.com>
Co-authored-by: chgagnon <chgagnon@microsoft.com>
2021-10-21 16:51:31 -07:00
Alan Ren
5fe569e864 fix scrolling issue (#17443) 2021-10-21 15:51:46 -07:00
Charles Gagnon
57130f2f2b Fix URL protocol for non-insiders builds (#17442) 2021-10-21 15:42:27 -07:00
Alex Ma
0b994651d1 [Loc] Update to sql-database-projects and sql-migration xlfs (#17445) 2021-10-21 15:41:25 -07:00
Z Chen
2ed8aeb565 Warning when .NET 6 SDK is detected (#17422)
* Check for max supported version

* Separate dialog for downgrade warning

* Address PR comments

* Use markdown link

* Update warning message
2021-10-21 13:48:52 -07:00
Benjin Dubishar
6f65119166 Use correct string when checking "browse" option (#17432)
* Correct browse string match

* Deduping const
2021-10-21 13:24:35 -07:00
Maddy
a05be3912e add path.posix while reading relative paths (#17326)
* path.posix

* add test for nested folders scenario

* update message and remove the redundant check
2021-10-21 12:47:01 -07:00
rajeshka
914ac2b09d remove trailing line after the cursor (#17431)
* remove trailing line after the cursor

* Addressed PR
2021-10-21 11:04:31 -07:00
Rachel Kim
4b26be5742 Retry sql migration (#17376) 2021-10-21 10:06:10 -07:00
csigs
decad711c5 LEGO: check in for main to temporary branch. (#17435) 2021-10-21 09:09:13 -07:00
csigs
4715993726 LEGO: check in for main to temporary branch. (#17430) 2021-10-21 09:07:52 -07:00
rajeshka
d196588661 fixing the svg (#17427) 2021-10-20 19:11:13 -07:00
Cory Rivera
0bc8e54568 Fix quoted link failures by removing quotes from unescaped paths, rather than just the escaped paths. (#17419) 2021-10-20 18:12:39 -07:00
Alex Ma
6fb66e5de6 [Loc] added designer and spinner strings (#17424) 2021-10-20 15:38:29 -07:00
rajeshka
d251bbd1a1 Fix for Split Cell duplicates cell #17400 (#17417) 2021-10-20 14:47:58 -07:00
Lucy Zhang
8212eecec7 add listener for celltype change (#17414) 2021-10-20 13:51:27 -07:00
Alan Ren
c89aa26c0a loading indicator for table designer (#17407)
* loading indicator for table designer

* fix layering error

* bug fix
2021-10-20 12:54:23 -07:00
Alan Ren
328ed83cb9 add disposeTableDesigner (#17394) 2021-10-19 14:28:56 -07:00
Charles Gagnon
ec8292adb7 Add initial developer guide for resource deployment (#17395)
* Add initial developer guide for resource deployment

* PR comments
2021-10-19 13:47:36 -07:00
Alex Ma
5238244380 [Loc] Addition to sql-database-projects xlf (#17391) 2021-10-19 11:01:28 -07:00
Alan Ren
569d5cf694 rename dataModel to viewModel (#17387) 2021-10-19 09:52:03 -07:00
Lewis Sanchez
e1a8885e43 New commit hash to use for distro after merging PR (#17389) 2021-10-19 09:08:58 -07:00
Lewis Sanchez
1fabd233e9 Add logging to ADS Web smoke tests, and skip failing tests. (#17353)
* Adds loggings to ADS pipeline

* Skips notebook smoke tests for ADS web.

* Skips failing create book dialog tests in web build

* Ignores import tests ADS web

* Groups related tests together for ADS Web and non-web

* Updates distro commit hash
2021-10-18 19:46:45 -07:00
Lucy Zhang
9a05d81215 use setContent instead of addElement (#17386) 2021-10-18 18:32:05 -07:00
Vasu Bhog
a8ee26ed89 Move split cell icon (#17383)
* move split cell icon before delete icon
2021-10-18 16:43:25 -07:00
csigs
dacfddc523 LEGO: check in for main to temporary branch. (#17384) 2021-10-18 13:40:07 -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
3549 changed files with 475726 additions and 382106 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

@@ -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
@@ -742,8 +751,8 @@
"chart.js",
"plotly.js",
"angular2-grid",
"kburtram-query-plan",
"html-to-image",
"html-query-plan",
"turndown",
"gridstack",
"mark.js",
@@ -958,6 +967,7 @@
"**/{vs,sql}/**",
"assert",
"sinon",
"sinon-test",
"crypto",
"vscode",
"typemoq",
@@ -993,6 +1003,7 @@
"assert",
"typemoq",
"sinon",
"sinon-test",
"crypto",
"xterm*",
"azdata"
@@ -1005,6 +1016,7 @@
"assert",
"typemoq",
"sinon",
"sinon-test",
"crypto",
"xterm*"
]
@@ -1042,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",
{

1
.github/CODEOWNERS vendored
View File

@@ -5,7 +5,6 @@
/extensions/admin-tool-ext-win @Charles-Gagnon
/extensions/arc/ @Charles-Gagnon @swells @candiceye
/extensions/azcli/ @Charles-Gagnon @swells @candiceye
/extensions/azdata/ @Charles-Gagnon @swells @candiceye
/extensions/big-data-cluster/ @Charles-Gagnon
/extensions/dacpac/ @kisantia
/extensions/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

@@ -243,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' }}
@@ -279,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"

556
.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,164 @@
"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"
}
},
{
"name": "Run Sample Resource Deployment Extension",
"type": "sqlopsExtensionHost",
"request": "launch",
"windows": {
"runtimeExecutable": "${workspaceFolder}/scripts/sql.bat"
},
"osx": {
"runtimeExecutable": "${workspaceFolder}/scripts/sql.sh"
},
"linux": {
"runtimeExecutable": "${workspaceFolder}/scripts/sql.sh"
},
"args": [
"--extensionDevelopmentPath=${workspaceRoot}/samples/sample-resource-deployment"
],
"outFiles": [
"${workspaceRoot}/samples/sample-resource-deployment/out/**/*.js"
],
"preLaunchTask": "Watch sample-resource-deployment",
"presentation": {
"group": "5_samples"
},
"timeout": 30000
}
],
"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,

65
.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
}
},
{
@@ -268,6 +231,18 @@
"group": "build",
"label": "npm: tsec-compile-check",
"detail": "node_modules/tsec/bin/tsec -p src/tsconfig.json --noEmit"
},
{
"type": "npm",
"script": "watch",
"label": "Watch sample-resource-deployment",
"path": "./samples/sample-resource-deployment/package.json",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"reveal": "never"
},
"group": "build"
}
]
}

View File

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

View File

@@ -1,5 +1,72 @@
# Change Log
## Version 1.33.1
* Release date: Nov 4, 2021
* Release status: General Availability
## Hotfix release
- Fix for [#16535 Unable to See Saved Connections in Restricted Mode](https://github.com/microsoft/azuredatastudio/issues/17535)
- Fix for [#17579 Can't type in Notebook code cell after editing text cell](https://github.com/microsoft/azuredatastudio/issues/17579)
| Platform |
| --------------------------------------- |
| [Windows User Installer][win-user] |
| [Windows System Installer][win-system] |
| [Windows ZIP][win-zip] |
| [macOS ZIP][osx-zip] |
| [Linux TAR.GZ][linux-zip] |
| [Linux RPM][linux-rpm] |
| [Linux DEB][linux-deb] |
[win-user]: https://go.microsoft.com/fwlink/?linkid=2176805
[win-system]: https://go.microsoft.com/fwlink/?linkid=2175910
[win-zip]: https://go.microsoft.com/fwlink/?linkid=2176806
[osx-zip]: https://go.microsoft.com/fwlink/?linkid=2176807
[linux-zip]: https://go.microsoft.com/fwlink/?linkid=2176505
[linux-rpm]: https://go.microsoft.com/fwlink/?linkid=2176005
[linux-deb]: https://go.microsoft.com/fwlink/?linkid=2176006
## Version 1.33.0
* Release date: October 27, 2021
* Release status: General Availability
## What's new in this version
* New Notebook Features:
* Notebook Views
* Split cell support
* Keyboard shortcuts for Markdown Toolbar Cells
* Ctrl/Cmd + B = Bold Text
* Ctrl/Cmd + I = Italicize Text
* Ctrl/Cmd + U = Underline Text
* Ctrl/Cmd + Shift + K = Add Code Block
* Ctrl/Cmd + Shift + H = Highlight Text
* Book improvements
* Add a new section
* Drag and Drop
* Extension Updates:
* Import
* Langpacks
* Schema Compare
* Sql Database Projects
* Bug Fixes
* Notebook linking improvements
* Horizontal Scrollbar improvement (when word wrap is off in MD Splitview / MD mode) in Notebooks
* Vertical Scrollbar improvement for MD Splitview in Notebooks
## 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

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=2168181
[win-system]: https://go.microsoft.com/fwlink/?linkid=2168180
[win-zip]: https://go.microsoft.com/fwlink/?linkid=2168436
[osx-zip]: https://go.microsoft.com/fwlink/?linkid=2168435
[linux-zip]: https://go.microsoft.com/fwlink/?linkid=2168338
[linux-rpm]: https://go.microsoft.com/fwlink/?linkid=2168271
[linux-deb]: https://go.microsoft.com/fwlink/?linkid=2168339
[win-user]: https://go.microsoft.com/fwlink/?linkid=2176805
[win-system]: https://go.microsoft.com/fwlink/?linkid=2175910
[win-zip]: https://go.microsoft.com/fwlink/?linkid=2176806
[osx-zip]: https://go.microsoft.com/fwlink/?linkid=2176807
[linux-zip]: https://go.microsoft.com/fwlink/?linkid=2176505
[linux-rpm]: https://go.microsoft.com/fwlink/?linkid=2176005
[linux-deb]: https://go.microsoft.com/fwlink/?linkid=2176006

View File

@@ -30,7 +30,6 @@ expressly granted herein, whether by implication, estoppel or otherwise.
getmac: https://github.com/bevry/getmac
graceful-fs: https://github.com/isaacs/node-graceful-fs
gridstack: https://github.com/gridstack/gridstack.js
html-to-image: https://github.com/bubkoo/html-to-image
html-query-plan: https://github.com/JustinPealing/html-query-plan
http-proxy-agent: https://github.com/TooTallNate/node-https-proxy-agent
https-proxy-agent: https://github.com/TooTallNate/node-https-proxy-agent
@@ -87,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
@@ -521,32 +639,6 @@ SOFTWARE.
=========================================
END OF gridstack NOTICES AND INFORMATION
%% html-to-image NOTICES AND INFORMATION BEGIN HERE
=========================================
MIT License
Copyright (c) 2017 W.Y.
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 html-to-image NOTICES AND INFORMATION
%% html-query-plan NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License (MIT)
@@ -587,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
@@ -1513,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-11-19T02:27:18.022Z

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

@@ -61,6 +61,7 @@ steps:
key: 'nodeModules | $(Agent.OS) | .build/yarnlockhash'
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
continueOnError: true
- script: |
set -e

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

@@ -57,6 +57,7 @@ steps:
key: 'nodeModules | $(Agent.OS) | .build/yarnlockhash'
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
continueOnError: true
- script: |
set -e
@@ -187,7 +188,7 @@ steps:
displayName: 'Install .NET Core sdk for signing'
inputs:
packageType: sdk
version: 2.1.x
version: 5.0.x
installationPath: $(Agent.ToolsDirectory)/dotnet
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1

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

@@ -52,6 +52,7 @@ steps:
# Sync up to latest from the DT repo
git remote add upstream https://github.com/DefinitelyTyped/DefinitelyTyped.git
git fetch upstream
git merge upstream/master
git push origin

View File

@@ -63,8 +63,8 @@ function getNewFileHeader(tag) {
``,
`/*---------------------------------------------------------------------------------------------`,
` * Copyright (c) Microsoft Corporation. All rights reserved.`,
` * Licensed under the MIT License.`,
` * See https://github.com/Microsoft/azuredatastudio/blob/main/LICENSE.txt for license information.`,
` * Licensed under the Source EULA.`,
` * See https://github.com/microsoft/azuredatastudio/blob/main/LICENSE.txt for license information.`,
` *--------------------------------------------------------------------------------------------*/`,
``,
`/**`,

View File

@@ -75,8 +75,8 @@ function getNewFileHeader(tag: string) {
``,
`/*---------------------------------------------------------------------------------------------`,
` * Copyright (c) Microsoft Corporation. All rights reserved.`,
` * Licensed under the MIT License.`,
` * See https://github.com/Microsoft/azuredatastudio/blob/main/LICENSE.txt for license information.`,
` * Licensed under the Source EULA.`,
` * See https://github.com/microsoft/azuredatastudio/blob/main/LICENSE.txt for license information.`,
` *--------------------------------------------------------------------------------------------*/`,
``,
`/**`,

View File

@@ -2,7 +2,7 @@ resources:
containers:
- container: linux-x64
image: sqltoolscontainers.azurecr.io/linux-build-agent:3
endpoint: ContainerRegistry
endpoint: SqlToolsContainers
jobs:
- job: Compile
@@ -20,7 +20,7 @@ jobs:
- job: macOS
condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS'], 'true'), ne(variables['VSCODE_QUALITY'], 'saw'))
pool:
vmImage: macOS-latest
vmImage: 'macOS-10.15'
dependsOn:
- Compile
steps:
@@ -30,7 +30,7 @@ jobs:
- job: macOS_Signing
condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS'], 'true'), eq(variables['signed'], true), ne(variables['VSCODE_QUALITY'], 'saw'))
pool:
vmImage: macOS-latest
vmImage: 'macOS-10.15'
dependsOn:
- macOS
steps:
@@ -47,13 +47,13 @@ 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
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32'], 'true'))
pool:
vmImage: VS2017-Win2016
vmImage: 'windows-2019'
dependsOn:
- Compile
steps:

View File

@@ -79,9 +79,14 @@ steps:
- script: |
set -e
yarn npm-run-all -lp core-ci extensions-ci hygiene eslint valid-layers-check sqllint strict-vscode
yarn npm-run-all -lp core-ci extensions-ci hygiene eslint valid-layers-check
displayName: Compile & Hygiene
- script: |
set -e
yarn npm-run-all -lp sqllint extensions-lint strict-vscode
displayName: SQL Hygiene
- script: |
set -e
AZURE_STORAGE_ACCOUNT="$(sourcemap-storage-account)" \

View File

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

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

@@ -43,6 +43,7 @@ steps:
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
displayName: Restore Cache - Node Modules
continueOnError: true
- script: |
set -e
@@ -80,6 +81,7 @@ steps:
- script: |
set -e
yarn sqllint
yarn extensions-lint
yarn gulp hygiene
yarn strict-vscode
yarn valid-layers-check
@@ -98,6 +100,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" --log "$(Build.ArtifactStagingDirectory)/logs/web/smoke.log"
displayName: Run smoke tests (Browser)
continueOnError: true
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
# - script: |
# set -e
# AZURE_STORAGE_ACCOUNT="$(sourcemap-storage-account)" \
@@ -155,7 +171,7 @@ steps:
displayName: 'Install .NET Core sdk for signing'
inputs:
packageType: sdk
version: 2.1.x
version: 5.0.x
installationPath: $(Agent.ToolsDirectory)/dotnet
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1

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

@@ -27,7 +27,7 @@ steps:
- powershell: |
. build/azure-pipelines/win32/exec.ps1
$ErrorActionPreference = "Stop"
exec { tar --force-local -xzf $(Pipeline.Workspace)/compilation.tar.gz }
exec { tar -xf $(Pipeline.Workspace)/compilation.tar.gz }
displayName: Extract compilation output
- powershell: |
@@ -57,6 +57,7 @@ steps:
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
displayName: Restore Cache - Node Modules
continueOnError: true
- powershell: |
. build/azure-pipelines/win32/exec.ps1

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

@@ -116,7 +116,6 @@ const extensionsFilter = filter([
'**/agent.xlf',
'**/arc.xlf',
'**/asde-deployment.xlf',
'**/azdata.xlf',
'**/azurecore.xlf',
'**/azurehybridtoolkit.xlf',
'**/big-data-cluster.xlf',
@@ -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;
@@ -491,7 +497,7 @@ const vscodeTranslationsExport = task.define(
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()),

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.vscodeExternalExtensions = 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',
@@ -347,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 => {
@@ -362,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))();
@@ -409,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',
@@ -425,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 => {
@@ -442,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))();
@@ -488,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,7 +524,7 @@ 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()) {
@@ -576,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()) {
@@ -594,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);
@@ -653,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());
@@ -707,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);
@@ -769,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);
@@ -909,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) {
@@ -946,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');
@@ -1004,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);
@@ -1044,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 => {
@@ -1115,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);
});
@@ -1159,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');
}
@@ -775,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),
@@ -1048,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) {
@@ -1208,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(
@@ -1290,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);
});
@@ -1327,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();

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',

View File

@@ -6,6 +6,7 @@
const cp = require('child_process');
const path = require('path');
const fs = require('fs');
const { dirs } = require('./dirs');
const yarn = process.platform === 'win32' ? 'yarn.cmd' : 'yarn';
/**
@@ -21,6 +22,10 @@ function yarnInstall(location, opts) {
const argv = JSON.parse(raw);
const original = argv.original || [];
const args = original.filter(arg => arg === '--ignore-optional' || arg === '--frozen-lockfile');
if (opts.ignoreEngines) {
args.push('--ignore-engines');
delete opts.ignoreEngines;
}
console.log(`Installing dependencies in ${location}...`);
console.log(`$ yarn ${args.join(' ')}`);
@@ -31,24 +36,39 @@ function yarnInstall(location, opts) {
}
}
yarnInstall('extensions'); // node modules shared by all extensions
for (let dir of dirs) {
if (!(process.platform === 'win32' && (process.arch === 'arm64' || process.env['npm_config_arch'] === 'arm64'))) {
yarnInstall('remote'); // node modules used by vscode server
yarnInstall('remote/web'); // node modules used by vscode web
}
const allExtensionFolders = fs.readdirSync('extensions');
const extensions = allExtensionFolders.filter(e => {
try {
let packageJSON = JSON.parse(fs.readFileSync(path.join('extensions', e, 'package.json')).toString());
return packageJSON && (packageJSON.dependencies || packageJSON.devDependencies);
} catch (e) {
return false;
if (dir === '') {
// `yarn` already executed in root
continue;
}
});
extensions.forEach(extension => yarnInstall(`extensions/${extension}`));
if (/^remote/.test(dir) && process.platform === 'win32' && (process.arch === 'arm64' || process.env['npm_config_arch'] === 'arm64')) {
// windows arm: do not execute `yarn` on remote folder
continue;
}
if (dir === 'build/lib/watch') {
// node modules for watching, specific to host node version, not electron
yarnInstallBuildDependencies();
continue;
}
let opts;
if (dir === 'remote') {
// node modules used by vscode server
const env = { ...process.env };
if (process.env['VSCODE_REMOTE_CC']) { env['CC'] = process.env['VSCODE_REMOTE_CC']; }
if (process.env['VSCODE_REMOTE_CXX']) { env['CXX'] = process.env['VSCODE_REMOTE_CXX']; }
if (process.env['VSCODE_REMOTE_NODE_GYP']) { env['npm_config_node_gyp'] = process.env['VSCODE_REMOTE_NODE_GYP']; }
opts = { env };
} else if (/^extensions\//.test(dir)) {
opts = { ignoreEngines: true };
}
yarnInstall(dir, opts);
}
function yarnInstallBuildDependencies() {
// make sure we install the deps of build/lib/watch for the system installed
@@ -68,10 +88,4 @@ runtime "${runtime}"`;
yarnInstall(watchPath);
}
yarnInstall(`build`); // node modules required for build
yarnInstall('test/automation'); // node modules required for smoketest
yarnInstall('test/smoke'); // node modules required for smoketest
yarnInstall('test/integration/browser'); // node modules required for integration
yarnInstallBuildDependencies(); // node modules for watching, specific to host node version, not electron
cp.execSync('git config pull.rebase true');

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