Skip to content

Commit 25f5a5b

Browse files
committed
Support placeholders in content files
1 parent ae69d8f commit 25f5a5b

File tree

8 files changed

+106
-40
lines changed

8 files changed

+106
-40
lines changed

_new/index.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const yosay = require('yosay');
77
const inquirer = require('inquirer');
88
const packageJson = require('package-json');
99
const globby = require('globby');
10+
const { formatVersionFolder } = require('../utility');
1011

1112
module.exports = class extends Generator {
1213
prompting() {
@@ -125,10 +126,7 @@ module.exports = class extends Generator {
125126
this.props = props;
126127
this.props.fileName = path.basename(props.relativePath);
127128
this.props.version = props.pkg.version;
128-
this.props.versionFolder = props.pkg.version
129-
.split('.')
130-
.map(n => n.padStart(2, '0'))
131-
.join('_');
129+
this.props.versionFolder = formatVersionFolder(props.pkg.version);
132130
});
133131
}
134132

_new/templates/CHANGES.htm

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
<p>See the
2-
<a href="<%=changelogUrl%>">
3-
<%=friendlyName%> changelog</a>
1+
<p>
2+
See the <a href="<%=changelogUrl%>"><%=friendlyName%> changelog</a>
43
</p>

_new/templates/LICENSE.htm

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
<p>
2-
<%=friendlyName%> is licensed under the
3-
<a href="<%=licenseUrl%>">
4-
<%=licenseName%> license</a>.</p>
2+
<%=friendlyName%> is licensed under the <a href="<%=licenseUrl%>"><%=licenseName%> license</a>.
3+
</p>

_new/templates/{libraryName}.dnn

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<dotnetnuke type="Package" version="5.0">
22
<packages>
3-
<package name="<%=libraryName%>" type="JavaScript_Library" version="<%=version%>">
4-
<friendlyName><%=friendlyName%>
5-
</friendlyName>
3+
<package name="<%=libraryName%>" type="JavaScript_Library" version="<~=version~>">
4+
<friendlyName><%=friendlyName%></friendlyName>
65
<description>
76
<![CDATA[<%-description%>]]>
87
</description>
@@ -19,32 +18,24 @@
1918
<components>
2019
<component type="JavaScript_Library">
2120
<javaScriptLibrary>
22-
<libraryName><%=libraryName%>
23-
</libraryName>
24-
<fileName><%=fileName%>
25-
</fileName>
26-
<preferredScriptLocation><%=preferredScriptLocation%>
27-
</preferredScriptLocation>
28-
<objectName><%=objectName%>
29-
</objectName>
30-
<cdnUrl>https://cdn.jsdelivr.net/npm/<%=libraryName%>@<%=version%><%=relativePath%>
31-
</cdnUrl>
21+
<libraryName><%=libraryName%></libraryName>
22+
<fileName><%=fileName%></fileName>
23+
<preferredScriptLocation><%=preferredScriptLocation%></preferredScriptLocation>
24+
<objectName><%=objectName%></objectName>
25+
<cdnUrl>https://cdn.jsdelivr.net/npm/<%=libraryName%>@<~=version~><%=relativePath%></cdnUrl>
3226
</javaScriptLibrary>
3327
</component>
3428
<component type="JavaScriptFile">
3529
<jsfiles>
36-
<libraryFolderName><%=libraryName%>
37-
</libraryFolderName>
30+
<libraryFolderName><%=libraryName%></libraryFolderName>
3831
<jsfile>
39-
<name><%=fileName%>
40-
</name>
32+
<name><%=fileName%></name>
4133
</jsfile>
4234
</jsfiles>
4335
</component>
4436
<component type="ResourceFile">
4537
<resourceFiles>
46-
<basePath>Resources\Libraries\<%=libraryName%>\<%=versionFolder%>
47-
</basePath>
38+
<basePath>Resources\Libraries\<%=libraryName%>\<~=versionFolder~></basePath>
4839
<resourceFile>
4940
<name>Resources.zip</name>
5041
</resourceFile>

gulpfile.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
const path = require('path');
22
const gulp = require('gulp');
33
const glob = require('glob');
4+
const ejs = require('gulp-ejs');
45
const zip = require('gulp-zip');
56
const mergeStream = require('merge-stream');
7+
const { formatVersionFolder } = require('./utility');
68

79
const dependencies = require('./package.json').dependencies;
810

@@ -26,9 +28,19 @@ libraries.forEach(library =>
2628
gulp
2729
.src(library.manifest.resources || [])
2830
.pipe(zip('Resources.zip')),
29-
gulp.src(['LICENSE.htm', 'CHANGES.htm', '*.dnn'], {
30-
cwd: library.path,
31-
})
31+
gulp
32+
.src(['LICENSE.htm', 'CHANGES.htm', '*.dnn'], {
33+
cwd: library.path,
34+
})
35+
.pipe(
36+
ejs(
37+
{
38+
version: library.version,
39+
versionFolder: formatVersionFolder(library.version),
40+
},
41+
{ delimiter: '~' }
42+
)
43+
)
3244
)
3345
.pipe(zip(`${library.name}_${library.version}.zip`))
3446
.pipe(gulp.dest('./_InstallPackages/'))

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
"glob": "^7.1.2",
8080
"globby": "7.1.1",
8181
"gulp": "^3.9.1",
82+
"gulp-ejs": "3.1.3",
8283
"gulp-zip": "^4.0.0",
8384
"merge-stream": "^1.0.1",
8485
"package-json": "4.0.1",

utility.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module.exports = {
2+
formatVersionFolder(version) {
3+
return version
4+
.split('.')
5+
.map(n => n.padStart(2, '0'))
6+
.join('_');
7+
},
8+
};

yarn.lock

Lines changed: 66 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ ansi-align@^2.0.0:
5858
dependencies:
5959
string-width "^2.0.0"
6060

61+
ansi-colors@^1.0.1:
62+
version "1.1.0"
63+
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9"
64+
dependencies:
65+
ansi-wrap "^0.1.0"
66+
6167
ansi-escapes@^1.1.0:
6268
version "1.4.0"
6369
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
@@ -84,6 +90,10 @@ ansi-styles@^3.0.0, ansi-styles@^3.1.0:
8490
dependencies:
8591
color-convert "^1.9.0"
8692

93+
ansi-wrap@^0.1.0:
94+
version "0.1.0"
95+
resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
96+
8797
ansi@^0.3.0, ansi@~0.3.1:
8898
version "0.3.1"
8999
resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
@@ -105,10 +115,18 @@ arr-diff@^2.0.0:
105115
dependencies:
106116
arr-flatten "^1.0.1"
107117

118+
arr-diff@^4.0.0:
119+
version "4.0.0"
120+
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
121+
108122
arr-flatten@^1.0.1:
109123
version "1.1.0"
110124
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
111125

126+
arr-union@^3.1.0:
127+
version "3.1.0"
128+
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
129+
112130
array-differ@^1.0.0:
113131
version "1.0.0"
114132
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
@@ -159,6 +177,10 @@ assert-plus@^0.2.0:
159177
version "0.2.0"
160178
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
161179

180+
assign-symbols@^1.0.0:
181+
version "1.0.0"
182+
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
183+
162184
async@^1.4.2:
163185
version "1.5.2"
164186
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
@@ -825,6 +847,10 @@ editions@^1.3.3:
825847
version "1.3.4"
826848
resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b"
827849

850+
ejs@2.5.9:
851+
version "2.5.9"
852+
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.9.tgz#7ba254582a560d267437109a68354112475b0ce5"
853+
828854
ejs@^2.3.1:
829855
version "2.5.7"
830856
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a"
@@ -952,6 +978,13 @@ expand-tilde@^2.0.2:
952978
dependencies:
953979
homedir-polyfill "^1.0.1"
954980

981+
extend-shallow@^3.0.2:
982+
version "3.0.2"
983+
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
984+
dependencies:
985+
assign-symbols "^1.0.0"
986+
is-extendable "^1.0.1"
987+
955988
extend@^3.0.0, extend@^3.0.1, extend@~3.0.0, extend@~3.0.1:
956989
version "3.0.1"
957990
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
@@ -1439,6 +1472,16 @@ grouped-queue@^0.3.3:
14391472
dependencies:
14401473
lodash "^4.17.2"
14411474

1475+
gulp-ejs@3.1.3:
1476+
version "3.1.3"
1477+
resolved "https://registry.yarnpkg.com/gulp-ejs/-/gulp-ejs-3.1.3.tgz#d58360365ddc9e8dad35473e5a2535ba9c1bf0b5"
1478+
dependencies:
1479+
ejs "2.5.9"
1480+
plugin-error "^1.0.0"
1481+
replace-ext "^1.0.0"
1482+
safe-buffer "^5.0.1"
1483+
through2 "2.0.3"
1484+
14421485
gulp-util@^3.0.0:
14431486
version "3.0.8"
14441487
resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
@@ -1806,6 +1849,12 @@ is-extendable@^0.1.1:
18061849
version "0.1.1"
18071850
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
18081851

1852+
is-extendable@^1.0.1:
1853+
version "1.0.1"
1854+
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
1855+
dependencies:
1856+
is-plain-object "^2.0.4"
1857+
18091858
is-extglob@^1.0.0:
18101859
version "1.0.0"
18111860
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
@@ -1873,7 +1922,7 @@ is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
18731922
version "1.1.0"
18741923
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
18751924

1876-
is-plain-object@^2.0.3:
1925+
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
18771926
version "2.0.4"
18781927
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
18791928
dependencies:
@@ -2944,6 +2993,15 @@ pinkie@^2.0.0:
29442993
version "2.0.4"
29452994
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
29462995

2996+
plugin-error@^1.0.0:
2997+
version "1.0.1"
2998+
resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c"
2999+
dependencies:
3000+
ansi-colors "^1.0.1"
3001+
arr-diff "^4.0.0"
3002+
arr-union "^3.1.0"
3003+
extend-shallow "^3.0.2"
3004+
29473005
prepend-http@^1.0.1:
29483006
version "1.0.4"
29493007
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
@@ -3690,20 +3748,20 @@ textextensions@2:
36903748
version "2.2.0"
36913749
resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.2.0.tgz#38ac676151285b658654581987a0ce1a4490d286"
36923750

3751+
through2@2.0.3, through2@^2.0.0, through2@^2.0.1:
3752+
version "2.0.3"
3753+
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
3754+
dependencies:
3755+
readable-stream "^2.1.5"
3756+
xtend "~4.0.1"
3757+
36933758
through2@^0.6.1:
36943759
version "0.6.5"
36953760
resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
36963761
dependencies:
36973762
readable-stream ">=1.0.33-1 <1.1.0-0"
36983763
xtend ">=4.0.0 <4.1.0-0"
36993764

3700-
through2@^2.0.0, through2@^2.0.1:
3701-
version "2.0.3"
3702-
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
3703-
dependencies:
3704-
readable-stream "^2.1.5"
3705-
xtend "~4.0.1"
3706-
37073765
through@^2.3.6:
37083766
version "2.3.8"
37093767
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"

0 commit comments

Comments
 (0)