update laptop config
This commit is contained in:
338 files changed
+45564
-122
No files matched your search
+70
@@ -0,0 +1,70 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
This script searches the components folder for DLLs that ship more than once.
|
||||
Such DLLs are candidates for de-duplication as documented at:
|
||||
https://dev.azure.com/devdiv/DevDiv/_git/vs-green?path=/server/src/SharedDependencies/README.md
|
||||
|
||||
.PARAMETER SkipInit
|
||||
Skip running the init script as a prerequisite to populate the components folder.
|
||||
#>
|
||||
|
||||
[CmdletBinding()]
|
||||
Param(
|
||||
[switch]$SkipInit
|
||||
)
|
||||
|
||||
if (!$SkipInit) {
|
||||
& $PSScriptRoot/../init.ps1
|
||||
}
|
||||
|
||||
$AllDlls = Get-ChildItem $PSScriptRoot/../components/*.dll -Recurse
|
||||
|
||||
# Build up a hashtable of all DLL paths, keyed by their name.
|
||||
$DllsByName = @{}
|
||||
foreach ($path in $AllDlls) {
|
||||
# Skip components that are not included in the vsix
|
||||
if ($path -match 'dependency-extensions|marketplace-extensions') {
|
||||
continue
|
||||
}
|
||||
|
||||
$dllName = Split-Path $path -Leaf
|
||||
|
||||
# If this is a satellite assembly, include its culture sub-path in the name.
|
||||
if ($dllName.EndsWith('.resources.dll', [StringComparison]::OrdinalIgnoreCase)) {
|
||||
$directory = Split-Path $path
|
||||
$culture = Split-Path $directory -Leaf
|
||||
$dllName = "$culture$dllName"
|
||||
}
|
||||
|
||||
$set = $DllsByName[$dllName]
|
||||
if (!$set) {
|
||||
$set = @()
|
||||
}
|
||||
$set += $path
|
||||
$DllsByName[$dllName] = $set
|
||||
}
|
||||
|
||||
$extraDllCount = 0
|
||||
$uniqueRedundantDllNames = 0
|
||||
foreach ($entry in $DllsByName.GetEnumerator()) {
|
||||
if ($entry.Value.Length -gt 1) {
|
||||
$extraDllCount += $entry.Value.Length - 1
|
||||
$uniqueRedundantDllNames += 1
|
||||
Write-Output $entry.Key
|
||||
foreach ($path in $entry.Value) {
|
||||
Write-Output " $(Split-Path $path)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($extraDllCount -gt 0) {
|
||||
Write-Output "A total of $extraDllCount redundant DLLs have been found across $uniqueRedundantDllNames unique names."
|
||||
} else {
|
||||
Write-Output "No redundant DLLs found."
|
||||
}
|
||||
|
||||
# Return an exit code indicating how many duplicate DLLs there are.
|
||||
# A non-zero result may therefore cause the build pipeline to fail,
|
||||
# ensuring we avoid regressions in this area.
|
||||
# TODO: Uncomment the next line when we're clean to lock in the improvements.
|
||||
#exit $extraDllCount
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Set environment variables in the environment.
|
||||
Azure Pipeline and CMD environments are considered.
|
||||
.PARAMETER Variables
|
||||
A hashtable of variables to be set.
|
||||
.PARAMETER PrependPath
|
||||
A set of paths to prepend to the PATH environment variable.
|
||||
.OUTPUTS
|
||||
A boolean indicating whether the environment variables can be expected to propagate to the caller's environment.
|
||||
.DESCRIPTION
|
||||
The CmdEnvScriptPath environment variable may be optionally set to a path to a cmd shell script to be created (or appended to if it already exists) that will set the environment variables in cmd.exe that are set within the PowerShell environment.
|
||||
This is used by init.cmd in order to reapply any new environment variables to the parent cmd.exe process that were set in the powershell child process.
|
||||
#>
|
||||
[CmdletBinding(SupportsShouldProcess=$true)]
|
||||
Param(
|
||||
[Parameter(Mandatory=$true, Position=1)]
|
||||
$Variables,
|
||||
[string[]]$PrependPath
|
||||
)
|
||||
|
||||
if ($Variables.Count -eq 0) {
|
||||
return $true
|
||||
}
|
||||
|
||||
$cmdInstructions = !$env:TF_BUILD -and !$env:GITHUB_ACTIONS -and !$env:CmdEnvScriptPath -and ($env:PS1UnderCmd -eq '1')
|
||||
if ($cmdInstructions) {
|
||||
Write-Warning "Environment variables have been set that will be lost because you're running under cmd.exe"
|
||||
Write-Host "Environment variables that must be set manually:" -ForegroundColor Blue
|
||||
} else {
|
||||
Write-Host "Environment variables set:" -ForegroundColor Blue
|
||||
Write-Host ($Variables | Out-String)
|
||||
if ($PrependPath) {
|
||||
Write-Host "Paths prepended to PATH: $PrependPath"
|
||||
}
|
||||
}
|
||||
|
||||
if ($env:TF_BUILD) {
|
||||
Write-Host "Azure Pipelines detected. Logging commands will be used to propagate environment variables and prepend path."
|
||||
}
|
||||
|
||||
if ($env:GITHUB_ACTIONS) {
|
||||
Write-Host "GitHub Actions detected. Logging commands will be used to propagate environment variables and prepend path."
|
||||
}
|
||||
|
||||
$CmdEnvScript = ''
|
||||
$Variables.GetEnumerator() |% {
|
||||
Set-Item -Path env:$($_.Key) -Value $_.Value
|
||||
|
||||
# If we're running in a cloud CI, set these environment variables so they propagate.
|
||||
if ($env:TF_BUILD) {
|
||||
Write-Host "##vso[task.setvariable variable=$($_.Key);]$($_.Value)"
|
||||
}
|
||||
if ($env:GITHUB_ACTIONS) {
|
||||
Add-Content -Path $env:GITHUB_ENV -Value "$($_.Key)=$($_.Value)"
|
||||
}
|
||||
|
||||
if ($cmdInstructions) {
|
||||
Write-Host "SET $($_.Key)=$($_.Value)"
|
||||
}
|
||||
|
||||
$CmdEnvScript += "SET $($_.Key)=$($_.Value)`r`n"
|
||||
}
|
||||
|
||||
$pathDelimiter = ';'
|
||||
if ($IsMacOS -or $IsLinux) {
|
||||
$pathDelimiter = ':'
|
||||
}
|
||||
|
||||
if ($PrependPath) {
|
||||
$PrependPath |% {
|
||||
$newPathValue = "$_$pathDelimiter$env:PATH"
|
||||
Set-Item -Path env:PATH -Value $newPathValue
|
||||
if ($cmdInstructions) {
|
||||
Write-Host "SET PATH=$newPathValue"
|
||||
}
|
||||
|
||||
if ($env:TF_BUILD) {
|
||||
Write-Host "##vso[task.prependpath]$_"
|
||||
}
|
||||
if ($env:GITHUB_ACTIONS) {
|
||||
Add-Content -Path $env:GITHUB_PATH -Value $_
|
||||
}
|
||||
|
||||
$CmdEnvScript += "SET PATH=$_$pathDelimiter%PATH%"
|
||||
}
|
||||
}
|
||||
|
||||
if ($env:CmdEnvScriptPath) {
|
||||
if (Test-Path $env:CmdEnvScriptPath) {
|
||||
$CmdEnvScript = (Get-Content -Path $env:CmdEnvScriptPath) + $CmdEnvScript
|
||||
}
|
||||
|
||||
Set-Content -Path $env:CmdEnvScriptPath -Value $CmdEnvScript
|
||||
}
|
||||
|
||||
return !$cmdInstructions
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* Builds the NativeAOT Node.js addon for local development.
|
||||
* Publishes the project and renames the output from .dll to .node
|
||||
* so that require() loads it as a native Node.js addon.
|
||||
*
|
||||
* Called automatically via the "build-native" npm script before webpack.
|
||||
*/
|
||||
const { execSync } = require('child_process');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const os = require('os');
|
||||
|
||||
if (os.platform() !== 'win32') {
|
||||
console.log('build-native: skipping (native addon is Windows-only)');
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
const rid = process.arch === 'arm64' ? 'win-arm64' : 'win-x64';
|
||||
const archDir = process.arch === 'arm64' ? 'win32-arm64' : 'win32-x64';
|
||||
const outDir = path.join(__dirname, '..', 'dist', 'native', archDir);
|
||||
const projectDir = path.join(__dirname, '..', 'src', 'native', 'NodeAddon');
|
||||
const nodeFile = path.join(outDir, 'NodeAddon.node');
|
||||
|
||||
// Check if rebuild is needed by comparing source timestamps to output
|
||||
if (fs.existsSync(nodeFile)) {
|
||||
const outputTime = fs.statSync(nodeFile).mtimeMs;
|
||||
const sourceDirs = [projectDir, path.join(__dirname, '..', 'src', 'native', 'shared')];
|
||||
let newest = 0;
|
||||
for (const dir of sourceDirs) {
|
||||
if (!fs.existsSync(dir)) continue;
|
||||
for (const f of fs.readdirSync(dir)) {
|
||||
if (f.endsWith('.cs') || f.endsWith('.csproj') || f.endsWith('.props')) {
|
||||
try { newest = Math.max(newest, fs.statSync(path.join(dir, f)).mtimeMs); } catch {}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (newest < outputTime) {
|
||||
console.log('build-native: NodeAddon is up to date');
|
||||
process.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`build-native: publishing NodeAddon (${rid})...`);
|
||||
execSync(`dotnet publish "${projectDir}" -c Release -r ${rid} -o "${outDir}" --nologo`, { stdio: 'inherit' });
|
||||
|
||||
// Rename .dll to .node
|
||||
const dll = path.join(outDir, 'NodeAddon.dll');
|
||||
if (fs.existsSync(dll)) {
|
||||
if (fs.existsSync(nodeFile)) fs.unlinkSync(nodeFile);
|
||||
fs.renameSync(dll, nodeFile);
|
||||
}
|
||||
|
||||
console.log(`build-native: done → ${outDir}`);
|
||||
+121
@@ -0,0 +1,121 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const fs = require('fs')
|
||||
|
||||
/**
|
||||
* Merges prerelease-specific settings into package.json for prerelease builds.
|
||||
* The checked-in package.json contains the release defaults, and this script only
|
||||
* applies overrides for prerelease builds to enable preview functionality.
|
||||
*
|
||||
* Supported branches:
|
||||
* - refs/heads/release: Uses original package.json release defaults (no merge)
|
||||
* - PRs targeting refs/heads/release: Uses original package.json release defaults (no merge)
|
||||
* - All other branches: Uses settings.prerelease.json overrides
|
||||
*
|
||||
* Usage: node merge-settings.js <branch-name> [pr-target-branch]
|
||||
*
|
||||
* Examples:
|
||||
* - node merge-settings.js refs/heads/main
|
||||
* - node merge-settings.js refs/heads/feature/my-feature refs/heads/release
|
||||
*/
|
||||
|
||||
function mergeSettings(branchName, prTargetBranch) {
|
||||
console.log(`Merging settings for branch: ${branchName}`)
|
||||
if (prTargetBranch) {
|
||||
console.log(`PR target branch: ${prTargetBranch}`)
|
||||
}
|
||||
|
||||
// Read the original package.json
|
||||
const packageJsonPath = 'package.json'
|
||||
if (!fs.existsSync(packageJsonPath)) {
|
||||
console.error('package.json not found')
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))
|
||||
|
||||
// Determine if this should be treated as a release build
|
||||
const isReleaseBuild = branchName === 'refs/heads/release' || prTargetBranch === 'refs/heads/release'
|
||||
|
||||
// Only apply overrides for prerelease builds (everything except release branch or PRs into release)
|
||||
let settingsFile
|
||||
if (!isReleaseBuild) {
|
||||
settingsFile = 'settings.prerelease.json'
|
||||
} else {
|
||||
console.log(`Branch ${branchName}${prTargetBranch ? ` (PR target: ${prTargetBranch})` : ''} uses release defaults from package.json`)
|
||||
return // No merge needed - use package.json release defaults
|
||||
}
|
||||
|
||||
console.log(`Using settings file: ${settingsFile}`)
|
||||
|
||||
// Read the settings file
|
||||
if (!fs.existsSync(settingsFile)) {
|
||||
console.warn(`Settings file ${settingsFile} not found, skipping merge`)
|
||||
return
|
||||
}
|
||||
|
||||
const branchSettings = JSON.parse(fs.readFileSync(settingsFile, 'utf8'))
|
||||
|
||||
// Deep merge the settings
|
||||
mergeDeep(packageJson, branchSettings)
|
||||
|
||||
// Write the merged package.json back
|
||||
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, '\t'), 'utf8')
|
||||
console.log(`Successfully merged settings from ${settingsFile} into package.json`)
|
||||
}
|
||||
|
||||
/**
|
||||
* Deep merge utility function that handles arrays properly for VS Code package.json structure
|
||||
*/
|
||||
function mergeDeep(target, source) {
|
||||
for (const key in source) {
|
||||
// Delete a setting in pre-release
|
||||
if (source[key] === '__delete') {
|
||||
console.log(`Deleting property: ${key}`)
|
||||
delete target[key]
|
||||
continue
|
||||
}
|
||||
|
||||
if (source[key] && typeof source[key] === 'object') {
|
||||
if (Array.isArray(source[key])) {
|
||||
// For arrays like configuration[], we need to merge elements by index
|
||||
if (!Array.isArray(target[key])) {
|
||||
target[key] = []
|
||||
}
|
||||
source[key].forEach((sourceItem, index) => {
|
||||
if (!target[key][index]) {
|
||||
target[key][index] = {}
|
||||
}
|
||||
// Only merge if sourceItem is a object, otherwise replace (e.g. tags[])
|
||||
if (sourceItem && typeof sourceItem === 'object' && !Array.isArray(sourceItem)) {
|
||||
if (!target[key][index] || typeof target[key][index] !== 'object' || Array.isArray(target[key][index])) {
|
||||
target[key][index] = {}
|
||||
}
|
||||
mergeDeep(target[key][index], sourceItem)
|
||||
} else {
|
||||
target[key][index] = sourceItem
|
||||
}
|
||||
})
|
||||
} else {
|
||||
// For objects, do regular deep merge
|
||||
if (!target[key]) {
|
||||
target[key] = {}
|
||||
}
|
||||
mergeDeep(target[key], source[key])
|
||||
}
|
||||
} else {
|
||||
target[key] = source[key]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Get branch name and optional PR target branch from command line arguments
|
||||
const branchName = process.argv[2]
|
||||
const prTargetBranch = process.argv[3] // Optional: PR target branch
|
||||
|
||||
if (!branchName) {
|
||||
console.error('Usage: node merge-settings.js <branch-name> [pr-target-branch]')
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
mergeSettings(branchName, prTargetBranch)
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<RepoRoot>$(MSBuildThisFileDirectory)../../../</RepoRoot>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# This file contains command-line options that MSBuild will process as part of
|
||||
# every build, unless the "/noautoresponse" switch is specified.
|
||||
#
|
||||
# MSBuild processes the options in this file first, before processing the
|
||||
# options on the command line. As a result, options on the command line can
|
||||
# override the options in this file. However, depending on the options being
|
||||
# set, the overriding can also result in conflicts.
|
||||
#
|
||||
# NOTE: The "/noautoresponse" switch cannot be specified in this file, nor in
|
||||
# any response file that is referenced by this file.
|
||||
#------------------------------------------------------------------------------
|
||||
/nr:false
|
||||
/m
|
||||
/verbosity:minimal
|
||||
/clp:Summary;ForceNoAlign
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
<Project>
|
||||
<!-- https://learn.microsoft.com/nuget/consume-packages/central-package-management -->
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<GlobalPackageReference Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="1.0.0" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
33> 22.22.42.35 Adding D:\a\_work\1\s\extension\dist\491.extension.js cert (200)
|
||||
33> 22.22.42.35 Adding D:\a\_work\1\s\extension\dist\522.extension.js cert (200)
|
||||
33> 22.22.42.35 Adding D:\a\_work\1\s\extension\dist\754.extension.js cert (200)
|
||||
33> 22.22.42.35 Adding D:\a\_work\1\s\extension\dist\extension.js cert (200)
|
||||
33> 22.22.42.35 Submitting files to be signed with certs (200),(LogID: 44fc0b0e).
|
||||
33> 22.22.42.48 Finished submitting files to be signed. (200),(LogID: 44fc0b0e)
|
||||
33> 22.22.42.48 All files in (200),(LogID: 44fc0b0e) successfully submitted.
|
||||
33> 22.22.42.48 Submitted Files :
|
||||
extension.js f6b5ca54-4ce1-40db-90a2-c0777a8bc012
|
||||
491.extension.js f65b518f-6b10-4cd7-a5c7-5649fb1253a9
|
||||
754.extension.js 799eb8ec-5d89-48fb-b3c6-539d8176c1c6
|
||||
522.extension.js 4764dc83-a1d4-478d-9a84-adab83dbf50c
|
||||
|
||||
33> 22.22.42.48 Checking the status for some signed files. (200) (LogID: 998c1133)
|
||||
33> 22.22.42.51 OperationId: f65b518f-6b10-4cd7-a5c7-5649fb1253a9 - Inprogress
|
||||
33> 22.22.42.51 OperationId: 799eb8ec-5d89-48fb-b3c6-539d8176c1c6 - Inprogress
|
||||
33> 22.22.42.51 OperationId: 4764dc83-a1d4-478d-9a84-adab83dbf50c - Inprogress
|
||||
33> 22.22.42.51 OperationId: f6b5ca54-4ce1-40db-90a2-c0777a8bc012 - Inprogress
|
||||
33> 22.22.42.51 Waiting 00:00:15 second(s) before retrying status...
|
||||
33> 22.22.43.06 Checking the status for some signed files. (200) (LogID: 4bc2559e)
|
||||
33> 22.22.43.09 OperationId: 799eb8ec-5d89-48fb-b3c6-539d8176c1c6 - Inprogress
|
||||
33> 22.22.43.09 OperationId: f65b518f-6b10-4cd7-a5c7-5649fb1253a9 - Inprogress
|
||||
33> 22.22.43.09 OperationId: f6b5ca54-4ce1-40db-90a2-c0777a8bc012 - Inprogress
|
||||
33> 22.22.43.09 OperationId: 4764dc83-a1d4-478d-9a84-adab83dbf50c - Inprogress
|
||||
33> 22.22.43.09 Waiting 00:00:15 second(s) before retrying status...
|
||||
33> 22.22.43.24 Checking the status for some signed files. (200) (LogID: 9e9ff44f)
|
||||
33> 22.22.43.26 OperationId: 799eb8ec-5d89-48fb-b3c6-539d8176c1c6 - Inprogress
|
||||
33> 22.22.43.26 OperationId: 4764dc83-a1d4-478d-9a84-adab83dbf50c - Inprogress
|
||||
33> 22.22.43.26 OperationId: f6b5ca54-4ce1-40db-90a2-c0777a8bc012 - Inprogress
|
||||
33> 22.22.43.26 OperationId: f65b518f-6b10-4cd7-a5c7-5649fb1253a9 - Inprogress
|
||||
33> 22.22.43.26 Waiting 00:00:15 second(s) before retrying status...
|
||||
33> 22.22.43.41 Checking the status for some signed files. (200) (LogID: 2fb4de17)
|
||||
33> 22.22.43.44 OperationId: f65b518f-6b10-4cd7-a5c7-5649fb1253a9 - Inprogress
|
||||
33> 22.22.43.44 OperationId: 4764dc83-a1d4-478d-9a84-adab83dbf50c - Inprogress
|
||||
33> 22.22.43.44 OperationId: 799eb8ec-5d89-48fb-b3c6-539d8176c1c6 - Inprogress
|
||||
33> 22.22.43.44 OperationId: f6b5ca54-4ce1-40db-90a2-c0777a8bc012 - Inprogress
|
||||
33> 22.22.43.44 Waiting 00:00:15 second(s) before retrying status...
|
||||
33> 22.22.43.59 Checking the status for some signed files. (200) (LogID: ea4baafe)
|
||||
33> 22.22.44.02 OperationId: f65b518f-6b10-4cd7-a5c7-5649fb1253a9 - Inprogress
|
||||
33> 22.22.44.02 OperationId: 4764dc83-a1d4-478d-9a84-adab83dbf50c - Inprogress
|
||||
33> 22.22.44.02 OperationId: 799eb8ec-5d89-48fb-b3c6-539d8176c1c6 - Inprogress
|
||||
33> 22.22.44.02 Adding file D:\a\_work\1\s\extension\dist\extension.js for downloading...
|
||||
37> 22.22.44.02 Downloading file D:\a\_work\1\s\extension\dist\extension.js...
|
||||
37> 22.22.44.03 Successfully downloaded file D:\a\_work\1\s\extension\dist\extension.js from ESRP.
|
||||
33> 22.22.44.06 Waiting 00:00:15 second(s) before retrying status...
|
||||
33> 22.22.44.21 Checking the status for some signed files. (200) (LogID: 7a339d8b)
|
||||
33> 22.22.44.24 OperationId: f65b518f-6b10-4cd7-a5c7-5649fb1253a9 - Inprogress
|
||||
33> 22.22.44.24 OperationId: 4764dc83-a1d4-478d-9a84-adab83dbf50c - Inprogress
|
||||
33> 22.22.44.24 Adding file D:\a\_work\1\s\extension\dist\754.extension.js for downloading...
|
||||
39> 22.22.44.24 Downloading file D:\a\_work\1\s\extension\dist\754.extension.js...
|
||||
39> 22.22.44.24 Successfully downloaded file D:\a\_work\1\s\extension\dist\754.extension.js from ESRP.
|
||||
33> 22.22.44.27 Waiting 00:00:15 second(s) before retrying status...
|
||||
33> 22.22.44.42 Checking the status for some signed files. (200) (LogID: 66a94033)
|
||||
33> 22.22.44.44 OperationId: 4764dc83-a1d4-478d-9a84-adab83dbf50c - Inprogress
|
||||
33> 22.22.44.44 Adding file D:\a\_work\1\s\extension\dist\491.extension.js for downloading...
|
||||
41> 22.22.44.44 Downloading file D:\a\_work\1\s\extension\dist\491.extension.js...
|
||||
41> 22.22.44.45 Successfully downloaded file D:\a\_work\1\s\extension\dist\491.extension.js from ESRP.
|
||||
33> 22.22.44.46 Waiting 00:00:15 second(s) before retrying status...
|
||||
33> 22.22.45.01 Checking the status for some signed files. (200) (LogID: 22b844c1)
|
||||
33> 22.22.45.04 Adding file D:\a\_work\1\s\extension\dist\522.extension.js for downloading...
|
||||
44> 22.22.45.04 Downloading file D:\a\_work\1\s\extension\dist\522.extension.js...
|
||||
44> 22.22.45.05 Successfully downloaded file D:\a\_work\1\s\extension\dist\522.extension.js from ESRP.
|
||||
31> 22.22.45.07 Submitted all the files.
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
31> 22.22.46.36 Adding D:\a\_work\1\s\extension\dist\491.extension.js cert (200)
|
||||
31> 22.22.46.36 Adding D:\a\_work\1\s\extension\dist\522.extension.js cert (200)
|
||||
31> 22.22.46.36 Adding D:\a\_work\1\s\extension\dist\754.extension.js cert (200)
|
||||
31> 22.22.46.36 Adding D:\a\_work\1\s\extension\dist\extension.js cert (200)
|
||||
31> 22.22.46.36 Submitting files to be signed with certs (200),(LogID: 0159ecaa).
|
||||
31> 22.22.46.40 Finished submitting files to be signed. (200),(LogID: 0159ecaa)
|
||||
31> 22.22.46.40 All files in (200),(LogID: 0159ecaa) successfully submitted.
|
||||
31> 22.22.46.40 Submitted Files :
|
||||
754.extension.js bc9d995c-314b-484b-b1cd-2660903b77f2
|
||||
491.extension.js 1d4b4ee8-ca33-43d4-b944-44cf60c3d93d
|
||||
522.extension.js ca3b3d10-629e-496f-b294-f5f576a9e1f2
|
||||
extension.js 50e95d81-8773-4c77-a012-b1f6ddc46014
|
||||
|
||||
31> 22.22.46.40 Checking the status for some signed files. (200) (LogID: 17f2ee9f)
|
||||
31> 22.22.46.43 OperationId: 1d4b4ee8-ca33-43d4-b944-44cf60c3d93d - Inprogress
|
||||
31> 22.22.46.43 OperationId: bc9d995c-314b-484b-b1cd-2660903b77f2 - Inprogress
|
||||
31> 22.22.46.43 OperationId: 50e95d81-8773-4c77-a012-b1f6ddc46014 - Inprogress
|
||||
31> 22.22.46.43 OperationId: ca3b3d10-629e-496f-b294-f5f576a9e1f2 - Inprogress
|
||||
31> 22.22.46.43 Waiting 00:00:15 second(s) before retrying status...
|
||||
31> 22.22.46.58 Checking the status for some signed files. (200) (LogID: 0e106925)
|
||||
31> 22.22.47.00 OperationId: ca3b3d10-629e-496f-b294-f5f576a9e1f2 - Inprogress
|
||||
31> 22.22.47.00 Adding file D:\a\_work\1\s\extension\dist\754.extension.js for downloading...
|
||||
31> 22.22.47.00 Adding file D:\a\_work\1\s\extension\dist\extension.js for downloading...
|
||||
31> 22.22.47.00 Adding file D:\a\_work\1\s\extension\dist\491.extension.js for downloading...
|
||||
33> 22.22.47.00 Downloading file D:\a\_work\1\s\extension\dist\754.extension.js...
|
||||
35> 22.22.47.00 Downloading file D:\a\_work\1\s\extension\dist\491.extension.js...
|
||||
34> 22.22.47.00 Downloading file D:\a\_work\1\s\extension\dist\extension.js...
|
||||
35> 22.22.47.01 Successfully downloaded file D:\a\_work\1\s\extension\dist\491.extension.js from ESRP.
|
||||
33> 22.22.47.01 Successfully downloaded file D:\a\_work\1\s\extension\dist\754.extension.js from ESRP.
|
||||
34> 22.22.47.01 Successfully downloaded file D:\a\_work\1\s\extension\dist\extension.js from ESRP.
|
||||
31> 22.22.47.02 Waiting 00:00:15 second(s) before retrying status...
|
||||
31> 22.22.47.17 Checking the status for some signed files. (200) (LogID: 9b354416)
|
||||
31> 22.22.47.20 OperationId: ca3b3d10-629e-496f-b294-f5f576a9e1f2 - Inprogress
|
||||
31> 22.22.47.20 Waiting 00:00:15 second(s) before retrying status...
|
||||
31> 22.22.47.35 Checking the status for some signed files. (200) (LogID: 2117cd1a)
|
||||
31> 22.22.47.38 Adding file D:\a\_work\1\s\extension\dist\522.extension.js for downloading...
|
||||
14> 22.22.47.38 Downloading file D:\a\_work\1\s\extension\dist\522.extension.js...
|
||||
14> 22.22.47.38 Successfully downloaded file D:\a\_work\1\s\extension\dist\522.extension.js from ESRP.
|
||||
29> 22.22.47.40 Submitted all the files.
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
31> 22.22.48.50 Adding D:\a\_work\1\s\extension\dist\491.extension.js cert (200)
|
||||
31> 22.22.48.50 Adding D:\a\_work\1\s\extension\dist\522.extension.js cert (200)
|
||||
31> 22.22.48.50 Adding D:\a\_work\1\s\extension\dist\754.extension.js cert (200)
|
||||
31> 22.22.48.50 Adding D:\a\_work\1\s\extension\dist\extension.js cert (200)
|
||||
31> 22.22.48.50 Submitting files to be signed with certs (200),(LogID: 9aa8f2ba).
|
||||
31> 22.22.48.55 Finished submitting files to be signed. (200),(LogID: 9aa8f2ba)
|
||||
31> 22.22.48.55 All files in (200),(LogID: 9aa8f2ba) successfully submitted.
|
||||
31> 22.22.48.55 Submitted Files :
|
||||
491.extension.js bdefc910-8961-4756-b75f-baf4cc6c68f8
|
||||
754.extension.js ed606447-e753-40c6-8e4c-5beea3b58929
|
||||
522.extension.js 36eea8c3-8638-4903-ae98-dfc8e7446fd7
|
||||
extension.js cb7a31f9-15e8-4a75-bad3-0ce7250fd714
|
||||
|
||||
31> 22.22.48.55 Checking the status for some signed files. (200) (LogID: 0ce73431)
|
||||
31> 22.22.48.58 OperationId: 36eea8c3-8638-4903-ae98-dfc8e7446fd7 - Inprogress
|
||||
31> 22.22.48.58 OperationId: cb7a31f9-15e8-4a75-bad3-0ce7250fd714 - Inprogress
|
||||
31> 22.22.48.58 OperationId: bdefc910-8961-4756-b75f-baf4cc6c68f8 - Inprogress
|
||||
31> 22.22.48.58 OperationId: ed606447-e753-40c6-8e4c-5beea3b58929 - Inprogress
|
||||
31> 22.22.48.58 Waiting 00:00:15 second(s) before retrying status...
|
||||
31> 22.22.49.13 Checking the status for some signed files. (200) (LogID: 6fcef6a9)
|
||||
31> 22.22.49.15 OperationId: cb7a31f9-15e8-4a75-bad3-0ce7250fd714 - Inprogress
|
||||
31> 22.22.49.15 OperationId: ed606447-e753-40c6-8e4c-5beea3b58929 - Inprogress
|
||||
31> 22.22.49.15 Adding file D:\a\_work\1\s\extension\dist\491.extension.js for downloading...
|
||||
31> 22.22.49.15 Adding file D:\a\_work\1\s\extension\dist\522.extension.js for downloading...
|
||||
33> 22.22.49.15 Downloading file D:\a\_work\1\s\extension\dist\491.extension.js...
|
||||
34> 22.22.49.15 Downloading file D:\a\_work\1\s\extension\dist\522.extension.js...
|
||||
34> 22.22.49.16 Successfully downloaded file D:\a\_work\1\s\extension\dist\522.extension.js from ESRP.
|
||||
33> 22.22.49.16 Successfully downloaded file D:\a\_work\1\s\extension\dist\491.extension.js from ESRP.
|
||||
31> 22.22.49.18 Waiting 00:00:15 second(s) before retrying status...
|
||||
31> 22.22.49.33 Checking the status for some signed files. (200) (LogID: 5283e809)
|
||||
31> 22.22.49.36 Adding file D:\a\_work\1\s\extension\dist\extension.js for downloading...
|
||||
31> 22.22.49.36 Adding file D:\a\_work\1\s\extension\dist\754.extension.js for downloading...
|
||||
36> 22.22.49.36 Downloading file D:\a\_work\1\s\extension\dist\extension.js...
|
||||
34> 22.22.49.36 Downloading file D:\a\_work\1\s\extension\dist\754.extension.js...
|
||||
34> 22.22.49.37 Successfully downloaded file D:\a\_work\1\s\extension\dist\754.extension.js from ESRP.
|
||||
36> 22.22.49.37 Successfully downloaded file D:\a\_work\1\s\extension\dist\extension.js from ESRP.
|
||||
29> 22.22.49.40 Submitted all the files.
|
||||
BIN
Binary file not shown.
+114
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"version": 3,
|
||||
"targets": {
|
||||
".NETStandard,Version=v2.0": {
|
||||
"Microsoft.VisualStudioEng.MicroBuild.Core/1.0.0": {
|
||||
"type": "package",
|
||||
"build": {
|
||||
"build/Microsoft.VisualStudioEng.MicroBuild.Core.props": {},
|
||||
"build/Microsoft.VisualStudioEng.MicroBuild.Core.targets": {}
|
||||
},
|
||||
"buildMultiTargeting": {
|
||||
"buildCrossTargeting/Microsoft.VisualStudioEng.MicroBuild.Core.props": {},
|
||||
"buildCrossTargeting/Microsoft.VisualStudioEng.MicroBuild.Core.targets": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"Microsoft.VisualStudioEng.MicroBuild.Core/1.0.0": {
|
||||
"sha512": "CqFQS0NJe9NhkGGv3z5/PtB8iExlDCiIGrx7DbtrmEOdNDJRilzLug3bU2q3tMYL2XVFB9eeOyA3BDZ0/vfx2A==",
|
||||
"type": "package",
|
||||
"path": "microsoft.visualstudioeng.microbuild.core/1.0.0",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"build/MicroBuild.Plugin.props",
|
||||
"build/Microsoft.VisualStudioEng.MicroBuild.Core.props",
|
||||
"build/Microsoft.VisualStudioEng.MicroBuild.Core.targets",
|
||||
"buildCrossTargeting/Microsoft.VisualStudioEng.MicroBuild.Core.props",
|
||||
"buildCrossTargeting/Microsoft.VisualStudioEng.MicroBuild.Core.targets",
|
||||
"microsoft.visualstudioeng.microbuild.core.1.0.0.nupkg.sha512",
|
||||
"microsoft.visualstudioeng.microbuild.core.nuspec"
|
||||
]
|
||||
}
|
||||
},
|
||||
"projectFileDependencyGroups": {
|
||||
".NETStandard,Version=v2.0": [
|
||||
"Microsoft.VisualStudioEng.MicroBuild.Core >= 1.0.0"
|
||||
]
|
||||
},
|
||||
"packageFolders": {
|
||||
"D:\\a\\_work\\_temp\\.nuget\\packages\\": {},
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "D:\\a\\_work\\1\\s\\extension\\tools\\msbuild\\signJs\\signJs.proj",
|
||||
"projectName": "signJs",
|
||||
"projectPath": "D:\\a\\_work\\1\\s\\extension\\tools\\msbuild\\signJs\\signJs.proj",
|
||||
"packagesPath": "D:\\a\\_work\\_temp\\.nuget\\packages\\",
|
||||
"outputPath": "D:\\a\\_work\\1\\s\\extension\\tools\\msbuild\\signJs\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"centralPackageVersionsManagementEnabled": true,
|
||||
"CentralPackageTransitivePinningEnabled": true,
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"D:\\a\\_work\\1\\s\\NuGet.Config",
|
||||
"C:\\Users\\cloudtest\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"netstandard2.0"
|
||||
],
|
||||
"sources": {
|
||||
"https://pkgs.dev.azure.com/devdiv/DevDiv/_packaging/vs-green/nuget/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard2.0": {
|
||||
"targetAlias": "netstandard2.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "10.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard2.0": {
|
||||
"targetAlias": "netstandard2.0",
|
||||
"dependencies": {
|
||||
"Microsoft.VisualStudioEng.MicroBuild.Core": {
|
||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers",
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[1.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
}
|
||||
},
|
||||
"centralPackageVersions": {
|
||||
"Microsoft.VisualStudioEng.MicroBuild.Core": "1.0.0"
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"runtimeIdentifierGraphPath": "C:\\ToolCache\\dotnet\\sdk\\10.0.108\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "hfYchbfrVaY=",
|
||||
"success": true,
|
||||
"projectFilePath": "D:\\a\\_work\\1\\s\\extension\\tools\\msbuild\\signJs\\signJs.proj",
|
||||
"expectedPackageFiles": [
|
||||
"D:\\a\\_work\\_temp\\.nuget\\packages\\microsoft.visualstudioeng.microbuild.core\\1.0.0\\microsoft.visualstudioeng.microbuild.core.1.0.0.nupkg.sha512"
|
||||
],
|
||||
"logs": []
|
||||
}
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"D:\\a\\_work\\1\\s\\extension\\tools\\msbuild\\signJs\\signJs.proj": {}
|
||||
},
|
||||
"projects": {
|
||||
"D:\\a\\_work\\1\\s\\extension\\tools\\msbuild\\signJs\\signJs.proj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "D:\\a\\_work\\1\\s\\extension\\tools\\msbuild\\signJs\\signJs.proj",
|
||||
"projectName": "signJs",
|
||||
"projectPath": "D:\\a\\_work\\1\\s\\extension\\tools\\msbuild\\signJs\\signJs.proj",
|
||||
"packagesPath": "D:\\a\\_work\\_temp\\.nuget\\packages\\",
|
||||
"outputPath": "D:\\a\\_work\\1\\s\\extension\\tools\\msbuild\\signJs\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"centralPackageVersionsManagementEnabled": true,
|
||||
"CentralPackageTransitivePinningEnabled": true,
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"D:\\a\\_work\\1\\s\\NuGet.Config",
|
||||
"C:\\Users\\cloudtest\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"netstandard2.0"
|
||||
],
|
||||
"sources": {
|
||||
"https://pkgs.dev.azure.com/devdiv/DevDiv/_packaging/vs-green/nuget/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard2.0": {
|
||||
"targetAlias": "netstandard2.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "10.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard2.0": {
|
||||
"targetAlias": "netstandard2.0",
|
||||
"dependencies": {
|
||||
"Microsoft.VisualStudioEng.MicroBuild.Core": {
|
||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers",
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[1.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
}
|
||||
},
|
||||
"centralPackageVersions": {
|
||||
"Microsoft.VisualStudioEng.MicroBuild.Core": "1.0.0"
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"runtimeIdentifierGraphPath": "C:\\ToolCache\\dotnet\\sdk\\10.0.108\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">D:\a\_work\_temp\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">D:\a\_work\_temp\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="D:\a\_work\_temp\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
</ItemGroup>
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.visualstudioeng.microbuild.core\1.0.0\build\Microsoft.VisualStudioEng.MicroBuild.Core.props" Condition="Exists('$(NuGetPackageRoot)microsoft.visualstudioeng.microbuild.core\1.0.0\build\Microsoft.VisualStudioEng.MicroBuild.Core.props')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.visualstudioeng.microbuild.core\1.0.0\build\Microsoft.VisualStudioEng.MicroBuild.Core.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.visualstudioeng.microbuild.core\1.0.0\build\Microsoft.VisualStudioEng.MicroBuild.Core.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
<Project Sdk="Microsoft.Build.NoTargets">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<GenerateAssemblyVersionInfo>false</GenerateAssemblyVersionInfo>
|
||||
<EnableDefaultSignFiles>false</EnableDefaultSignFiles>
|
||||
<MicroBuild_DoNotStrongNameSign>true</MicroBuild_DoNotStrongNameSign>
|
||||
<IsPackable>false</IsPackable>
|
||||
<OutDir>$(RepoRoot)extension\dist\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<FilesToSign Include="$(OutDir)*.js">
|
||||
<Authenticode>MicrosoftSHA2</Authenticode>
|
||||
</FilesToSign>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
<Project Sdk="Microsoft.Build.NoTargets">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<GenerateAssemblyVersionInfo>false</GenerateAssemblyVersionInfo>
|
||||
<EnableDefaultSignFiles>false</EnableDefaultSignFiles>
|
||||
<MicroBuild_DoNotStrongNameSign>true</MicroBuild_DoNotStrongNameSign>
|
||||
<IsPackable>false</IsPackable>
|
||||
<OutDir>$(RepoRoot)package\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<FilesToSign Include="$(OutDir)*.signature.p7s">
|
||||
<Authenticode>VSCodePublisher</Authenticode>
|
||||
</FilesToSign>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* Temporary Windows compatibility patch for Fantasticon.
|
||||
*
|
||||
* Context: https://github.com/tancredi/fantasticon/issues/470
|
||||
*
|
||||
* Fantasticon 4.x builds the SVG discovery pattern internally using `path.join`
|
||||
* and then passes that pattern into `glob`. On Windows, `path.join` emits
|
||||
* backslashes, but `glob` does not interpret backslashes as path separators —
|
||||
* they are treated as escape characters. This causes "No SVGs found" errors
|
||||
* even though the SVG files exist on disk.
|
||||
*
|
||||
* This script patches the installed Fantasticon package on Windows to normalize
|
||||
* the generated glob path to forward slashes. It is a no-op on macOS/Linux.
|
||||
*
|
||||
* Based on: https://github.com/microsoft/vscode-codicons/pull/457
|
||||
*/
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
if (process.platform !== 'win32') {
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
const targetFiles = [
|
||||
path.resolve(__dirname, '..', 'node_modules', 'fantasticon', 'dist', 'index.cjs'),
|
||||
path.resolve(__dirname, '..', 'node_modules', 'fantasticon', 'dist', 'cli', 'index.cjs')
|
||||
];
|
||||
|
||||
const replacementSuffix = ".replace(/\\\\/g, '/')";
|
||||
const targetSnippet = '`**/*.${ASSETS_EXTENSION}`';
|
||||
let patchedFileCount = 0;
|
||||
let alreadyPatchedCount = 0;
|
||||
|
||||
for (const targetFile of targetFiles) {
|
||||
if (!fs.existsSync(targetFile)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const originalContent = fs.readFileSync(targetFile, 'utf8');
|
||||
const patchedContent = originalContent
|
||||
.split('\n')
|
||||
.map((line) => {
|
||||
if (!line.includes('const globPath = ') || !line.includes(targetSnippet) || line.includes(replacementSuffix)) {
|
||||
return line;
|
||||
}
|
||||
|
||||
return line.replace(';', `${replacementSuffix};`);
|
||||
})
|
||||
.join('\n');
|
||||
|
||||
if (patchedContent !== originalContent) {
|
||||
fs.writeFileSync(targetFile, patchedContent, 'utf8');
|
||||
patchedFileCount += 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (originalContent.includes(replacementSuffix)) {
|
||||
alreadyPatchedCount += 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (patchedFileCount === 0 && alreadyPatchedCount === 0) {
|
||||
console.error('patch-fantasticon: expected globPath pattern not found in installed Fantasticon files.');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (patchedFileCount > 0) {
|
||||
console.log(`patch-fantasticon: patched ${patchedFileCount} file(s) for Windows glob compatibility.`);
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
// Runs integration tests, with an optional --skip-loc flag to skip the
|
||||
// localization step (useful in CI where loc has already been built).
|
||||
//
|
||||
// Usage:
|
||||
// node tools/run-integration-tests.js [--skip-loc] [--suite perf|experimental] [-- ...args]
|
||||
//
|
||||
// Without --suite, runs the functional test suite by default.
|
||||
|
||||
const { execSync } = require('child_process')
|
||||
|
||||
const args = process.argv.slice(2)
|
||||
|
||||
const skipLoc = args.includes('--skip-loc')
|
||||
const passthrough = []
|
||||
|
||||
let suite = 'functional'
|
||||
for (let i = 0; i < args.length; i++) {
|
||||
if (args[i] === '--skip-loc') continue
|
||||
if (args[i] === '--suite' && i + 1 < args.length) {
|
||||
suite = args[++i]
|
||||
continue
|
||||
}
|
||||
if (args[i] === '--') {
|
||||
passthrough.push(...args.slice(i + 1))
|
||||
break
|
||||
}
|
||||
passthrough.push(args[i])
|
||||
}
|
||||
|
||||
const suiteScripts = {
|
||||
functional: './out/test/integration/runTestFunctionalSuite.js',
|
||||
perf: './out/test/integration/runTestPerformanceSuite.js',
|
||||
experimental: './out/test/integration/runExperimentalTestSuite.js',
|
||||
}
|
||||
|
||||
const script = suiteScripts[suite]
|
||||
if (!script) {
|
||||
console.error(`Unknown suite: ${suite}. Expected one of: ${Object.keys(suiteScripts).join(', ')}`)
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
function run(cmd) {
|
||||
console.log(`> ${cmd}`)
|
||||
execSync(cmd, { stdio: 'inherit' })
|
||||
}
|
||||
|
||||
if (!skipLoc) {
|
||||
// Suppress verbose per-language "Message file not found" warnings during test runs.
|
||||
// These are expected when translation files haven't been produced yet.
|
||||
process.env.SUPPRESS_LOC_WARNINGS = '1'
|
||||
run('yarn run localize')
|
||||
}
|
||||
|
||||
const extra = passthrough.length > 0 ? ' ' + passthrough.join(' ') : ''
|
||||
run(`node ${script}${extra}`)
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// No-op stub for ttf2woff2.
|
||||
// The extension only generates WOFF fonts (not WOFF2), so the native
|
||||
// ttf2woff2 module is never used. This stub replaces the real package
|
||||
// to avoid requiring node-gyp, Python, and C++ build tools.
|
||||
//
|
||||
// If WOFF2 support is ever needed, remove the "ttf2woff2" resolution
|
||||
// override from the root package.json.
|
||||
|
||||
const { Transform } = require('stream');
|
||||
|
||||
module.exports = function ttf2woff2(opts) {
|
||||
return new Transform({
|
||||
transform(chunk, encoding, callback) {
|
||||
callback(new Error(
|
||||
'ttf2woff2 is stubbed out. The extension only generates WOFF fonts. ' +
|
||||
'If you need WOFF2, remove the ttf2woff2 resolution override from package.json.'
|
||||
));
|
||||
}
|
||||
});
|
||||
};
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "ttf2woff2",
|
||||
"version": "8.0.1",
|
||||
"description": "No-op stub. The extension only generates WOFF (not WOFF2) fonts, so this native module is unnecessary. This stub prevents node-gyp/Python/C++ from being required during yarn install.",
|
||||
"main": "index.js"
|
||||
}
|
||||
Reference in new issue
Block a user