* Feature tests running with refactored package manager
* Refactoring packages-1
* Test for the downloader running using the mock server
* Using network settings
* Changing the package path
* Dividing packages.ts into separate components
* use filter async
* Use tmpfile interface
* Check for the event stream
* Using FilePathResolver
* Remove using
* Testing for normal and fallback case working
* Resolve the paths
* Remove failing case
* package installer test-1
* Add package installer test
* Create tmp asset
* Package Downloader test refactored
* Rename files
* resolve compile issues
* Clean up installer
* Clean up the tests
* Rename packages
* Package installer test
* PR feedback
* Package Filter test
* Remove yauzl.d.ts
* Filter test
* Added test for invalid zip file
* method for getting the request options
* remove imports
* please resolve the path
* remove latest in settings
* Package Manager test executing
* Use free port in package manager test
* Package Manager (using a https server running)
* using http mock server
* Downloader test running using free port
Adds noUnusedLocals to tsconfig.json to keep our sources clean
Adds noFallThroughCaseInSwitch in tsconfig.json to prevent unintended switch behavior
Adds promise-function-async to tslint.json to force all async functions to be marked as async. This is a building block towards eliminating promises in favor of async/await.
The VSCode C# Extension build process follows the VS Code docs and runs tests directly inside of its repo root. This unfortunately gives a false sense of security because bugs can be introduced during VSIX packaging [particularly due to missing content in node_modules or excluded via .vscodeignore].
This change addresses this problem by moving our CI tests to execute the VSIX instead of the build's intermediate artifacts. Specifically:
build the vsix
unpackage the vsix
instrument the unpackaged vsix
run tests with VS Code Host pointing to the unpackaged vsix
This makes our CI tests ~= to the user's runtime experience and will greatly help us with size reduction efforts.
To support this change, I also moved our build system from package.json to Gulp. This makes the build scripts significantly easier to understand, provides intellisense for build scripts, and build-time type checking for their contents.
I also strengthened the repo's use of .vscodeignore by creating a copy of the file for each scenario [online packages and offline packages]. The new gulp packaging scripts take advantage of these files to produce packages with predictable contents regardless of when packaging occurs. [small caveat, @akshita31 will be adding a test that validates that net-new content does not start sneaking into the vsix package].
* Changes to refactor logging in server
* Adding packages
* Changes
* Remove reporter from CSharpExtDownloader
* remove telemtery reporter from server.ts
* remove reporter from definitionProvider
* Remove reporter from dotnetTest.ts
* Debugger Activation + Commands
* reduce message types
* remove reporter from commands.ts
* remove channel from status.ts
* Remove reporter & logger from extension.ts
* Build issues
* Add missing rx dependency
* Changed to download progress
* Removed using and pass platformInfo
* Moved files in observer folder
* Renamed the files and added omnisharp channel observer
* Remove unnecessary format
* Changes in main.ts
* Remove channel from global declaration
* Preserving the context in onNext invocations
* Pulled platformInfo out of server
* Remove unnecessary variable
* Formatting
* Renamed observers
* Add mocha+wallaby tests
eventually the feature tests should be removed and most of our tests should become unit tests that are runnable from the command line or via wallaby.
npm run tdd will enable using mocha's command line tdd capability
* Code clean up
* Fix `tdd` command
* Fix test paths
* Add initial DotnetChannelObserver test
* Testing the download messages
* Remove logger from requestQueue.ts
* Fix builds
* Use package manager factory
* Remove Lines
* Remove extra appendLine
* Added test for csharp logger and channel
* Extracted base class for observers
* Test having dependency on vscode
* vscode adapter changes
* Changes for adapter
* Refactored Omnisharp Manager
* Moved from interfaces to classes
* Renamed onNext to post
* Created class EventStream
* Removed comment
* Added missing break
* Added test for Omnisharp Logger
* Test for OmnisharpLoggerObserver
* Test for telemetry reporter observer
* Added test for all the observers
* minor nits
* Changes
* Remove unnecessary imports
* remove import
* Modified failing test
* Make tests pass
* Renamed platformInfo
* CR feedback
Add product-wide code coverage + codecov.io integration
Several new scripts were added:
npm run cov:instrument: rebuilds your sources, then instruments them for coverage. Subsequent
npm run test will generate coverage data into the .nyc_output directory
npm run cov:merge-html: merges all reports from .nyc_output and puts a locally viewable coverage report into coverage directory
* Structured Documentation in Signature Help
* Code clean up
* Using only summary of the documentation
* Code clean up
* Documentation for parameters showing in signature help
* Removing unnecesaary import
* Using interploated string and fixed spacing
* Parameter Documentation using interpolated text
* Added tests