@@ -10,29 +10,40 @@ const through = require('through2')
10
10
const chalk = require ( 'chalk' )
11
11
const childProcess = require ( 'child_process' )
12
12
13
- const scripts = './packages/@sanity/*/src/**/*.js'
14
- const assets = './packages/@sanity/*/src/**/*'
13
+ const scripts = [ './packages/@sanity/*/src/**/*.js' , './packages/sanity-plugin-*/src/**/*.js' ]
14
+ const assets = [ './packages/@sanity/*/src/**/*' , './packages/sanity-plugin-*/src/**/*' ]
15
+ const srcOpts = { base : 'packages' }
15
16
16
17
let srcEx
18
+ let srcRootEx
17
19
let libFragment
18
20
19
21
if ( path . win32 === path ) {
20
22
srcEx = / ( @ s a n i t y \\ [ ^ \\ ] + ) \\ s r c \\ /
23
+ srcRootEx = / ( s a n i t y - p l u g i n - [ ^ \\ ] + ) \\ s r c \\ /
21
24
libFragment = '$1\\lib\\'
22
25
} else {
23
26
srcEx = new RegExp ( '(@sanity/[^/]+)/src/' )
27
+ srcRootEx = / ( s a n i t y - p l u g i n - [ ^ / ] + ) \/ s r c \/ /
24
28
libFragment = '$1/lib/'
25
29
}
26
30
27
- const mapToDest = orgPath => orgPath . replace ( srcEx , libFragment )
28
- const dest = 'packages/@sanity'
31
+ const mapToDest = orgPath => {
32
+ const outPath = orgPath
33
+ . replace ( srcEx , libFragment )
34
+ . replace ( srcRootEx , libFragment )
35
+
36
+ return outPath
37
+ }
38
+
39
+ const dest = 'packages'
29
40
30
41
gulp . task ( 'default' , [ 'build' ] )
31
42
32
43
gulp . task ( 'build' , ( ) => {
33
44
const assetFilter = filter ( [ '**/*.js' ] , { restore : true } )
34
45
35
- return gulp . src ( assets )
46
+ return gulp . src ( assets , srcOpts )
36
47
. pipe ( plumber ( { errorHandler : err => gutil . log ( err . stack ) } ) )
37
48
. pipe ( newer ( { map : mapToDest } ) )
38
49
. pipe ( assetFilter )
@@ -51,11 +62,11 @@ gulp.task('build', () => {
51
62
} )
52
63
53
64
gulp . task ( 'watch-js' , ( ) => {
54
- return gulp . src ( scripts )
65
+ return gulp . src ( scripts , srcOpts )
55
66
. pipe ( plumber ( { errorHandler : err => gutil . log ( err . stack ) } ) )
56
67
. pipe ( through . obj ( ( file , enc , callback ) => {
57
68
file . _path = file . path
58
- file . path = file . path . replace ( srcEx , libFragment )
69
+ file . path = mapToDest ( file . path )
59
70
callback ( null , file )
60
71
} ) )
61
72
. pipe ( newer ( dest ) )
@@ -68,12 +79,12 @@ gulp.task('watch-js', () => {
68
79
} )
69
80
70
81
gulp . task ( 'watch-assets' , ( ) => {
71
- return gulp . src ( assets )
82
+ return gulp . src ( assets , srcOpts )
72
83
. pipe ( filter ( [ '**/*.*' , '!**/*.js' ] ) )
73
84
. pipe ( plumber ( { errorHandler : err => gutil . log ( err . stack ) } ) )
74
85
. pipe ( through . obj ( ( file , enc , callback ) => {
75
86
file . _path = file . path
76
- file . path = file . path . replace ( srcEx , libFragment )
87
+ file . path = mapToDest ( file . path )
77
88
callback ( null , file )
78
89
} ) )
79
90
. pipe ( newer ( dest ) )
0 commit comments