@@ -236,6 +236,58 @@ let repositoryfyAngularDemos;
236236let repositoryfyAngularDemosLob ;
237237let repositoryfyAngularDemosCrm ;
238238
239+ const copyGitHooks = async ( cb ) => {
240+
241+ if ( process . env . AZURE_PIPELINES || process . env . TRAVIS || process . env . CI || ! fs . existsSync ( '.git' ) ) {
242+ return ;
243+ }
244+
245+ const gitHooksDir = './.git/hooks/' ;
246+ const defaultCopyHookDir = gitHooksDir + 'scripts/' ;
247+ const dirs = [
248+ gitHooksDir ,
249+ defaultCopyHookDir ,
250+ defaultCopyHookDir + 'templates' ,
251+ defaultCopyHookDir + 'templateValidators' ,
252+ defaultCopyHookDir + 'utils'
253+ ] ;
254+
255+ dirs . forEach ( ( dir ) => {
256+ if ( ! fs . existsSync ( dir ) ) {
257+ fs . mkdir ( dir , ( err ) => {
258+ if ( err ) {
259+ throw err ;
260+ }
261+ } ) ;
262+ }
263+ } ) ;
264+
265+ const defaultHookDir = './.hooks/scripts/' ;
266+
267+ fs . copyFileSync ( defaultHookDir + 'templates/default.js' ,
268+ defaultCopyHookDir + 'templates/default.js' ) ;
269+
270+ fs . copyFileSync ( defaultHookDir + 'templateValidators/default-style-validator.js' ,
271+ defaultCopyHookDir + 'templateValidators/default-style-validator.js' ) ;
272+
273+ fs . copyFileSync ( defaultHookDir + 'utils/issue-validator.js' ,
274+ defaultCopyHookDir + 'utils/issue-validator.js' ) ;
275+
276+ fs . copyFileSync ( defaultHookDir + 'utils/line-limits.js' ,
277+ defaultCopyHookDir + 'utils/line-limits.js' ) ;
278+
279+ fs . copyFileSync ( defaultHookDir + 'common.js' ,
280+ defaultCopyHookDir + 'common.js' ) ;
281+
282+ fs . copyFileSync ( defaultHookDir + 'validate.js' ,
283+ defaultCopyHookDir + 'validate.js' ) ;
284+
285+ fs . copyFileSync ( './.hooks/prepare-commit-msg' ,
286+ './.git/hooks/prepare-commit-msg' ) ;
287+
288+ return await cb ( ) ;
289+ } ;
290+
239291const cleanupAngularDemos = ( cb ) => {
240292 fsExtra . removeSync ( submodule + "/angular-demos" ) ;
241293 fsExtra . mkdirSync ( submodule + "/angular-demos" ) ;
@@ -257,3 +309,4 @@ const cleanupAngularDemosCrm = (cb) => {
257309exports . repositoryfyAngularDemos = repositoryfyAngularDemos = gulp . series ( cleanupAngularDemos , processDemosWithScss ) ;
258310exports . repositoryfyAngularDemosLob = repositoryfyAngularDemosLob = gulp . series ( cleanupAngularDemosLob , processDemosLobWithScss ) ;
259311exports . repositoryfyAngularDemosCrm = repositoryfyAngularDemosCrm = gulp . series ( cleanupAngularDemosCrm , processDemosCrmWithScss ) ;
312+ exports . copyGitHooks = copyGitHooks ;
0 commit comments