ls *.js -Recurse | foreach{ move-item $_ ($_.FullName.TrimEnd("js") + "ts") }
install grunt-typescript (There are other TypeScript packages out there but I tried this one and it worked)
npm install grunt-typescript --save-dev
var recursivelyOrderKeys = function(unordered) { | |
// If it's an array - recursively order any | |
// dictionary items within the array | |
if (Array.isArray(unordered)) { | |
unordered.forEach(function (item, index) { | |
unordered[index] = recursivelyOrderKeys(item); | |
}); | |
return unordered; | |
} |
function Get-Last-NuGet-Version($nuGetPackageId) { | |
$feeedUrl = "http://packages.nuget.org/v1/FeedService.svc/Packages()?`$filter=Id%20eq%20'$nuGetPackageId'" | |
$webClient = new-object System.Net.WebClient | |
$queryResults = [xml]($webClient.DownloadString($feeedUrl)) | |
$version = $queryResults.feed.entry | %{ $_.properties.version } | sort-object | select -last 1 | |
if(!$version){ | |
$version = "0.0" | |
} | |
$version | |
} |
#!/usr/bin/env node | |
'use strict'; | |
/* | |
#!/bin/bash | |
# | |
# Wrapper script for git mergetool | |
# This requires ~/.gitconfig file to have | |
# the following (adjusting for paths): | |
# | |
# [merge] |
<?xml version="1.0" encoding="UTF-8"?> | |
<opml version="1.0"> | |
<head> | |
<title>Downcast Podcasts</title> | |
</head> |
interface IAmSomeInterface { | |
getNumber(): number; | |
} | |
interface IAmAGenericInterface<T extends IAmSomeInterface> { | |
getInstanceOfSomeInterface(id: number): T; | |
} | |
class ClassExtendingSomeInterface implements IAmSomeInterface { | |
getNumber() { |
param( | |
$beginSha = $(throw '-beginSha is required'), | |
$endSha = $(throw '-endSha is required'), | |
$projectName = $( (get-item .).name ) | |
) | |
# Get a list of all the files that have been added/modified/deleted | |
$filesWithMods = git diff --name-status $beginSha $endSha | Select @{Name="ChangeType";Expression={$_.Substring(0,1)}}, @{Name="File"; Expression={$_.Substring(2)}} |
[SetUpFixture] | |
public class HackToSetupApprovalTestsToFindP4Merge | |
{ | |
[SetUp] | |
public void SetUpFixture() | |
{ | |
var field = typeof(FirstWorkingReporter).GetField("reporters", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy); | |
var currentItems = (IEnumerable<IEnvironmentAwareReporter>)field.GetValue(DiffReporter.INSTANCE); | |
var newitems = new[] { P4MergeDiffReporter.INSTANCE }.Concat(currentItems).ToArray(); |
<# | |
# Little utility to display a toast msg when your external WAN IP address changes | |
# | |
# sample command to throw into a scheduled task | |
# -> powershell.exe -noprofile -file {PathToThisScript}.ps1 {YOUR_EXPECTED_EXTERNAL_WAN_IP} | |
# | |
#> | |
$expectedIpAddress = $args[0] | |
$ipaddressFound = 'NOT FOUND' |
$history = tf history ./* /recursive /noprompt; | |
$h = @{}; $history | where { $_ } | select -skip 2 | %{ $val = $_.Substring(10, 13).Trim(); if([string]::IsNullOrEmpty($h[$val])){ $h[$val] = 0; "add $val"; } else{ $val; $h[$val] = $h[$val] + 1} }; $h |