Skip to content

Commit 95d7385

Browse files
target bin folder, dependency watch logic
1 parent 8715f40 commit 95d7385

File tree

3 files changed

+87
-88
lines changed

3 files changed

+87
-88
lines changed

Gruntfile.cjs

+23-24
Original file line numberDiff line numberDiff line change
@@ -80,24 +80,23 @@ function make(grunt) {
8080
grunt.registerTask('coverageReport',['codecov']);
8181
grunt.registerTask('build-html', ['copy:buildHTML']);
8282
grunt.registerTask('build-css', ['less']);
83-
grunt.registerTask('build-js', ['ts:esm', 'ts:cjs']);
84-
grunt.registerTask('build-base', ['clean:dist', 'clean:docs', 'build-html', 'build-css', 'copy:bin', 'build-js']);
83+
grunt.registerTask('build-base', ['clean:dist', 'clean:docs', 'build-html', 'build-css', 'copy:bin']);
8584
switch(type) {
86-
case 'node':grunt.registerTask('buildMin', ['build-base', 'doc', 'test']);
87-
grunt.registerTask('buildDev', ['build-base']);
85+
case 'node':grunt.registerTask('buildMin', ['build-base', 'ts:cjs', 'doc', 'test', 'stage']);
86+
grunt.registerTask('buildDev', ['build-base', 'ts:cjs', 'stage']);
8887
break;
89-
case 'lib': grunt.registerTask('buildMin', ['build-base', 'webpack:appDev', 'webpack:appProd', 'doc', 'test']);
90-
grunt.registerTask('buildDev', ['build-base']);
88+
case 'lib': grunt.registerTask('buildMin', ['build-base', 'ts:esm', 'ts:cjs', 'webpack:appDev', 'webpack:appProd', 'doc', 'test', 'stage']);
89+
grunt.registerTask('buildDev', ['build-base', 'ts:esm', 'ts:cjs', 'webpack:appDev', 'webpack:appProd', 'stage']);
9190
break;
9291
case 'app':
93-
default: grunt.registerTask('buildMin', ['build-base', 'webpack:appDev', 'webpack:appProd', 'doc', 'test']);
94-
grunt.registerTask('buildDev', ['build-base', 'webpack:appDev']);
92+
default: grunt.registerTask('buildMin', ['build-base', 'ts:esm', 'webpack:appDev', 'webpack:appProd', 'doc', 'test', 'stage']);
93+
grunt.registerTask('buildDev', ['build-base', 'ts:esm', 'webpack:appDev', 'stage']);
9594
}
9695

9796
//------ Entry-point MultiTasks
9897
grunt.registerTask('default', ['product']);
99-
grunt.registerTask('dev', ['buildDev', 'stage']);
100-
grunt.registerTask('product', ['buildMin', 'stage']);
98+
grunt.registerTask('dev', ['buildDev']);
99+
grunt.registerTask('product', ['buildMin']);
101100
// grunt.registerTask('travis', ['build-base', (type === 'node')?'':'webpack:appProd', 'test']); // exlude node-apps from webPack to avoid webpack error
102101
grunt.registerTask('travis', ['build-base', 'test', 'coverageReport']);
103102
grunt.registerTask('help', ['h']);
@@ -133,8 +132,14 @@ function make(grunt) {
133132
src:['*.html', '*.json'], dest:'bin/'
134133
},
135134
bin:{ files: [
136-
{ expand:true, cwd: 'src/bin', // if present, scaffolding for bin distribution
135+
{
136+
expand:true, cwd: 'src/bin', // if present, scaffolding for bin distribution
137137
src:['**/*', '!**/*.ts'], dest:'bin'
138+
// },{
139+
// expand:true, cwd: '.', // if present, scaffolding for bin distribution
140+
// src:['package.json'], dest:'bin'
141+
},{ // mark cjs folder as commonJS to Node:
142+
src:'./packageCJS.json', dest:`./bin/cjs/package.json`
138143
}
139144
]},
140145
// create docs/html files
@@ -163,21 +168,19 @@ function make(grunt) {
163168
]},
164169
lib2NPM: { files: [
165170
{ expand:true, cwd: 'bin', // copy everything from bin
166-
src:['**/*.*'], dest:`node_modules/${libPath}/` },
171+
src:['**/*.*'], dest:`node_modules/${libPath}/bin/` },
167172
{ expand:true, cwd: './', // copy everything from bin
168-
src:['package.json', '*.md'], dest:`node_modules/${libPath}/` },
169-
// mark cjs folder as commonJS to Node:
170-
{ src:'./packageCJS.json', dest:`./node_modules/${libPath}/cjs/package.json` },
173+
src:['package.json', '*.md'], dest:`node_modules/${libPath}/` }
171174
]},
172175
app2NPM: { files: [
173176
{ expand:true, cwd: 'bin', // copy everything from bin
174-
src:['**/*.*'], dest:`node_modules/${libPath}/` },
175-
{ expand:true, cwd: 'bin', // copy everything from bin
176-
src:[`**/${lib}.*`], dest:`docs` },
177+
src:['**/*.*'], dest:`node_modules/${libPath}/bin/` },
177178
{ expand:true, cwd: devPath+'/staging/', // index.html
178179
src:['index.html'], dest:`node_modules/${libPath}/` }
179180
]},
180-
docs2NPM: { files: [ // copy the module's docs to npm
181+
docs2NPM: { files: [ // copy the module's docs to npm
182+
{ expand:true, cwd: 'bin', // copy everything from bin
183+
src:[`**/${lib}.*`], dest:`docs` },
181184
{ expand:true, cwd: 'docs',
182185
src:['**/*'], dest:`node_modules/${libPath}/docs`}
183186
]}
@@ -312,7 +315,7 @@ function make(grunt) {
312315

313316
watch: {
314317
dependencies: {
315-
files: dependencies.map(d => `./node_modules/${d.toLowerCase()}/index.js`),
318+
files: dependencies.map(d => `./node_modules/${d.toLowerCase()}/bin/${d}.js`),
316319
tasks: ['dev']
317320
},
318321
gruntfile: {
@@ -331,10 +334,6 @@ function make(grunt) {
331334
files: ['src/**/*.html'],
332335
tasks: ['build-html', 'stage']
333336
},
334-
specs: {
335-
files: ['src/**/*.spec.ts'],
336-
tasks: ['test']
337-
},
338337
jest: {
339338
files: ['src/**/*.jest.ts'],
340339
tasks: ['jest']

0 commit comments

Comments
 (0)