Skip to content

Commit 6fb3031

Browse files
committed
Add script to update a library from bower
1 parent 58b7fbe commit 6fb3031

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

JsLibraryPackaging.psm1

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,57 @@ function New-JavaScriptLibrary ($name, $version, $jsFileName, $friendlyName) {
111111
return $versionedFolder
112112
}
113113

114+
function Update-BowerLibrary ($name) {
115+
bower install $name
116+
117+
$folderName = (bower info $name name --json) | ConvertFrom-Json
118+
$packageInfo = (Get-Content .\_bower_components\$folderName\.bower.json) -join "`n" | ConvertFrom-Json
119+
if (@(Get-Member -InputObject $packageInfo | ? { $_.Name -eq 'version' }).Count -gt 0) {
120+
$newVersion = $packageInfo.version
121+
}
122+
123+
$allPaths = (bower list --paths --json) -join "`n" | ConvertFrom-Json
124+
$paths = @($allPaths.$folderName)
125+
$jsPaths = @($paths | ? { $_ -match '\.js$' })
126+
127+
if ($jsPaths.Count -eq 0) {
128+
$jsPaths = @(ls $paths *.js -Recurse)
129+
}
130+
if ($jsPaths.Count -gt 1) {
131+
Write-Warning 'Package contains multiple JS files, only the first will be listed in the package'
132+
}
133+
134+
$jsFile = $jsPaths[0]
135+
$jsFolder = [System.IO.Path]::GetDirectoryName($jsFile)
136+
$jsFileName = [System.IO.Path]::GetFileNameWithoutExtension($jsFile)
137+
$minJsFile = [System.IO.Path]::Combine($jsFolder, $jsFileName + '.min.js')
138+
if (Test-Path $minJsFile) {
139+
$jsFile = $minJsFile
140+
}
141+
142+
$oldVersionFolder = Get-Item "$($name)_*"
143+
cp $jsFile $oldVersionFolder.Name
144+
145+
Update-JavaScriptLibrary $name $newVersion
146+
}
147+
148+
function Update-JavaScriptLibrary ($name, $newVersion) {
149+
$oldVersionFolder = Get-Item "$($name)_*"
150+
$oldVersion = $oldVersionFolder.Name.Substring($name.Length + 1)
151+
$newVersionFolder = "$($name)_$newVersion"
152+
mv $oldVersionFolder.Name $newVersionFolder
153+
154+
$licenseFile = Get-Item "$newVersionFolder\LICENSE.htm"
155+
(Get-Content $licenseFile) | % { $_ -replace $oldVersion, $newVersion } | Set-Content $licenseFile
156+
157+
$dnnFile = Get-Item "$newVersionFolder\*.dnn"
158+
(Get-Content $dnnFile) | % { $_ -replace $oldVersion, $newVersion } | Set-Content $dnnFile
159+
160+
git add -A
161+
git --no-pager diff --cached
162+
git commit -m "$name $newVersion"
163+
}
164+
114165
function ReplaceTokens($file, $name, $friendlyName, $version, $fileName) {
115166
(Get-Content $file) |
116167
% { $_ -replace '\[name\]', $name -replace '\[friendlyName\]', $friendlyName -replace '\[version\]', $version -replace '\[file\]', $fileName } |
@@ -119,4 +170,6 @@ function ReplaceTokens($file, $name, $friendlyName, $version, $fileName) {
119170

120171
Export-ModuleMember New-JavaScriptLibrary
121172
Export-ModuleMember New-BowerLibrary
173+
Export-ModuleMember Update-JavaScriptLibrary
174+
Export-ModuleMember Update-BowerLibrary
122175
Export-ModuleMember New-Package

UpdateBowerLibrary.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
param ($name)
2+
Import-Module .\JsLibraryPackaging.psm1
3+
Update-BowerLibrary $name

0 commit comments

Comments
 (0)