Skip to content

Conversation

@mjbvz
Copy link
Contributor

@mjbvz mjbvz commented Aug 26, 2016

Updates lightweight install branch to pick up the latest changes from master.

Tien Nguyen and others added 30 commits September 10, 2015 11:38
This change takes the existing node debugger provider embedded in the Open Folder team's code base, and moves it into the NTVS code. This will allow us to maintain the debug provider going forward.

Testing
Tested on VS15. There seems to be a bug with anycode where `ProviderPriority` is not respected, so the builtin copy of the node debug provider is always used over this new debug provider in the NTVS codebase. I changed the file extension type to test this change, and saw this debug provider being used.
* Use signed version of webrole.dll

* Use full path for CopyOutputsToPath

* Use WebRoleDllPath based on existance of SignedBinariesPath

* Delete custom target for targets build

* pull webrole from webrole binaries

* Revert removal of  _CopyWixOutputsToPath

* Add a few debug messages

* Remove reference to swix from setup files

* Remove correct line in dirs.proj

* revert dirs.proj changes

* Try adding custom MSBuildAllProjects path to trigger rebuild

* Clean up change and remove log statements

* Swtich to force clean build root output

* Fix WebRoleDll paths

* Redo dirs.proj change

* Restore workaround to retrigger build and revert dirs.proj change

* Use buildversion variable instead of hardcoded 1.2 version for vsix packages

* Use build.buildnumber instead

* Use custom defined buildversion

* Update other swix files

* Use custom defined buildversion  (#1199)

* Use custom defined buildversion

* Update other swix files

* Use MsiVersion instead of custom version logic

* REmove custom build logic
* Remove additional dev11 and dev12 references from msbuild files

NTVS 1.2 no longer supports VS11 or VS12. This change removes a few remaining references from the msbuild files. Also removes the c++ targets logic.

* Revert assemblyversion change
* Fix breaking on plain old errors

closes #1192

**bug**
```js
throw new Error('I am');
```
is not handled, even with all node.js exceptions enabled

**fix**
Use correct name when enabling or disabling errors.

**testing**
Tested this case before and after fix. See error being handled correctly now.

* Fix core duplication problem that was the root cause of this issue
Sync Lightweight Install Branch with Master
**Bug**
The starter express app templates are very out of date and do not provide a good example of best practices while developing a modern node web application. We do not have the resources to keep them up to date. We also do not want to ship templates that are out of date and promote bad design (for example, we still are referencing Jade in all of these templates, which has been renamed to Pug).

If we ever do want to provide a more feature-rich template for new users, starting from scatch would be better IMO would be better than trying to update all these templates.

**Fix**
Just delete all these templates. Any projects created from these templates will continue to work fine, this only effects the new project experiance.

We would want to take this into NTVS 1.3 and probably VS15 Preview 5.
**Bug**
If the %PATH% env var contains path entries which are not valid, NTVS can end up crashing in `GetPathToNodeExecutableFromEnvironment` when calling `Path.combine`

**Fix**
Wrap this section in a try catch block to handle these entries.
…ption

Fix potential crash for weird %PATH%
**Bug**
The Jade was renamed Pug, and they no longer support `*.jade` files natively. NTVS only supports `*.jade` files

**Fix**
As first part of Jade -> Pug update, add support to use jade editor for both `*.jade` and `*.pug` files.
From #1208

**Bug**
If TS is not properly installed, NTVS will silently crash when loaded. The root cause is GetNodejsLanguagePreferencesFromTypeScript

**fix**
Instead of throwing right away, alter the user that there is something wrong. Fixing this requires user intervention.
**Bug**
Semver parsing is failing for version strings like `'latest'`. This prevents users from downloading the npm package catalog.

**Fix**
Instead of blocking users in this case, we should catch these exceptions and continue on.
mjbvz added 9 commits August 23, 2016 14:21
This field is only consumed by our tests, and therefore not very useful.
Delete Man Field from Npm package.json Parser
Support *.pug Files for Jade/Pug Templates
Alert User if Typescript is Not Installed
Handle Semver parse errors in NpmGetCatalogCommand for 'versions' field
Prototype: Port Open Folder Node Debug Provider to NTVS
Just applying the remove unused using statement automatic vs fix to the entire NTVS solution.
@mjbvz mjbvz merged commit 057faf1 into lightweight-install Aug 30, 2016
@mjbvz mjbvz removed the in-progress label Aug 30, 2016
mjbvz added a commit that referenced this pull request Oct 4, 2016
* Sync Lightweight Install Branch with Master (#1232)

* Create the menu group.

* Add form to request for new file name.

* Wire add file dialog with add file command.

* Refactor and add 'New {TypeScript,HTML,CSS} File' buttons.

* The only change in these files is line ending format.

* Add header and auto formatting

* Add workspaces reference

* Port Node Debug provider to NTVS

This change takes the existing node debugger provider embedded in the Open Folder team's code base, and moves it into the NTVS code. This will allow us to maintain the debug provider going forward.

Testing
Tested on VS15. There seems to be a bug with anycode where `ProviderPriority` is not respected, so the builtin copy of the node debug provider is always used over this new debug provider in the NTVS codebase. I changed the file extension type to test this change, and saw this debug provider being used.

* Move to using local copy of workspaces instead

* Copy validation package internal too

* Remove validation from package.config list

* Use signed webrole.dll for VS15  (#1200)

* Use signed version of webrole.dll

* Use full path for CopyOutputsToPath

* Use WebRoleDllPath based on existance of SignedBinariesPath

* Delete custom target for targets build

* pull webrole from webrole binaries

* Revert removal of  _CopyWixOutputsToPath

* Add a few debug messages

* Remove reference to swix from setup files

* Remove correct line in dirs.proj

* revert dirs.proj changes

* Try adding custom MSBuildAllProjects path to trigger rebuild

* Clean up change and remove log statements

* Swtich to force clean build root output

* Fix WebRoleDll paths

* Redo dirs.proj change

* Restore workaround to retrigger build and revert dirs.proj change

* Use buildversion variable instead of hardcoded 1.2 version for vsix packages

* Use build.buildnumber instead

* Use custom defined buildversion

* Update other swix files

* Use custom defined buildversion  (#1199)

* Use custom defined buildversion

* Update other swix files

* Use MsiVersion instead of custom version logic

* REmove custom build logic

* Remove dev11 and dev12 references from msbuild files (#1202)

* Remove additional dev11 and dev12 references from msbuild files

NTVS 1.2 no longer supports VS11 or VS12. This change removes a few remaining references from the msbuild files. Also removes the c++ targets logic.

* Revert assemblyversion change

* Fix breaking on plain old errors (#1193)

* Fix breaking on plain old errors

closes #1192

**bug**
```js
throw new Error('I am');
```
is not handled, even with all node.js exceptions enabled

**fix**
Use correct name when enabling or disabling errors.

**testing**
Tested this case before and after fix. See error being handled correctly now.

* Fix core duplication problem that was the root cause of this issue

* Delete Starter Express App Templates

**Bug**
The starter express app templates are very out of date and do not provide a good example of best practices while developing a modern node web application. We do not have the resources to keep them up to date. We also do not want to ship templates that are out of date and promote bad design (for example, we still are referencing Jade in all of these templates, which has been renamed to Pug).

If we ever do want to provide a more feature-rich template for new users, starting from scatch would be better IMO would be better than trying to update all these templates.

**Fix**
Just delete all these templates. Any projects created from these templates will continue to work fine, this only effects the new project experiance.

We would want to take this into NTVS 1.3 and probably VS15 Preview 5.

* Remove setup references from setup

* Reverting main change

* REmove all starter express app templates except the azure ones

* Fix potential crash for weird %PATH%

**Bug**
If the %PATH% env var contains path entries which are not valid, NTVS can end up crashing in `GetPathToNodeExecutableFromEnvironment` when calling `Path.combine`

**Fix**
Wrap this section in a try catch block to handle these entries.

* Support *.pug extension for Jade Templates

**Bug**
The Jade was renamed Pug, and they no longer support `*.jade` files natively. NTVS only supports `*.jade` files

**Fix**
As first part of Jade -> Pug update, add support to use jade editor for both `*.jade` and `*.pug` files.

* Alert User if Typescript is not Installed

From #1208

**Bug**
If TS is not properly installed, NTVS will silently crash when loaded. The root cause is GetNodejsLanguagePreferencesFromTypeScript

**fix**
Instead of throwing right away, alter the user that there is something wrong. Fixing this requires user intervention.

* Check hr and then throw, instead of catching exception

* Make it more clear that NTVS cannot load if this error happens

* Handle Semver parse errors in NpmGetCatalogCommand for 'versions' field

**Bug**
Semver parsing is failing for version strings like `'latest'`. This prevents users from downloading the npm package catalog.

**Fix**
Instead of blocking users in this case, we should catch these exceptions and continue on.

* Remove added parameter

* Delete Man Field from Npm package.json parser

This field is only consumed by our tests, and therefore not very useful.

* Automatic Refactor - Remove Unused Using Statements (#1231)

Just applying the remove unused using statement automatic vs fix to the entire NTVS solution.

* Copy Dlls for Test Adapter into VSIX for VS15 (#1250)

**Bug**
Test adapter is not working in VS15.

One cause is that it cannot resolve two dlls: shell.interop and newtonsoft.json. The first is in the GAC in vs14 and the second is installed by our MSI (not entirely sure how it works for devbuilds)

**Fix**
Copy these dlls into the vsix explicitly. I tried embedding shell.interop, but it cannot be embedded.

* Pass VSInstall Root to Test Adapter

**Bug**
In VS15, unit tests are currently not being discovered. It looks like one problem is that when we load the njsproject file, MSBuildExtensionsPath32 is set to incorrectly  look in the global location, instead of the new location inside of VS.

**fix**
Pass VSInstallRoot from the main nodejs instance to the test discoverer. Use this environment variable to manually set MSBuildExtensionsPath32
mjbvz added a commit that referenced this pull request Oct 6, 2016
* Sync Lightweight Install Branch with Master (#1232)

* Create the menu group.

* Add form to request for new file name.

* Wire add file dialog with add file command.

* Refactor and add 'New {TypeScript,HTML,CSS} File' buttons.

* The only change in these files is line ending format.

* Add header and auto formatting

* Add workspaces reference

* Port Node Debug provider to NTVS

This change takes the existing node debugger provider embedded in the Open Folder team's code base, and moves it into the NTVS code. This will allow us to maintain the debug provider going forward.

Testing
Tested on VS15. There seems to be a bug with anycode where `ProviderPriority` is not respected, so the builtin copy of the node debug provider is always used over this new debug provider in the NTVS codebase. I changed the file extension type to test this change, and saw this debug provider being used.

* Move to using local copy of workspaces instead

* Copy validation package internal too

* Remove validation from package.config list

* Use signed webrole.dll for VS15  (#1200)

* Use signed version of webrole.dll

* Use full path for CopyOutputsToPath

* Use WebRoleDllPath based on existance of SignedBinariesPath

* Delete custom target for targets build

* pull webrole from webrole binaries

* Revert removal of  _CopyWixOutputsToPath

* Add a few debug messages

* Remove reference to swix from setup files

* Remove correct line in dirs.proj

* revert dirs.proj changes

* Try adding custom MSBuildAllProjects path to trigger rebuild

* Clean up change and remove log statements

* Swtich to force clean build root output

* Fix WebRoleDll paths

* Redo dirs.proj change

* Restore workaround to retrigger build and revert dirs.proj change

* Use buildversion variable instead of hardcoded 1.2 version for vsix packages

* Use build.buildnumber instead

* Use custom defined buildversion

* Update other swix files

* Use custom defined buildversion  (#1199)

* Use custom defined buildversion

* Update other swix files

* Use MsiVersion instead of custom version logic

* REmove custom build logic

* Remove dev11 and dev12 references from msbuild files (#1202)

* Remove additional dev11 and dev12 references from msbuild files

NTVS 1.2 no longer supports VS11 or VS12. This change removes a few remaining references from the msbuild files. Also removes the c++ targets logic.

* Revert assemblyversion change

* Fix breaking on plain old errors (#1193)

* Fix breaking on plain old errors

closes #1192

**bug**
```js
throw new Error('I am');
```
is not handled, even with all node.js exceptions enabled

**fix**
Use correct name when enabling or disabling errors.

**testing**
Tested this case before and after fix. See error being handled correctly now.

* Fix core duplication problem that was the root cause of this issue

* Delete Starter Express App Templates

**Bug**
The starter express app templates are very out of date and do not provide a good example of best practices while developing a modern node web application. We do not have the resources to keep them up to date. We also do not want to ship templates that are out of date and promote bad design (for example, we still are referencing Jade in all of these templates, which has been renamed to Pug).

If we ever do want to provide a more feature-rich template for new users, starting from scatch would be better IMO would be better than trying to update all these templates.

**Fix**
Just delete all these templates. Any projects created from these templates will continue to work fine, this only effects the new project experiance.

We would want to take this into NTVS 1.3 and probably VS15 Preview 5.

* Remove setup references from setup

* Reverting main change

* REmove all starter express app templates except the azure ones

* Fix potential crash for weird %PATH%

**Bug**
If the %PATH% env var contains path entries which are not valid, NTVS can end up crashing in `GetPathToNodeExecutableFromEnvironment` when calling `Path.combine`

**Fix**
Wrap this section in a try catch block to handle these entries.

* Support *.pug extension for Jade Templates

**Bug**
The Jade was renamed Pug, and they no longer support `*.jade` files natively. NTVS only supports `*.jade` files

**Fix**
As first part of Jade -> Pug update, add support to use jade editor for both `*.jade` and `*.pug` files.

* Alert User if Typescript is not Installed

From #1208

**Bug**
If TS is not properly installed, NTVS will silently crash when loaded. The root cause is GetNodejsLanguagePreferencesFromTypeScript

**fix**
Instead of throwing right away, alter the user that there is something wrong. Fixing this requires user intervention.

* Check hr and then throw, instead of catching exception

* Make it more clear that NTVS cannot load if this error happens

* Handle Semver parse errors in NpmGetCatalogCommand for 'versions' field

**Bug**
Semver parsing is failing for version strings like `'latest'`. This prevents users from downloading the npm package catalog.

**Fix**
Instead of blocking users in this case, we should catch these exceptions and continue on.

* Remove added parameter

* Delete Man Field from Npm package.json parser

This field is only consumed by our tests, and therefore not very useful.

* Automatic Refactor - Remove Unused Using Statements (#1231)

Just applying the remove unused using statement automatic vs fix to the entire NTVS solution.

* Copy Dlls for Test Adapter into VSIX for VS15 (#1250)

**Bug**
Test adapter is not working in VS15.

One cause is that it cannot resolve two dlls: shell.interop and newtonsoft.json. The first is in the GAC in vs14 and the second is installed by our MSI (not entirely sure how it works for devbuilds)

**Fix**
Copy these dlls into the vsix explicitly. I tried embedding shell.interop, but it cannot be embedded.

* Add Min shell dep to VS15 VSIX Files

Vs needs us to have a depdency on minshell for all of our V2 VSIX files. This change adds that dependency to the 3 main VSIX files identified by VS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants