diff --git a/.appveyor.yml b/.appveyor.yml
deleted file mode 100755
index 77f1912..0000000
--- a/.appveyor.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-init:
-- git config --global core.autocrlf true
-install:
-- ps: Install-Product node 6.9.2 x64
-branches:
- only:
- - master
- - /^release\/.*$/
- - /^(.*\/)?ci-.*$/
-build_script:
-- ps: .\run.ps1 default-build
-clone_depth: 1
-environment:
- global:
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
-test: 'off'
-deploy: 'off'
-os: Visual Studio 2017
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100755
index d0a46d6..0000000
--- a/.gitattributes
+++ /dev/null
@@ -1,51 +0,0 @@
-*.doc diff=astextplain
-*.DOC diff=astextplain
-*.docx diff=astextplain
-*.DOCX diff=astextplain
-*.dot diff=astextplain
-*.DOT diff=astextplain
-*.pdf diff=astextplain
-*.PDF diff=astextplain
-*.rtf diff=astextplain
-*.RTF diff=astextplain
-
-*.jpg binary
-*.png binary
-*.gif binary
-
-*.cs text=auto diff=csharp
-*.vb text=auto
-*.resx text=auto
-*.c text=auto
-*.cpp text=auto
-*.cxx text=auto
-*.h text=auto
-*.hxx text=auto
-*.py text=auto
-*.rb text=auto
-*.java text=auto
-*.html text=auto
-*.htm text=auto
-*.css text=auto
-*.scss text=auto
-*.sass text=auto
-*.less text=auto
-*.js text=auto
-*.lisp text=auto
-*.clj text=auto
-*.sql text=auto
-*.php text=auto
-*.lua text=auto
-*.m text=auto
-*.asm text=auto
-*.erl text=auto
-*.fs text=auto
-*.fsx text=auto
-*.hs text=auto
-
-*.csproj text=auto
-*.vbproj text=auto
-*.fsproj text=auto
-*.dbproj text=auto
-*.sln text=auto eol=crlf
-*.sh eol=lf
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100755
index d974c56..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-language: csharp
-sudo: required
-dist: trusty
-addons:
- apt:
- packages:
- - gettext
- - libcurl4-openssl-dev
- - libicu-dev
- - libssl-dev
- - libunwind8
- - zlib1g
-mono: none
-os:
-- linux
-- osx
-osx_image: xcode7.1
-script:
-- ./build.sh
-branches:
- only:
- - master
- - /^release\/.*$/
- - /^(.*\/)?ci-.*$/
diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml
deleted file mode 100644
index c2c5336..0000000
--- a/.vsts-pipelines/builds/ci-internal.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-trigger:
-- master
-- release/*
-
-resources:
- repositories:
- - repository: buildtools
- type: git
- name: aspnet-BuildTools
- ref: refs/heads/master
-
-phases:
-- template: .vsts-pipelines/templates/project-ci.yml@buildtools
diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml
deleted file mode 100644
index 507c89b..0000000
--- a/.vsts-pipelines/builds/ci-public.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-trigger:
-- master
-- release/*
-
-# See https://github.com/aspnet/BuildTools
-resources:
- repositories:
- - repository: buildtools
- type: github
- endpoint: DotNet-Bot GitHub Connection
- name: aspnet/BuildTools
- ref: refs/heads/master
-
-phases:
-- template: .vsts-pipelines/templates/project-ci.yml@buildtools
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index eac4268..0000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,4 +0,0 @@
-Contributing
-======
-
-Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/master/CONTRIBUTING.md) in the Home repo.
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index b3b180c..0000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright (c) .NET Foundation and Contributors
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/NuGet.config b/NuGet.config
deleted file mode 100644
index e32bddf..0000000
--- a/NuGet.config
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/build.cmd b/build.cmd
deleted file mode 100755
index c0050bd..0000000
--- a/build.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE"
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 98a4b22..0000000
--- a/build.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-# Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs)
-chmod +x "$DIR/run.sh"; sync
-"$DIR/run.sh" default-build "$@"
diff --git a/korebuild-lock.txt b/korebuild-lock.txt
deleted file mode 100644
index 7361354..0000000
--- a/korebuild-lock.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-version:3.0.0-build-20181114.5
-commithash:880e9a204d4ee4a18dfd83c9fb05a192a28bca60
diff --git a/korebuild.json b/korebuild.json
deleted file mode 100644
index f098e7f..0000000
--- a/korebuild.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json",
- "channel": "master",
- "toolsets": {
- "nodejs": {
- "required": true,
- "minVersion": "6.9"
- }
- }
-}
diff --git a/run.cmd b/run.cmd
deleted file mode 100644
index d52d5c7..0000000
--- a/run.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE"
diff --git a/run.ps1 b/run.ps1
deleted file mode 100644
index 34604c7..0000000
--- a/run.ps1
+++ /dev/null
@@ -1,209 +0,0 @@
-#!/usr/bin/env powershell
-#requires -version 4
-
-<#
-.SYNOPSIS
-Executes KoreBuild commands.
-
-.DESCRIPTION
-Downloads korebuild if required. Then executes the KoreBuild command. To see available commands, execute with `-Command help`.
-
-.PARAMETER Command
-The KoreBuild command to run.
-
-.PARAMETER Path
-The folder to build. Defaults to the folder containing this script.
-
-.PARAMETER Channel
-The channel of KoreBuild to download. Overrides the value from the config file.
-
-.PARAMETER DotNetHome
-The directory where .NET Core tools will be stored.
-
-.PARAMETER ToolsSource
-The base url where build tools can be downloaded. Overrides the value from the config file.
-
-.PARAMETER Update
-Updates KoreBuild to the latest version even if a lock file is present.
-
-.PARAMETER Reinstall
-Re-installs KoreBuild
-
-.PARAMETER ConfigFile
-The path to the configuration file that stores values. Defaults to korebuild.json.
-
-.PARAMETER ToolsSourceSuffix
-The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores.
-
-.PARAMETER CI
-Sets up CI specific settings and variables.
-
-.PARAMETER Arguments
-Arguments to be passed to the command
-
-.NOTES
-This function will create a file $PSScriptRoot/korebuild-lock.txt. This lock file can be committed to source, but does not have to be.
-When the lockfile is not present, KoreBuild will create one using latest available version from $Channel.
-
-The $ConfigFile is expected to be an JSON file. It is optional, and the configuration values in it are optional as well. Any options set
-in the file are overridden by command line parameters.
-
-.EXAMPLE
-Example config file:
-```json
-{
- "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json",
- "channel": "master",
- "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools"
-}
-```
-#>
-[CmdletBinding(PositionalBinding = $false)]
-param(
- [Parameter(Mandatory = $true, Position = 0)]
- [string]$Command,
- [string]$Path = $PSScriptRoot,
- [Alias('c')]
- [string]$Channel,
- [Alias('d')]
- [string]$DotNetHome,
- [Alias('s')]
- [string]$ToolsSource,
- [Alias('u')]
- [switch]$Update,
- [switch]$Reinstall,
- [string]$ToolsSourceSuffix,
- [string]$ConfigFile = $null,
- [switch]$CI,
- [Parameter(ValueFromRemainingArguments = $true)]
- [string[]]$Arguments
-)
-
-Set-StrictMode -Version 2
-$ErrorActionPreference = 'Stop'
-
-#
-# Functions
-#
-
-function Get-KoreBuild {
-
- $lockFile = Join-Path $Path 'korebuild-lock.txt'
-
- if (!(Test-Path $lockFile) -or $Update) {
- Get-RemoteFile "$ToolsSource/korebuild/channels/$Channel/latest.txt" $lockFile $ToolsSourceSuffix
- }
-
- $version = Get-Content $lockFile | Where-Object { $_ -like 'version:*' } | Select-Object -first 1
- if (!$version) {
- Write-Error "Failed to parse version from $lockFile. Expected a line that begins with 'version:'"
- }
- $version = $version.TrimStart('version:').Trim()
- $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version)
-
- if ($Reinstall -and (Test-Path $korebuildPath)) {
- Remove-Item -Force -Recurse $korebuildPath
- }
-
- if (!(Test-Path $korebuildPath)) {
- Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version"
- New-Item -ItemType Directory -Path $korebuildPath | Out-Null
- $remotePath = "$ToolsSource/korebuild/artifacts/$version/korebuild.$version.zip"
-
- try {
- $tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip"
- Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix
- if (Get-Command -Name 'Microsoft.PowerShell.Archive\Expand-Archive' -ErrorAction Ignore) {
- # Use built-in commands where possible as they are cross-plat compatible
- Microsoft.PowerShell.Archive\Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath
- }
- else {
- # Fallback to old approach for old installations of PowerShell
- Add-Type -AssemblyName System.IO.Compression.FileSystem
- [System.IO.Compression.ZipFile]::ExtractToDirectory($tmpfile, $korebuildPath)
- }
- }
- catch {
- Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore
- throw
- }
- finally {
- Remove-Item $tmpfile -ErrorAction Ignore
- }
- }
-
- return $korebuildPath
-}
-
-function Join-Paths([string]$path, [string[]]$childPaths) {
- $childPaths | ForEach-Object { $path = Join-Path $path $_ }
- return $path
-}
-
-function Get-RemoteFile([string]$RemotePath, [string]$LocalPath, [string]$RemoteSuffix) {
- if ($RemotePath -notlike 'http*') {
- Copy-Item $RemotePath $LocalPath
- return
- }
-
- $retries = 10
- while ($retries -gt 0) {
- $retries -= 1
- try {
- Invoke-WebRequest -UseBasicParsing -Uri $($RemotePath + $RemoteSuffix) -OutFile $LocalPath
- return
- }
- catch {
- Write-Verbose "Request failed. $retries retries remaining"
- }
- }
-
- Write-Error "Download failed: '$RemotePath'."
-}
-
-#
-# Main
-#
-
-# Load configuration or set defaults
-
-$Path = Resolve-Path $Path
-if (!$ConfigFile) { $ConfigFile = Join-Path $Path 'korebuild.json' }
-
-if (Test-Path $ConfigFile) {
- try {
- $config = Get-Content -Raw -Encoding UTF8 -Path $ConfigFile | ConvertFrom-Json
- if ($config) {
- if (!($Channel) -and (Get-Member -Name 'channel' -InputObject $config)) { [string] $Channel = $config.channel }
- if (!($ToolsSource) -and (Get-Member -Name 'toolsSource' -InputObject $config)) { [string] $ToolsSource = $config.toolsSource}
- }
- }
- catch {
- Write-Host -ForegroundColor Red $Error[0]
- Write-Error "$ConfigFile contains invalid JSON."
- exit 1
- }
-}
-
-if (!$DotNetHome) {
- $DotNetHome = if ($env:DOTNET_HOME) { $env:DOTNET_HOME } `
- elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE '.dotnet'} `
- elseif ($env:HOME) {Join-Path $env:HOME '.dotnet'}`
- else { Join-Path $PSScriptRoot '.dotnet'}
-}
-
-if (!$Channel) { $Channel = 'master' }
-if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' }
-
-# Execute
-
-$korebuildPath = Get-KoreBuild
-Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1')
-
-try {
- Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI
- Invoke-KoreBuildCommand $Command @Arguments
-}
-finally {
- Remove-Module 'KoreBuild' -ErrorAction Ignore
-}
diff --git a/run.sh b/run.sh
deleted file mode 100755
index 4c1fed5..0000000
--- a/run.sh
+++ /dev/null
@@ -1,256 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-#
-# variables
-#
-
-RESET="\033[0m"
-RED="\033[0;31m"
-YELLOW="\033[0;33m"
-MAGENTA="\033[0;95m"
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet"
-verbose=false
-update=false
-reinstall=false
-repo_path="$DIR"
-channel=''
-tools_source=''
-tools_source_suffix=''
-ci=false
-
-#
-# Functions
-#
-__usage() {
- echo "Usage: $(basename "${BASH_SOURCE[0]}") command [options] [[--] ...]"
- echo ""
- echo "Arguments:"
- echo " command The command to be run."
- echo " ... Arguments passed to the command. Variable number of arguments allowed."
- echo ""
- echo "Options:"
- echo " --verbose Show verbose output."
- echo " -c|--channel The channel of KoreBuild to download. Overrides the value from the config file.."
- echo " --config-file The path to the configuration file that stores values. Defaults to korebuild.json."
- echo " -d|--dotnet-home The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet."
- echo " --path The directory to build. Defaults to the directory containing the script."
- echo " -s|--tools-source|-ToolsSource The base url where build tools can be downloaded. Overrides the value from the config file."
- echo " --tools-source-suffix|-ToolsSourceSuffix The suffix to append to tools-source. Useful for query strings."
- echo " -u|--update Update to the latest KoreBuild even if the lock file is present."
- echo " --reinstall Reinstall KoreBuild."
- echo " --ci Apply CI specific settings and environment variables."
- echo ""
- echo "Description:"
- echo " This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be."
- echo " When the lockfile is not present, KoreBuild will create one using latest available version from \$channel."
-
- if [[ "${1:-}" != '--no-exit' ]]; then
- exit 2
- fi
-}
-
-get_korebuild() {
- local version
- local lock_file="$repo_path/korebuild-lock.txt"
- if [ ! -f "$lock_file" ] || [ "$update" = true ]; then
- __get_remote_file "$tools_source/korebuild/channels/$channel/latest.txt" "$lock_file" "$tools_source_suffix"
- fi
- version="$(grep 'version:*' -m 1 "$lock_file")"
- if [[ "$version" == '' ]]; then
- __error "Failed to parse version from $lock_file. Expected a line that begins with 'version:'"
- return 1
- fi
- version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
- local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version"
-
- if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then
- rm -rf "$korebuild_path"
- fi
-
- {
- if [ ! -d "$korebuild_path" ]; then
- mkdir -p "$korebuild_path"
- local remote_path="$tools_source/korebuild/artifacts/$version/korebuild.$version.zip"
- tmpfile="$(mktemp)"
- echo -e "${MAGENTA}Downloading KoreBuild ${version}${RESET}"
- if __get_remote_file "$remote_path" "$tmpfile" "$tools_source_suffix"; then
- unzip -q -d "$korebuild_path" "$tmpfile"
- fi
- rm "$tmpfile" || true
- fi
-
- source "$korebuild_path/KoreBuild.sh"
- } || {
- if [ -d "$korebuild_path" ]; then
- echo "Cleaning up after failed installation"
- rm -rf "$korebuild_path" || true
- fi
- return 1
- }
-}
-
-__error() {
- echo -e "${RED}error: $*${RESET}" 1>&2
-}
-
-__warn() {
- echo -e "${YELLOW}warning: $*${RESET}"
-}
-
-__machine_has() {
- hash "$1" > /dev/null 2>&1
- return $?
-}
-
-__get_remote_file() {
- local remote_path=$1
- local local_path=$2
- local remote_path_suffix=$3
-
- if [[ "$remote_path" != 'http'* ]]; then
- cp "$remote_path" "$local_path"
- return 0
- fi
-
- local failed=false
- if __machine_has wget; then
- wget --tries 10 --quiet -O "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
- else
- failed=true
- fi
-
- if [ "$failed" = true ] && __machine_has curl; then
- failed=false
- curl --retry 10 -sSL -f --create-dirs -o "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
- fi
-
- if [ "$failed" = true ]; then
- __error "Download failed: $remote_path" 1>&2
- return 1
- fi
-}
-
-#
-# main
-#
-
-command="${1:-}"
-shift
-
-while [[ $# -gt 0 ]]; do
- case $1 in
- -\?|-h|--help)
- __usage --no-exit
- exit 0
- ;;
- -c|--channel|-Channel)
- shift
- channel="${1:-}"
- [ -z "$channel" ] && __usage
- ;;
- --config-file|-ConfigFile)
- shift
- config_file="${1:-}"
- [ -z "$config_file" ] && __usage
- if [ ! -f "$config_file" ]; then
- __error "Invalid value for --config-file. $config_file does not exist."
- exit 1
- fi
- ;;
- -d|--dotnet-home|-DotNetHome)
- shift
- DOTNET_HOME="${1:-}"
- [ -z "$DOTNET_HOME" ] && __usage
- ;;
- --path|-Path)
- shift
- repo_path="${1:-}"
- [ -z "$repo_path" ] && __usage
- ;;
- -s|--tools-source|-ToolsSource)
- shift
- tools_source="${1:-}"
- [ -z "$tools_source" ] && __usage
- ;;
- --tools-source-suffix|-ToolsSourceSuffix)
- shift
- tools_source_suffix="${1:-}"
- [ -z "$tools_source_suffix" ] && __usage
- ;;
- -u|--update|-Update)
- update=true
- ;;
- --reinstall|-[Rr]einstall)
- reinstall=true
- ;;
- --ci|-[Cc][Ii])
- ci=true
- ;;
- --verbose|-Verbose)
- verbose=true
- ;;
- --)
- shift
- break
- ;;
- *)
- break
- ;;
- esac
- shift
-done
-
-if ! __machine_has unzip; then
- __error 'Missing required command: unzip'
- exit 1
-fi
-
-if ! __machine_has curl && ! __machine_has wget; then
- __error 'Missing required command. Either wget or curl is required.'
- exit 1
-fi
-
-[ -z "${config_file:-}" ] && config_file="$repo_path/korebuild.json"
-if [ -f "$config_file" ]; then
- if __machine_has jq ; then
- if jq '.' "$config_file" >/dev/null ; then
- config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")"
- config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")"
- else
- __error "$config_file contains invalid JSON."
- exit 1
- fi
- elif __machine_has python ; then
- if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
- config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
- config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
- else
- __error "$config_file contains invalid JSON."
- exit 1
- fi
- elif __machine_has python3 ; then
- if python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
- config_channel="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
- config_tools_source="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
- else
- __error "$config_file contains invalid JSON."
- exit 1
- fi
- else
- __error 'Missing required command: jq or python. Could not parse the JSON file.'
- exit 1
- fi
-
- [ ! -z "${config_channel:-}" ] && channel="$config_channel"
- [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source"
-fi
-
-[ -z "$channel" ] && channel='master'
-[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools'
-
-get_korebuild
-set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" "$ci"
-invoke_korebuild_command "$command" "$@"
diff --git a/.gitignore b/src/JavaScriptServices/.gitignore
similarity index 100%
rename from .gitignore
rename to src/JavaScriptServices/.gitignore
diff --git a/Directory.Build.props b/src/JavaScriptServices/Directory.Build.props
similarity index 100%
rename from Directory.Build.props
rename to src/JavaScriptServices/Directory.Build.props
diff --git a/Directory.Build.targets b/src/JavaScriptServices/Directory.Build.targets
similarity index 100%
rename from Directory.Build.targets
rename to src/JavaScriptServices/Directory.Build.targets
diff --git a/JavaScriptServices.sln b/src/JavaScriptServices/JavaScriptServices.sln
similarity index 100%
rename from JavaScriptServices.sln
rename to src/JavaScriptServices/JavaScriptServices.sln
diff --git a/NuGetPackageVerifier.json b/src/JavaScriptServices/NuGetPackageVerifier.json
similarity index 100%
rename from NuGetPackageVerifier.json
rename to src/JavaScriptServices/NuGetPackageVerifier.json
diff --git a/README.md b/src/JavaScriptServices/README.md
similarity index 100%
rename from README.md
rename to src/JavaScriptServices/README.md
diff --git a/build/Key.snk b/src/JavaScriptServices/build/Key.snk
similarity index 100%
rename from build/Key.snk
rename to src/JavaScriptServices/build/Key.snk
diff --git a/build/dependencies.props b/src/JavaScriptServices/build/dependencies.props
similarity index 100%
rename from build/dependencies.props
rename to src/JavaScriptServices/build/dependencies.props
diff --git a/build/repo.props b/src/JavaScriptServices/build/repo.props
similarity index 100%
rename from build/repo.props
rename to src/JavaScriptServices/build/repo.props
diff --git a/build/sources.props b/src/JavaScriptServices/build/sources.props
similarity index 100%
rename from build/sources.props
rename to src/JavaScriptServices/build/sources.props
diff --git a/samples/misc/LatencyTest/LatencyTest.csproj b/src/JavaScriptServices/samples/misc/LatencyTest/LatencyTest.csproj
similarity index 100%
rename from samples/misc/LatencyTest/LatencyTest.csproj
rename to src/JavaScriptServices/samples/misc/LatencyTest/LatencyTest.csproj
diff --git a/samples/misc/LatencyTest/Program.cs b/src/JavaScriptServices/samples/misc/LatencyTest/Program.cs
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/LatencyTest/Program.cs
rename to src/JavaScriptServices/samples/misc/LatencyTest/Program.cs
diff --git a/samples/misc/LatencyTest/latencyTest.js b/src/JavaScriptServices/samples/misc/LatencyTest/latencyTest.js
similarity index 100%
rename from samples/misc/LatencyTest/latencyTest.js
rename to src/JavaScriptServices/samples/misc/LatencyTest/latencyTest.js
diff --git a/samples/misc/NodeServicesExamples/.gitignore b/src/JavaScriptServices/samples/misc/NodeServicesExamples/.gitignore
similarity index 100%
rename from samples/misc/NodeServicesExamples/.gitignore
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/.gitignore
diff --git a/samples/misc/NodeServicesExamples/Controllers/HomeController.cs b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Controllers/HomeController.cs
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/NodeServicesExamples/Controllers/HomeController.cs
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Controllers/HomeController.cs
diff --git a/samples/misc/NodeServicesExamples/Node/prerenderPage.js b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Node/prerenderPage.js
similarity index 100%
rename from samples/misc/NodeServicesExamples/Node/prerenderPage.js
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Node/prerenderPage.js
diff --git a/samples/misc/NodeServicesExamples/Node/renderChart.js b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Node/renderChart.js
similarity index 100%
rename from samples/misc/NodeServicesExamples/Node/renderChart.js
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Node/renderChart.js
diff --git a/samples/misc/NodeServicesExamples/Node/transpilation.js b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Node/transpilation.js
similarity index 100%
rename from samples/misc/NodeServicesExamples/Node/transpilation.js
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Node/transpilation.js
diff --git a/samples/misc/NodeServicesExamples/NodeServicesExamples.csproj b/src/JavaScriptServices/samples/misc/NodeServicesExamples/NodeServicesExamples.csproj
similarity index 100%
rename from samples/misc/NodeServicesExamples/NodeServicesExamples.csproj
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/NodeServicesExamples.csproj
diff --git a/samples/misc/NodeServicesExamples/Startup.cs b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Startup.cs
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/NodeServicesExamples/Startup.cs
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Startup.cs
diff --git a/samples/misc/NodeServicesExamples/Views/Home/Chart.cshtml b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Home/Chart.cshtml
similarity index 100%
rename from samples/misc/NodeServicesExamples/Views/Home/Chart.cshtml
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Home/Chart.cshtml
diff --git a/samples/misc/NodeServicesExamples/Views/Home/ES2015Transpilation.cshtml b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Home/ES2015Transpilation.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/NodeServicesExamples/Views/Home/ES2015Transpilation.cshtml
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Home/ES2015Transpilation.cshtml
diff --git a/samples/misc/NodeServicesExamples/Views/Home/Index.cshtml b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Home/Index.cshtml
similarity index 100%
rename from samples/misc/NodeServicesExamples/Views/Home/Index.cshtml
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Home/Index.cshtml
diff --git a/samples/misc/NodeServicesExamples/Views/Home/Prerendering.cshtml b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Home/Prerendering.cshtml
similarity index 100%
rename from samples/misc/NodeServicesExamples/Views/Home/Prerendering.cshtml
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Home/Prerendering.cshtml
diff --git a/samples/misc/NodeServicesExamples/Views/Shared/Error.cshtml b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Shared/Error.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/NodeServicesExamples/Views/Shared/Error.cshtml
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Shared/Error.cshtml
diff --git a/samples/misc/NodeServicesExamples/Views/Shared/_Layout.cshtml b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Shared/_Layout.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/NodeServicesExamples/Views/Shared/_Layout.cshtml
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/Shared/_Layout.cshtml
diff --git a/samples/misc/NodeServicesExamples/Views/_ViewImports.cshtml b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/_ViewImports.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/NodeServicesExamples/Views/_ViewImports.cshtml
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/_ViewImports.cshtml
diff --git a/samples/misc/NodeServicesExamples/Views/_ViewStart.cshtml b/src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/_ViewStart.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/NodeServicesExamples/Views/_ViewStart.cshtml
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/Views/_ViewStart.cshtml
diff --git a/samples/misc/NodeServicesExamples/appsettings.json b/src/JavaScriptServices/samples/misc/NodeServicesExamples/appsettings.json
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/NodeServicesExamples/appsettings.json
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/appsettings.json
diff --git a/samples/misc/NodeServicesExamples/jsconfig.json b/src/JavaScriptServices/samples/misc/NodeServicesExamples/jsconfig.json
similarity index 100%
rename from samples/misc/NodeServicesExamples/jsconfig.json
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/jsconfig.json
diff --git a/samples/misc/NodeServicesExamples/package.json b/src/JavaScriptServices/samples/misc/NodeServicesExamples/package.json
similarity index 100%
rename from samples/misc/NodeServicesExamples/package.json
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/package.json
diff --git a/samples/misc/NodeServicesExamples/wwwroot/css/chartist.min.css b/src/JavaScriptServices/samples/misc/NodeServicesExamples/wwwroot/css/chartist.min.css
similarity index 100%
rename from samples/misc/NodeServicesExamples/wwwroot/css/chartist.min.css
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/wwwroot/css/chartist.min.css
diff --git a/samples/misc/NodeServicesExamples/wwwroot/favicon.ico b/src/JavaScriptServices/samples/misc/NodeServicesExamples/wwwroot/favicon.ico
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/NodeServicesExamples/wwwroot/favicon.ico
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/wwwroot/favicon.ico
diff --git a/samples/misc/NodeServicesExamples/wwwroot/js/main.js b/src/JavaScriptServices/samples/misc/NodeServicesExamples/wwwroot/js/main.js
similarity index 100%
rename from samples/misc/NodeServicesExamples/wwwroot/js/main.js
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/wwwroot/js/main.js
diff --git a/samples/misc/NodeServicesExamples/wwwroot/web.config b/src/JavaScriptServices/samples/misc/NodeServicesExamples/wwwroot/web.config
similarity index 100%
rename from samples/misc/NodeServicesExamples/wwwroot/web.config
rename to src/JavaScriptServices/samples/misc/NodeServicesExamples/wwwroot/web.config
diff --git a/samples/misc/Webpack/.gitignore b/src/JavaScriptServices/samples/misc/Webpack/.gitignore
similarity index 100%
rename from samples/misc/Webpack/.gitignore
rename to src/JavaScriptServices/samples/misc/Webpack/.gitignore
diff --git a/samples/misc/Webpack/ActionResults/PrerenderResult.cs b/src/JavaScriptServices/samples/misc/Webpack/ActionResults/PrerenderResult.cs
similarity index 100%
rename from samples/misc/Webpack/ActionResults/PrerenderResult.cs
rename to src/JavaScriptServices/samples/misc/Webpack/ActionResults/PrerenderResult.cs
diff --git a/samples/misc/Webpack/ActionResults/PrerenderResultExtensions.cs b/src/JavaScriptServices/samples/misc/Webpack/ActionResults/PrerenderResultExtensions.cs
similarity index 100%
rename from samples/misc/Webpack/ActionResults/PrerenderResultExtensions.cs
rename to src/JavaScriptServices/samples/misc/Webpack/ActionResults/PrerenderResultExtensions.cs
diff --git a/samples/misc/Webpack/Clientside/App.ts b/src/JavaScriptServices/samples/misc/Webpack/Clientside/App.ts
similarity index 100%
rename from samples/misc/Webpack/Clientside/App.ts
rename to src/JavaScriptServices/samples/misc/Webpack/Clientside/App.ts
diff --git a/samples/misc/Webpack/Clientside/HelloWorld.ts b/src/JavaScriptServices/samples/misc/Webpack/Clientside/HelloWorld.ts
similarity index 100%
rename from samples/misc/Webpack/Clientside/HelloWorld.ts
rename to src/JavaScriptServices/samples/misc/Webpack/Clientside/HelloWorld.ts
diff --git a/samples/misc/Webpack/Clientside/styles/main.less b/src/JavaScriptServices/samples/misc/Webpack/Clientside/styles/main.less
similarity index 100%
rename from samples/misc/Webpack/Clientside/styles/main.less
rename to src/JavaScriptServices/samples/misc/Webpack/Clientside/styles/main.less
diff --git a/samples/misc/Webpack/Controllers/HomeController.cs b/src/JavaScriptServices/samples/misc/Webpack/Controllers/HomeController.cs
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/Webpack/Controllers/HomeController.cs
rename to src/JavaScriptServices/samples/misc/Webpack/Controllers/HomeController.cs
diff --git a/samples/misc/Webpack/Properties/launchSettings.json b/src/JavaScriptServices/samples/misc/Webpack/Properties/launchSettings.json
similarity index 100%
rename from samples/misc/Webpack/Properties/launchSettings.json
rename to src/JavaScriptServices/samples/misc/Webpack/Properties/launchSettings.json
diff --git a/samples/misc/Webpack/Startup.cs b/src/JavaScriptServices/samples/misc/Webpack/Startup.cs
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/Webpack/Startup.cs
rename to src/JavaScriptServices/samples/misc/Webpack/Startup.cs
diff --git a/samples/misc/Webpack/Views/Home/Index.cshtml b/src/JavaScriptServices/samples/misc/Webpack/Views/Home/Index.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/Webpack/Views/Home/Index.cshtml
rename to src/JavaScriptServices/samples/misc/Webpack/Views/Home/Index.cshtml
diff --git a/samples/misc/Webpack/Views/Shared/Error.cshtml b/src/JavaScriptServices/samples/misc/Webpack/Views/Shared/Error.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/Webpack/Views/Shared/Error.cshtml
rename to src/JavaScriptServices/samples/misc/Webpack/Views/Shared/Error.cshtml
diff --git a/samples/misc/Webpack/Views/Shared/_Layout.cshtml b/src/JavaScriptServices/samples/misc/Webpack/Views/Shared/_Layout.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/Webpack/Views/Shared/_Layout.cshtml
rename to src/JavaScriptServices/samples/misc/Webpack/Views/Shared/_Layout.cshtml
diff --git a/samples/misc/Webpack/Views/_ViewImports.cshtml b/src/JavaScriptServices/samples/misc/Webpack/Views/_ViewImports.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/Webpack/Views/_ViewImports.cshtml
rename to src/JavaScriptServices/samples/misc/Webpack/Views/_ViewImports.cshtml
diff --git a/samples/misc/Webpack/Views/_ViewStart.cshtml b/src/JavaScriptServices/samples/misc/Webpack/Views/_ViewStart.cshtml
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/Webpack/Views/_ViewStart.cshtml
rename to src/JavaScriptServices/samples/misc/Webpack/Views/_ViewStart.cshtml
diff --git a/samples/misc/Webpack/Webpack.csproj b/src/JavaScriptServices/samples/misc/Webpack/Webpack.csproj
similarity index 100%
rename from samples/misc/Webpack/Webpack.csproj
rename to src/JavaScriptServices/samples/misc/Webpack/Webpack.csproj
diff --git a/samples/misc/Webpack/appsettings.json b/src/JavaScriptServices/samples/misc/Webpack/appsettings.json
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/Webpack/appsettings.json
rename to src/JavaScriptServices/samples/misc/Webpack/appsettings.json
diff --git a/samples/misc/Webpack/package.json b/src/JavaScriptServices/samples/misc/Webpack/package.json
similarity index 100%
rename from samples/misc/Webpack/package.json
rename to src/JavaScriptServices/samples/misc/Webpack/package.json
diff --git a/samples/misc/Webpack/tsconfig.json b/src/JavaScriptServices/samples/misc/Webpack/tsconfig.json
similarity index 100%
rename from samples/misc/Webpack/tsconfig.json
rename to src/JavaScriptServices/samples/misc/Webpack/tsconfig.json
diff --git a/samples/misc/Webpack/webpack.config.dev.js b/src/JavaScriptServices/samples/misc/Webpack/webpack.config.dev.js
similarity index 100%
rename from samples/misc/Webpack/webpack.config.dev.js
rename to src/JavaScriptServices/samples/misc/Webpack/webpack.config.dev.js
diff --git a/samples/misc/Webpack/webpack.config.js b/src/JavaScriptServices/samples/misc/Webpack/webpack.config.js
similarity index 100%
rename from samples/misc/Webpack/webpack.config.js
rename to src/JavaScriptServices/samples/misc/Webpack/webpack.config.js
diff --git a/samples/misc/Webpack/webpack.config.prod.js b/src/JavaScriptServices/samples/misc/Webpack/webpack.config.prod.js
similarity index 100%
rename from samples/misc/Webpack/webpack.config.prod.js
rename to src/JavaScriptServices/samples/misc/Webpack/webpack.config.prod.js
diff --git a/samples/misc/Webpack/wwwroot/favicon.ico b/src/JavaScriptServices/samples/misc/Webpack/wwwroot/favicon.ico
old mode 100755
new mode 100644
similarity index 100%
rename from samples/misc/Webpack/wwwroot/favicon.ico
rename to src/JavaScriptServices/samples/misc/Webpack/wwwroot/favicon.ico
diff --git a/samples/misc/Webpack/wwwroot/web.config b/src/JavaScriptServices/samples/misc/Webpack/wwwroot/web.config
similarity index 100%
rename from samples/misc/Webpack/wwwroot/web.config
rename to src/JavaScriptServices/samples/misc/Webpack/wwwroot/web.config
diff --git a/scripts/Regenerate-JSFiles.ps1 b/src/JavaScriptServices/scripts/Regenerate-JSFiles.ps1
similarity index 100%
rename from scripts/Regenerate-JSFiles.ps1
rename to src/JavaScriptServices/scripts/Regenerate-JSFiles.ps1
diff --git a/src/Directory.Build.props b/src/JavaScriptServices/src/Directory.Build.props
similarity index 100%
rename from src/Directory.Build.props
rename to src/JavaScriptServices/src/Directory.Build.props
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/.gitignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/.gitignore
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/.gitignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/.gitignore
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/Content/Node/entrypoint-socket.js b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/Content/Node/entrypoint-socket.js
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/Content/Node/entrypoint-socket.js
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/Content/Node/entrypoint-socket.js
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/Microsoft.AspNetCore.NodeServices.Sockets.csproj b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/Microsoft.AspNetCore.NodeServices.Sockets.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/Microsoft.AspNetCore.NodeServices.Sockets.csproj
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/Microsoft.AspNetCore.NodeServices.Sockets.csproj
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/NamedPipeConnection.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/NamedPipeConnection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/NamedPipeConnection.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/NamedPipeConnection.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/StreamConnection.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/StreamConnection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/StreamConnection.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/StreamConnection.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/UnixDomainSocketConnection.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/UnixDomainSocketConnection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/UnixDomainSocketConnection.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/UnixDomainSocketConnection.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/UnixDomainSocketEndPoint.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/UnixDomainSocketEndPoint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/UnixDomainSocketEndPoint.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/PhysicalConnections/UnixDomainSocketEndPoint.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/SocketNodeInstance.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/SocketNodeInstance.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/SocketNodeInstance.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/SocketNodeInstance.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/SocketNodeServicesOptionsExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/SocketNodeServicesOptionsExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/SocketNodeServicesOptionsExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/SocketNodeServicesOptionsExtensions.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/SocketNodeInstanceEntryPoint.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/SocketNodeInstanceEntryPoint.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/SocketNodeInstanceEntryPoint.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/SocketNodeInstanceEntryPoint.ts
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/VirtualConnections/VirtualConnection.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/VirtualConnections/VirtualConnection.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/VirtualConnections/VirtualConnection.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/VirtualConnections/VirtualConnection.ts
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/VirtualConnections/VirtualConnectionServer.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/VirtualConnections/VirtualConnectionServer.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/VirtualConnections/VirtualConnectionServer.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/VirtualConnections/VirtualConnectionServer.ts
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/tsconfig.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/tsconfig.json
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/tsconfig.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/TypeScript/tsconfig.json
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/VirtualConnections/VirtualConnection.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/VirtualConnections/VirtualConnection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/VirtualConnections/VirtualConnection.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/VirtualConnections/VirtualConnection.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/VirtualConnections/VirtualConnectionClient.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/VirtualConnections/VirtualConnectionClient.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/VirtualConnections/VirtualConnectionClient.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/VirtualConnections/VirtualConnectionClient.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/baseline.netcore.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/baseline.netcore.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/package-lock.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/package-lock.json
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/package-lock.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/package-lock.json
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/package.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/package.json
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/package.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/package.json
diff --git a/src/Microsoft.AspNetCore.NodeServices.Sockets/webpack.config.js b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/webpack.config.js
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices.Sockets/webpack.config.js
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices.Sockets/webpack.config.js
diff --git a/src/Microsoft.AspNetCore.NodeServices/.gitignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/.gitignore
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/.gitignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/.gitignore
diff --git a/src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesFactory.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesFactory.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesFactory.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesOptions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesOptions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesOptions.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesServiceCollectionExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesServiceCollectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesServiceCollectionExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Configuration/NodeServicesServiceCollectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/Content/Node/entrypoint-http.js b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Content/Node/entrypoint-http.js
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/Content/Node/entrypoint-http.js
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Content/Node/entrypoint-http.js
diff --git a/src/Microsoft.AspNetCore.NodeServices/HostingModels/HttpNodeInstance.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/HttpNodeInstance.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/HostingModels/HttpNodeInstance.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/HttpNodeInstance.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/HostingModels/INodeInstance.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/INodeInstance.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/HostingModels/INodeInstance.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/INodeInstance.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeInvocationException.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeInvocationException.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeInvocationException.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeInvocationException.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeInvocationInfo.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeInvocationInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeInvocationInfo.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeInvocationInfo.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeServicesOptionsExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeServicesOptionsExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeServicesOptionsExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/NodeServicesOptionsExtensions.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/HostingModels/OutOfProcessNodeInstance.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/OutOfProcessNodeInstance.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/HostingModels/OutOfProcessNodeInstance.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/HostingModels/OutOfProcessNodeInstance.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/INodeServices.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/INodeServices.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/INodeServices.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/INodeServices.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/Microsoft.AspNetCore.NodeServices.csproj b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Microsoft.AspNetCore.NodeServices.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/Microsoft.AspNetCore.NodeServices.csproj
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Microsoft.AspNetCore.NodeServices.csproj
diff --git a/src/Microsoft.AspNetCore.NodeServices/NodeServicesImpl.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/NodeServicesImpl.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/NodeServicesImpl.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/NodeServicesImpl.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/README.md b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/README.md
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/README.md
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/README.md
diff --git a/src/Microsoft.AspNetCore.NodeServices/TypeScript/HttpNodeInstanceEntryPoint.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/HttpNodeInstanceEntryPoint.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/TypeScript/HttpNodeInstanceEntryPoint.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/HttpNodeInstanceEntryPoint.ts
diff --git a/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/ArgsUtil.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/ArgsUtil.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/ArgsUtil.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/ArgsUtil.ts
diff --git a/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/ExitWhenParentExits.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/ExitWhenParentExits.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/ExitWhenParentExits.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/ExitWhenParentExits.ts
diff --git a/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/OverrideStdOutputs.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/OverrideStdOutputs.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/OverrideStdOutputs.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/OverrideStdOutputs.ts
diff --git a/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/PatchModuleResolutionLStat.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/PatchModuleResolutionLStat.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/PatchModuleResolutionLStat.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/Util/PatchModuleResolutionLStat.ts
diff --git a/src/Microsoft.AspNetCore.NodeServices/TypeScript/tsconfig.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/tsconfig.json
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/TypeScript/tsconfig.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/TypeScript/tsconfig.json
diff --git a/src/Microsoft.AspNetCore.NodeServices/Util/EmbeddedResourceReader.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Util/EmbeddedResourceReader.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/Util/EmbeddedResourceReader.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Util/EmbeddedResourceReader.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/Util/StringAsTempFile.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Util/StringAsTempFile.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/Util/StringAsTempFile.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Util/StringAsTempFile.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/Util/TaskExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Util/TaskExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/Util/TaskExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/Util/TaskExtensions.cs
diff --git a/src/Microsoft.AspNetCore.NodeServices/baseline.netcore.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/baseline.netcore.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.NodeServices/package-lock.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/package-lock.json
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/package-lock.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/package-lock.json
diff --git a/src/Microsoft.AspNetCore.NodeServices/package.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/package.json
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/package.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/package.json
diff --git a/src/Microsoft.AspNetCore.NodeServices/webpack.config.js b/src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/webpack.config.js
similarity index 100%
rename from src/Microsoft.AspNetCore.NodeServices/webpack.config.js
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.NodeServices/webpack.config.js
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliBuilder.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliBuilder.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliMiddleware.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliMiddleware.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliMiddlewareExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliMiddlewareExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliMiddlewareExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/AngularCli/AngularCliMiddlewareExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/DefaultSpaBuilder.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/DefaultSpaBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/DefaultSpaBuilder.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/DefaultSpaBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/ISpaBuilder.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/ISpaBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/ISpaBuilder.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/ISpaBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Microsoft.AspNetCore.SpaServices.Extensions.csproj b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Microsoft.AspNetCore.SpaServices.Extensions.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Microsoft.AspNetCore.SpaServices.Extensions.csproj
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Microsoft.AspNetCore.SpaServices.Extensions.csproj
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Npm/NpmScriptRunner.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Npm/NpmScriptRunner.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Npm/NpmScriptRunner.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Npm/NpmScriptRunner.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/ISpaPrerendererBuilder.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/ISpaPrerendererBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/ISpaPrerendererBuilder.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/ISpaPrerendererBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/SpaPrerenderingExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/SpaPrerenderingExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/SpaPrerenderingExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/SpaPrerenderingExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/SpaPrerenderingOptions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/SpaPrerenderingOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/SpaPrerenderingOptions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Prerendering/SpaPrerenderingOptions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/ConditionalProxyMiddleware.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/ConditionalProxyMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/ConditionalProxyMiddleware.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/ConditionalProxyMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/SpaProxy.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/SpaProxy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/SpaProxy.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/SpaProxy.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/SpaProxyingExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/SpaProxyingExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/SpaProxyingExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Proxying/SpaProxyingExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/ReactDevelopmentServer/ReactDevelopmentServerMiddleware.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/ReactDevelopmentServer/ReactDevelopmentServerMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/ReactDevelopmentServer/ReactDevelopmentServerMiddleware.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/ReactDevelopmentServer/ReactDevelopmentServerMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/ReactDevelopmentServer/ReactDevelopmentServerMiddlewareExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/ReactDevelopmentServer/ReactDevelopmentServerMiddlewareExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/ReactDevelopmentServer/ReactDevelopmentServerMiddlewareExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/ReactDevelopmentServer/ReactDevelopmentServerMiddlewareExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/SpaApplicationBuilderExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/SpaApplicationBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/SpaApplicationBuilderExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/SpaApplicationBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/SpaDefaultPageMiddleware.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/SpaDefaultPageMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/SpaDefaultPageMiddleware.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/SpaDefaultPageMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/SpaOptions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/SpaOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/SpaOptions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/SpaOptions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/DefaultSpaStaticFileProvider.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/DefaultSpaStaticFileProvider.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/DefaultSpaStaticFileProvider.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/DefaultSpaStaticFileProvider.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/ISpaStaticFileProvider.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/ISpaStaticFileProvider.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/ISpaStaticFileProvider.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/ISpaStaticFileProvider.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/SpaStaticFilesExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/SpaStaticFilesExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/SpaStaticFilesExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/SpaStaticFilesExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/SpaStaticFilesOptions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/SpaStaticFilesOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/SpaStaticFilesOptions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/StaticFiles/SpaStaticFilesOptions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/EventedStreamReader.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/EventedStreamReader.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Util/EventedStreamReader.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/EventedStreamReader.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/EventedStreamStringReader.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/EventedStreamStringReader.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Util/EventedStreamStringReader.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/EventedStreamStringReader.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/LoggerFinder.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/LoggerFinder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Util/LoggerFinder.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/LoggerFinder.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/TaskTimeoutExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/TaskTimeoutExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Util/TaskTimeoutExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/TaskTimeoutExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/TcpPortFinder.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/TcpPortFinder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/Util/TcpPortFinder.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/TcpPortFinder.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices.Extensions/baseline.netcore.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices.Extensions/baseline.netcore.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/.gitignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/.gitignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/.gitignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/.gitignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/Content/Node/prerenderer.js b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Content/Node/prerenderer.js
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Content/Node/prerenderer.js
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Content/Node/prerenderer.js
diff --git a/src/Microsoft.AspNetCore.SpaServices/Content/Node/webpack-dev-middleware.js b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Content/Node/webpack-dev-middleware.js
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Content/Node/webpack-dev-middleware.js
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Content/Node/webpack-dev-middleware.js
diff --git a/src/Microsoft.AspNetCore.SpaServices/Microsoft.AspNetCore.SpaServices.csproj b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Microsoft.AspNetCore.SpaServices.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Microsoft.AspNetCore.SpaServices.csproj
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Microsoft.AspNetCore.SpaServices.csproj
diff --git a/src/Microsoft.AspNetCore.SpaServices/Prerendering/DefaultSpaPrerenderer.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/DefaultSpaPrerenderer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Prerendering/DefaultSpaPrerenderer.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/DefaultSpaPrerenderer.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Prerendering/ISpaPrerenderer.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/ISpaPrerenderer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Prerendering/ISpaPrerenderer.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/ISpaPrerenderer.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Prerendering/JavaScriptModuleExport.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/JavaScriptModuleExport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Prerendering/JavaScriptModuleExport.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/JavaScriptModuleExport.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderTagHelper.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderTagHelper.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderTagHelper.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderTagHelper.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Prerendering/Prerenderer.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/Prerenderer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Prerendering/Prerenderer.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/Prerenderer.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderingServiceCollectionExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderingServiceCollectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderingServiceCollectionExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderingServiceCollectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Prerendering/RenderToStringResult.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/RenderToStringResult.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Prerendering/RenderToStringResult.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Prerendering/RenderToStringResult.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/README.md b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/README.md
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/README.md
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/README.md
diff --git a/src/Microsoft.AspNetCore.SpaServices/Routing/SpaRouteConstraint.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Routing/SpaRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Routing/SpaRouteConstraint.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Routing/SpaRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Routing/SpaRouteExtensions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Routing/SpaRouteExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Routing/SpaRouteExtensions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Routing/SpaRouteExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/TypeScript/Prerenderer.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/TypeScript/Prerenderer.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/TypeScript/Prerenderer.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/TypeScript/Prerenderer.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/TypeScript/WebpackDevMiddleware.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/TypeScript/WebpackDevMiddleware.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/TypeScript/WebpackDevMiddleware.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/TypeScript/WebpackDevMiddleware.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/TypeScript/tsconfig.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/TypeScript/tsconfig.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/TypeScript/tsconfig.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/TypeScript/tsconfig.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/Webpack/ConditionalProxyMiddleware.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Webpack/ConditionalProxyMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Webpack/ConditionalProxyMiddleware.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Webpack/ConditionalProxyMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Webpack/ConditionalProxyMiddlewareOptions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Webpack/ConditionalProxyMiddlewareOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Webpack/ConditionalProxyMiddlewareOptions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Webpack/ConditionalProxyMiddlewareOptions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddleware.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddleware.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddlewareOptions.cs b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddlewareOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddlewareOptions.cs
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddlewareOptions.cs
diff --git a/src/Microsoft.AspNetCore.SpaServices/baseline.netcore.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/baseline.netcore.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/.gitignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/.gitignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/.gitignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/.gitignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/.npmignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/.npmignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/.npmignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/.npmignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/LICENSE.txt b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/LICENSE.txt
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/LICENSE.txt
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/LICENSE.txt
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/package.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/package.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/package.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/package.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/src/HttpWithStateTransfer.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/src/HttpWithStateTransfer.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/src/HttpWithStateTransfer.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/src/HttpWithStateTransfer.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/src/index.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/src/index.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/src/index.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/src/index.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/tsconfig.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/tsconfig.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/tsconfig.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-angular/tsconfig.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/.gitignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/.gitignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/.gitignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/.gitignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/.npmignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/.npmignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/.npmignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/.npmignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/LICENSE.txt b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/LICENSE.txt
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/LICENSE.txt
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/LICENSE.txt
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/README.md b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/README.md
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/README.md
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/README.md
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/package.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/package.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/package.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/package.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/Prerendering.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/Prerendering.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/Prerendering.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/Prerendering.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/PrerenderingInterfaces.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/PrerenderingInterfaces.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/PrerenderingInterfaces.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/PrerenderingInterfaces.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/index.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/index.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/index.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/src/index.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/tsconfig.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/tsconfig.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/tsconfig.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-prerendering/tsconfig.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/.gitignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/.gitignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/.gitignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/.gitignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/.npmignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/.npmignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/.npmignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/.npmignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/LICENSE.txt b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/LICENSE.txt
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/LICENSE.txt
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/LICENSE.txt
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/README.md b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/README.md
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/README.md
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/README.md
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/package.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/package.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/package.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/package.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/src/HotModuleReplacement.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/src/HotModuleReplacement.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/src/HotModuleReplacement.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/src/HotModuleReplacement.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/src/index.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/src/index.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/src/index.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/src/index.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/tsconfig.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/tsconfig.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/tsconfig.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack-react/tsconfig.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/.gitignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/.gitignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/.gitignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/.gitignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/.npmignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/.npmignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/.npmignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/.npmignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/LICENSE.txt b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/LICENSE.txt
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/LICENSE.txt
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/LICENSE.txt
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/README.md b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/README.md
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/README.md
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/README.md
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/package-lock.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/package-lock.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/package-lock.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/package-lock.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/package.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/package.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/package.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/package.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/LoadViaWebpack.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/LoadViaWebpack.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/LoadViaWebpack.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/LoadViaWebpack.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/RequireNewCopy.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/RequireNewCopy.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/RequireNewCopy.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/RequireNewCopy.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/WebpackDevMiddleware.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/WebpackDevMiddleware.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/WebpackDevMiddleware.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/WebpackDevMiddleware.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/WebpackTestPermissions.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/WebpackTestPermissions.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/WebpackTestPermissions.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/WebpackTestPermissions.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/index.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/index.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/index.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/index.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/memory-fs.d.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/memory-fs.d.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/memory-fs.d.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/memory-fs.d.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/require-from-string.d.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/require-from-string.d.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/require-from-string.d.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/require-from-string.d.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/webpack-node-externals.d.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/webpack-node-externals.d.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/webpack-node-externals.d.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/src/typings/webpack-node-externals.d.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/tsconfig.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/tsconfig.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/tsconfig.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/aspnet-webpack/tsconfig.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/.gitignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/.gitignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/.gitignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/.gitignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/.npmignore b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/.npmignore
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/.npmignore
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/.npmignore
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/LICENSE.txt b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/LICENSE.txt
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/LICENSE.txt
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/LICENSE.txt
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/README.md b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/README.md
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/README.md
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/README.md
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/package.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/package.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/package.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/package.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/domain-context.d.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/domain-context.d.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/domain-context.d.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/domain-context.d.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/fetch.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/fetch.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/fetch.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/fetch.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/index.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/index.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/index.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/index.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/main.ts b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/main.ts
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/main.ts
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/src/main.ts
diff --git a/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/tsconfig.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/tsconfig.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/npm/domain-task/tsconfig.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/npm/domain-task/tsconfig.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/package-lock.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/package-lock.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/package-lock.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/package-lock.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/package.json b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/package.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/package.json
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/package.json
diff --git a/src/Microsoft.AspNetCore.SpaServices/webpack.config.js b/src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/webpack.config.js
similarity index 100%
rename from src/Microsoft.AspNetCore.SpaServices/webpack.config.js
rename to src/JavaScriptServices/src/Microsoft.AspNetCore.SpaServices/webpack.config.js
diff --git a/templates/WhereHaveTheTemplatesGone.md b/src/JavaScriptServices/templates/WhereHaveTheTemplatesGone.md
similarity index 100%
rename from templates/WhereHaveTheTemplatesGone.md
rename to src/JavaScriptServices/templates/WhereHaveTheTemplatesGone.md
diff --git a/version.props b/src/JavaScriptServices/version.props
similarity index 100%
rename from version.props
rename to src/JavaScriptServices/version.props