@@ -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+
114165function 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
120171Export-ModuleMember New-JavaScriptLibrary
121172Export-ModuleMember New-BowerLibrary
173+ Export-ModuleMember Update-JavaScriptLibrary
174+ Export-ModuleMember Update-BowerLibrary
122175Export-ModuleMember New-Package
0 commit comments