UNPKG

26.1 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;AAE3D,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;IAC7C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,6BAA6B;AAE7B,+CAA4C;AAC5C,2CAAwC;AAGxC,iDAA8C;AAC9C,yDAAsD;AACtD,wFAAsF;AACtF,mCAA6C;AAE7C,uCAAmD;AACnD,uCAAmH;AACnH,qCAAwC;AAExC,0CAA0C;AAC1C,+CAA4D;AAG5D,qCAgBmB;AAfjB,mCAAA,cAAc,CAAA;AACd,iCAAA,YAAY,CAAA;AACZ,sCAAA,iBAAiB,CAAA;AACjB,8BAAA,SAAS,CAAA;AACT,gCAAA,WAAW,CAAA;AACX,oCAAA,eAAe,CAAA;AACf,yBAAA,IAAI,CAAA;AACJ,4BAAA,OAAO,CAAA;AACP,0BAAA,KAAK,CAAA;AACL,8BAAA,SAAS,CAAA;AACT,4BAAA,OAAO,CAAA;AACP,gCAAA,WAAW,CAAA;AACX,0BAAA,KAAK,CAAA;AACL,wBAAA,GAAG,CAAA;AACH,+BAAA,UAAU,CAAA;AAEZ,uEAAsE;AAA7D,oDAAA,mBAAmB,CAAA;AAC5B,sCAAiC;AACjC,oDAA+C;AAC/C,sCAAiC;AACjC,uCAAkC;AAClC,2CAAsC;AACtC,oDAA+C;AAC/C,mEAA8D;AAC9D,sCAAiC;AAEjC,MAAM,QAAQ,GAAmC,EAAE,CAAC;AACpD,MAAM,YAAY,GAAkB,EAAE,CAAC;AAEvC,MAAM,aAAa,GAAW,CAAC,oBAAY,CAAC,WAAW,IAAI,oBAAY,CAAC,WAAW,CAAC,WAAW,CAAC;IAC9F,CAAC,CAAC,oBAAY,CAAC,WAAW,CAAC,WAAW;IACtC,CAAC,CAAC,EAAE,CAAC;AAEP,IAAI,YAAY,GAAiB;IAC/B,cAAc,EAAE,CAAC;IACjB,2GAA2G;IAC3G,6GAA6G;IAC7G,gDAAgD;IAChD,IAAI,EAAE,SAAgB;IACtB,QAAQ,EAAE,SAAgB;IAC1B,aAAa;IACb,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IAC5C,YAAY,EAAE,SAAS;IACvB,eAAe,EAAE,SAAS;IAC1B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC;IAC1C,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,qBAAY,CAAC,aAAa,EAAE,IAAI,CAAC;IAC9C,SAAS,EAAE,qBAAY,CAAC,WAAW,EAAE,IAAI,CAAC;IAC1C,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC;IACzD,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC;IACvD,OAAO,EAAE,qBAAY,CAAC,SAAS,EAAE,KAAK,CAAC;IACvC,UAAU,EAAE,qBAAY,CAAC,YAAY,EAAE,KAAK,CAAC;IAC7C,IAAI,EAAE,YAAI;IACV,uBAAuB,EAAE,KAAK;CAC/B,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,MAA6B;IACrD,2BAA2B;IAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE9C,YAAY,GAAG,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AALD,8BAKC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,MAA6B;IACvD,2BAA2B;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtC,YAAY,GAAG,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AALD,kCAKC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,MAAoB;IAChD,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC;AAFD,sCAEC;AAED;;;;GAIG;AACH,SAAgB,SAAS;IACvB,OAAO,YAAY,CAAC;AACtB,CAAC;AAFD,8BAEC;AAED,cAAc;AACD,QAAA,SAAS,GAAgB,IAAI,6BAAa,EAAE,CAAC;AAE1D;;;;;;GAMG;AACH,SAAgB,IAAI,CAAC,QAAgB,EAAE,cAA2B;IAChE,cAAc,GAAG,MAAM,CAAC,iBAAS,EAAE,cAAc,CAAC,CAAC;IAEnD,QAAQ,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;IAEpC,UAAU,CAAC,cAAc,CAAC,CAAC;IAE3B,OAAO,cAAc,CAAC;AACxB,CAAC;AARD,oBAQC;AAcD,cAAc;AACd,MAAM,UAAW,SAAQ,mBAAc;IAErC,YAAmB,IAAY,EAAE,EAAmB;QAClD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEM,WAAW,CAAC,IAA6B,EAAE,gBAAmD;QAEnG,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,QAAgB,EAAE,EAAmB;IAC3D,MAAM,UAAU,GAAe,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO,UAAU,CAAC;AACpB,CAAC;AAHD,0BAGC;AAED;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAC,UAA6B,EAAE,cAA2B;IAC9E,UAAU,CAAC,cAAc,CAAC,CAAC;IAE3B,IAAI,cAAc,GAAY,KAAK,CAAC;IACpC,IAAI,gBAAgB,GAAY,KAAK,CAAC;IACtC,IAAI,SAAS,GAAsB,SAAS,CAAC;IAE7C,MAAM,cAAc,GAAW,iBAAiB,CAAC;IACjD,MAAM,cAAc,GAAW,cAAc,CAAC;IAE9C,OAAO;QACL,OAAO,EAAE,CAAC,WAAyB,EAAiB,EAAE;YACpD,OAAO,IAAI,OAAO,CAAO,GAAG,EAAE;gBAE5B,SAAS,SAAS;oBAChB,IAAI,cAAc,EAAE;wBAClB,gBAAgB,GAAG,IAAI,CAAC;wBACxB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;qBAC1B;yBAAM;wBACL,cAAc,GAAG,IAAI,CAAC;wBAEtB,OAAO,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC;6BAC7C,IAAI,CAAC,GAAG,EAAE;4BACT,IAAI,SAAS,EAAE;gCACb,SAAS,GAAG,SAAS,CAAC;gCAEtB,IAAI,WAAW,CAAC,SAAS,EAAE;oCACzB,QAAQ,CAAC,MAAM,CAAC;wCACd,KAAK,EAAE,cAAc;wCACrB,OAAO,EAAE,CAAC,oBAAY,CAAC,CAAC,CAAC,oBAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wCAChD,IAAI,EAAE,WAAW,CAAC,oBAAoB;qCACvC,CAAC,CAAC;iCACJ;qCAAM;oCACL,aAAG,CAAC,cAAc,CAAC,CAAC;iCACrB;6BACF;4BACD,OAAO,cAAc,EAAE,CAAC;wBAC1B,CAAC,CAAC;6BACD,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;4BACtB,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,KAAK,EAAE;gCACrC,SAAS,GAAG,KAAK,CAAC;gCAElB,IAAI,WAAW,CAAC,SAAS,EAAE;oCACzB,QAAQ,CAAC,MAAM,CAAC;wCACd,KAAK,EAAE,cAAc;wCACrB,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE;wCACzB,IAAI,EAAE,WAAW,CAAC,kBAAkB;qCACrC,CAAC,CAAC;iCACJ;qCAAM;oCACL,aAAG,CAAC,cAAc,CAAC,CAAC;iCACrB;6BACF;4BAED,OAAO,cAAc,EAAE,CAAC;wBAC1B,CAAC,CAAC,CAAC;qBACN;gBACH,CAAC;gBAED,SAAS,cAAc;oBACrB,cAAc,GAAG,KAAK,CAAC;oBAEvB,IAAI,gBAAgB,EAAE;wBACpB,gBAAgB,GAAG,KAAK,CAAC;wBACzB,OAAO,SAAS,EAAE,CAAC;qBACpB;oBACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,CAAC;gBAED,sBAAY,EAAE,CAAC;gBACf,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAE9C,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AA3ED,sBA2EC;AAED;;;GAGG;AACH,SAAgB,MAAM,CAAC,GAAG,KAAsC;IAC9D,MAAM,SAAS,GAAkB,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QACvE,8CAA8C;QAC9C,OAAO,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,SAAS,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,UAAU,CAAC,QAAQ,CAAC,CAAC;KACtB;IAED,OAAO;QACL,OAAO,EAAE,CAAC,WAAyB,EAAiB,EAAE;YACpD,IAAI,MAAM,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;YAE9C,KAAK,MAAM,cAAc,IAAI,SAAS,EAAE;gBACtC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;aACvE;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AArBD,wBAqBC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,GAAG,KAAsC;IAChE,MAAM,SAAS,GAAkB,QAAQ,CAAc,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QACpF,8CAA8C;QAC9C,OAAO,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,SAAS,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,UAAU,CAAC,QAAQ,CAAC,CAAC;KACtB;IAED,OAAO;QACL,8DAA8D;QAC9D,OAAO,EAAE,CAAC,WAAyB,EAAgB,EAAE;YACnD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,MAAM,QAAQ,GAAoB,EAAE,CAAC;gBACrC,KAAK,MAAM,cAAc,IAAI,SAAS,EAAE;oBACtC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;iBAC1D;gBAED,+DAA+D;gBAC/D,OAAO,CAAC,GAAG,CAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAxBD,4BAwBC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,IAAiB;IAC1C,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,YAAY,CAAC,IAAI,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;IACxC,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC;IACxC,YAAY,CAAC,WAAW,GAAG,yBAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAEjE,2BAA2B,EAAE,CAAC;IAE9B,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,WAAW,EAAE;QACjD,IAAI,UAAU,CAAC,UAAU,EAAE;YACzB,UAAU,CAAC,UAAU,EAAE,CAAC;SACzB;KACF;IAED,oBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAE3D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE7F,8BAAoB,EAAE,CAAC;AACzB,CAAC;AAnBD,gCAmBC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,IAAiB,EAAE,QAAgB,EAAE,cAA2B;IACrF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;QACzB,MAAM,cAAc,GAAW,cAAc,CAAC,cAAc,KAAK,SAAS;YACxE,CAAC,CAAC,YAAY,CAAC,cAAc;YAC7B,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC;QAClC,MAAM,KAAK,GAA6B,cAAc,KAAK,CAAC;YAC1D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU,CACR,GAAG,EAAE;gBACH,eAAQ,CACN,iBAAiB,cAAc,gEAAgE,CAChG,CAAC;gBACF,EAAE,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3B,CAAC,EACD,cAAc,CACf,CAAC;QACN,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,IAAI,CAC7C,GAAG,EAAE;YACH,IAAI,KAAK,EAAE;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;YAED,EAAE,EAAE,CAAC;QACP,CAAC,EACD,CAAC,KAAY,EAAE,EAAE;YACf,IAAI,KAAK,EAAE;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;YAED,EAAE,CAAC,2BAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,cAA2B,EAAE,WAAyB;IAC1E,mDAAmD;IACnD,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC7C,8DAA8D;QAC9D,IAAK,cAAsB,CAAC,OAAO,EAAE;YACnC,8DAA8D;YAC9D,cAAc,GAAI,cAAsB,CAAC,OAAO,CAAC;SAClD;KACF;IAED,oDAAoD;IACpD,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC9C,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC,CAAC;KAC1I;IAED,IAAI,cAAc,CAAC,SAAS,KAAK,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;QACnF,MAAM,SAAS,GAAqB,OAAO,CAAC,MAAM,EAAE,CAAC;QAErD,IAAI,WAAW,CAAC,WAAW,IAAI,cAAc,CAAC,IAAI,EAAE;YAClD,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC9C;QAED,MAAM,WAAW,GAAkB,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;aACnE,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,WAAW,CAAC,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE;gBAChD,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;aACvE;QACH,CAAC,EACD,CAAC,KAAY,EAAE,EAAE;YACf,IAAI,WAAW,CAAC,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE;gBAChD,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;aAC9E;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEL,OAAO,WAAW,CAAC;KACpB;IAED,mBAAmB;IACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,cAA2B;IAC7C,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QAC5C,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACnC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAI,IAAiB;IACpC,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,SAAS,QAAQ,CAAC,GAAgB;QAChC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gBACzB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAQ,CAAC,CAAC;aACzB;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEf,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,2BAA2B;IAClC,yBAAyB,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,yBAAyB;IAChC,iCAAiC;IACjC,IAAI,YAAI,CAAC,OAAO,CAAC,IAAI,YAAI,CAAC,cAAc,CAAC,IAAI,YAAI,CAAC,GAAG,CAAC,EAAE;QACtD,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;KAChC;IACD,IAAI,YAAI,CAAC,GAAG,CAAC,EAAE;QACb,oEAAoE;QACpE,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;KAChC;IACD,gCAAgC;AAClC,CAAC;AAED,cAAc;AACD,QAAA,KAAK,GAAgB,IAAI,qBAAS,EAAE,CAAC;AAElD,cAAc;AACD,QAAA,gBAAgB,GAAyB,IAAI,2CAAoB,EAAE,CAAC;AAEjF,cAAc;AACD,QAAA,IAAI,GAAa,IAAI,mBAAQ,EAAE,CAAC;AAE7C,+BAA+B;AAC/B,IAAI,CAAC,OAAO,EAAE,aAAK,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\r\n// See LICENSE in the project root for license information.\r\n\r\nif (process.argv.indexOf('--no-color') === -1) {\r\n process.argv.push('--color');\r\n}\r\n\r\nimport * as path from 'path';\r\n\r\nimport { GulpTask } from './tasks/GulpTask';\r\nimport { GulpProxy } from './GulpProxy';\r\nimport { IExecutable } from './IExecutable';\r\nimport { IBuildConfig } from './IBuildConfig';\r\nimport { CleanTask } from './tasks/CleanTask';\r\nimport { CleanFlagTask } from './tasks/CleanFlagTask';\r\nimport { CopyStaticAssetsTask } from './tasks/copyStaticAssets/CopyStaticAssetsTask';\r\nimport { args, builtPackage } from './State';\r\nexport { IExecutable } from './IExecutable';\r\nimport { log, error as logError } from './logging';\r\nimport { initialize as initializeLogging, markTaskCreationTime, generateGulpError, setWatchMode } from './logging';\r\nimport { getFlagValue } from './config';\r\nimport * as Gulp from 'gulp';\r\nimport * as notifier from 'node-notifier';\r\nimport { JestTask, _isJestEnabled } from './tasks/JestTask';\r\n\r\nexport * from './IBuildConfig';\r\nexport {\r\n addSuppression,\r\n coverageData,\r\n functionalTestRun,\r\n getErrors,\r\n getWarnings,\r\n TestResultState,\r\n warn,\r\n verbose,\r\n error,\r\n fileError,\r\n fileLog,\r\n fileWarning,\r\n reset,\r\n log,\r\n logSummary\r\n} from './logging';\r\nexport { GCBTerminalProvider } from './utilities/GCBTerminalProvider';\r\nexport * from './tasks/CopyTask';\r\nexport * from './tasks/GenerateShrinkwrapTask';\r\nexport * from './tasks/GulpTask';\r\nexport * from './tasks/CleanTask';\r\nexport * from './tasks/CleanFlagTask';\r\nexport * from './tasks/ValidateShrinkwrapTask';\r\nexport * from './tasks/copyStaticAssets/CopyStaticAssetsTask';\r\nexport * from './tasks/JestTask';\r\n\r\nconst _taskMap: { [key: string]: IExecutable } = {};\r\nconst _uniqueTasks: IExecutable[] = [];\r\n\r\nconst packageFolder: string = (builtPackage.directories && builtPackage.directories.packagePath)\r\n ? builtPackage.directories.packagePath\r\n : '';\r\n\r\nlet _buildConfig: IBuildConfig = {\r\n maxBuildTimeMs: 0, // Defaults to no timeout\r\n // gulp and rootPath are set to undefined here because they'll be defined in the initialize function below,\r\n // but we don't want their types to be nullable because a task that uses StrictNullChecks should expect them\r\n // to be defined without checking their values.\r\n gulp: undefined as any, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n rootPath: undefined as any, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n packageFolder,\r\n srcFolder: 'src',\r\n distFolder: path.join(packageFolder, 'dist'),\r\n libAMDFolder: undefined,\r\n libESNextFolder: undefined,\r\n libFolder: path.join(packageFolder, 'lib'),\r\n tempFolder: 'temp',\r\n properties: {},\r\n relogIssues: getFlagValue('relogIssues', true),\r\n showToast: getFlagValue('showToast', true),\r\n buildSuccessIconPath: path.resolve(__dirname, 'pass.png'),\r\n buildErrorIconPath: path.resolve(__dirname, 'fail.png'),\r\n verbose: getFlagValue('verbose', false),\r\n production: getFlagValue('production', false),\r\n args: args,\r\n shouldWarningsFailBuild: false\r\n};\r\n\r\n/**\r\n * Merges the given build config settings into existing settings.\r\n *\r\n * @param config - The build config settings.\r\n * @public\r\n */\r\nexport function setConfig(config: Partial<IBuildConfig>): void {\r\n // eslint-disable-next-line\r\n const objectAssign = require('object-assign');\r\n\r\n _buildConfig = objectAssign({}, _buildConfig, config);\r\n}\r\n\r\n/**\r\n * Merges the given build config settings into existing settings.\r\n *\r\n * @param config - The build config settings.\r\n * @public\r\n */\r\nexport function mergeConfig(config: Partial<IBuildConfig>): void {\r\n // eslint-disable-next-line\r\n const merge = require('lodash.merge');\r\n\r\n _buildConfig = merge({}, _buildConfig, config);\r\n}\r\n\r\n/**\r\n * Replaces the build config.\r\n *\r\n * @param config - The build config settings.\r\n * @public\r\n */\r\nexport function replaceConfig(config: IBuildConfig): void {\r\n _buildConfig = config;\r\n}\r\n\r\n/**\r\n * Gets the current config.\r\n * @returns the current build configuration\r\n * @public\r\n */\r\nexport function getConfig(): IBuildConfig {\r\n return _buildConfig;\r\n}\r\n\r\n/** @public */\r\nexport const cleanFlag: IExecutable = new CleanFlagTask();\r\n\r\n/**\r\n * Registers an IExecutable to gulp so that it can be called from the command line\r\n * @param taskName - the name of the task, can be called from the command line (e.g. \"gulp <taskName>\")\r\n * @param taskExecutable - the executable to execute when the task is invoked\r\n * @returns the task parameter\r\n * @public\r\n */\r\nexport function task(taskName: string, taskExecutable: IExecutable): IExecutable {\r\n taskExecutable = serial(cleanFlag, taskExecutable);\r\n\r\n _taskMap[taskName] = taskExecutable;\r\n\r\n _trackTask(taskExecutable);\r\n\r\n return taskExecutable;\r\n}\r\n\r\n/**\r\n * The callback interface for a custom task definition.\r\n * The task should either return a Promise, a stream, or call the\r\n * callback function (passing in an object value if there was an error).\r\n * @public\r\n */\r\nexport interface ICustomGulpTask {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (gulp: typeof Gulp | GulpProxy, buildConfig: IBuildConfig, done?: (failure?: any) => void):\r\n Promise<object> | NodeJS.ReadWriteStream | void;\r\n}\r\n\r\n/** @public */\r\nclass CustomTask extends GulpTask<void> {\r\n private _fn: ICustomGulpTask;\r\n public constructor(name: string, fn: ICustomGulpTask) {\r\n super(name);\r\n this._fn = fn.bind(this);\r\n }\r\n\r\n public executeTask(gulp: typeof Gulp | GulpProxy, completeCallback?: (error?: string | Error) => void):\r\n Promise<object> | NodeJS.ReadWriteStream | void {\r\n return this._fn(gulp, getConfig(), completeCallback);\r\n }\r\n}\r\n\r\n/**\r\n * Creates a new subtask from a function callback. Useful as a shorthand way\r\n * of defining tasks directly in a gulpfile.\r\n *\r\n * @param taskName - the name of the task, appearing in build logs\r\n * @param fn - the callback function to execute when this task runs\r\n * @returns an IExecutable which can be registered to the command line with task()\r\n * @public\r\n */\r\nexport function subTask(taskName: string, fn: ICustomGulpTask): IExecutable {\r\n const customTask: CustomTask = new CustomTask(taskName, fn);\r\n return customTask;\r\n}\r\n\r\n/**\r\n * Defines a gulp watch and maps it to a given IExecutable.\r\n *\r\n * @param watchMatch - the list of files patterns to watch\r\n * @param taskExecutable - the task to execute when a file changes\r\n * @returns IExecutable\r\n * @public\r\n */\r\nexport function watch(watchMatch: string | string[], taskExecutable: IExecutable): IExecutable {\r\n _trackTask(taskExecutable);\r\n\r\n let isWatchRunning: boolean = false;\r\n let shouldRerunWatch: boolean = false;\r\n let lastError: Error | undefined = undefined;\r\n\r\n const successMessage: string = 'Build succeeded';\r\n const failureMessage: string = 'Build failed';\r\n\r\n return {\r\n execute: (buildConfig: IBuildConfig): Promise<void> => {\r\n return new Promise<void>(() => {\r\n\r\n function _runWatch(): Promise<void> {\r\n if (isWatchRunning) {\r\n shouldRerunWatch = true;\r\n return Promise.resolve();\r\n } else {\r\n isWatchRunning = true;\r\n\r\n return _executeTask(taskExecutable, buildConfig)\r\n .then(() => {\r\n if (lastError) {\r\n lastError = undefined;\r\n\r\n if (buildConfig.showToast) {\r\n notifier.notify({\r\n title: successMessage,\r\n message: (builtPackage ? builtPackage.name : ''),\r\n icon: buildConfig.buildSuccessIconPath\r\n });\r\n } else {\r\n log(successMessage);\r\n }\r\n }\r\n return _finalizeWatch();\r\n })\r\n .catch((error: Error) => {\r\n if (!lastError || lastError !== error) {\r\n lastError = error;\r\n\r\n if (buildConfig.showToast) {\r\n notifier.notify({\r\n title: failureMessage,\r\n message: error.toString(),\r\n icon: buildConfig.buildErrorIconPath\r\n });\r\n } else {\r\n log(failureMessage);\r\n }\r\n }\r\n\r\n return _finalizeWatch();\r\n });\r\n }\r\n }\r\n\r\n function _finalizeWatch(): Promise<void> {\r\n isWatchRunning = false;\r\n\r\n if (shouldRerunWatch) {\r\n shouldRerunWatch = false;\r\n return _runWatch();\r\n }\r\n return Promise.resolve();\r\n }\r\n\r\n setWatchMode();\r\n buildConfig.gulp.watch(watchMatch, _runWatch);\r\n\r\n _runWatch().catch(console.error);\r\n });\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Takes in IExecutables as arguments and returns an IExecutable that will execute them in serial.\r\n * @public\r\n */\r\nexport function serial(...tasks: (IExecutable[] | IExecutable)[]): IExecutable {\r\n const flatTasks: IExecutable[] = _flatten(tasks).filter(taskExecutable => {\r\n // eslint-disable-next-line @rushstack/no-null\r\n return taskExecutable !== null && taskExecutable !== undefined;\r\n });\r\n\r\n for (const flatTask of flatTasks) {\r\n _trackTask(flatTask);\r\n }\r\n\r\n return {\r\n execute: (buildConfig: IBuildConfig): Promise<void> => {\r\n let output: Promise<void> = Promise.resolve();\r\n\r\n for (const taskExecutable of flatTasks) {\r\n output = output.then(() => _executeTask(taskExecutable, buildConfig));\r\n }\r\n\r\n return output;\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Takes in IExecutables as arguments and returns an IExecutable that will execute them in parallel.\r\n * @public\r\n */\r\nexport function parallel(...tasks: (IExecutable[] | IExecutable)[]): IExecutable {\r\n const flatTasks: IExecutable[] = _flatten<IExecutable>(tasks).filter(taskExecutable => {\r\n // eslint-disable-next-line @rushstack/no-null\r\n return taskExecutable !== null && taskExecutable !== undefined;\r\n });\r\n\r\n for (const flatTask of flatTasks) {\r\n _trackTask(flatTask);\r\n }\r\n\r\n return {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n execute: (buildConfig: IBuildConfig): Promise<any> => {\r\n return new Promise<void[]>((resolve, reject) => {\r\n const promises: Promise<void>[] = [];\r\n for (const taskExecutable of flatTasks) {\r\n promises.push(_executeTask(taskExecutable, buildConfig));\r\n }\r\n\r\n // Use promise all to make sure errors are propagated correctly\r\n Promise.all<void>(promises).then(resolve, reject);\r\n });\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Initializes the gulp tasks.\r\n * @public\r\n */\r\nexport function initialize(gulp: typeof Gulp): void {\r\n _buildConfig.rootPath = process.cwd();\r\n _buildConfig.gulp = new GulpProxy(gulp);\r\n _buildConfig.uniqueTasks = _uniqueTasks;\r\n _buildConfig.jestEnabled = _isJestEnabled(_buildConfig.rootPath);\r\n\r\n _handleCommandLineArguments();\r\n\r\n for (const uniqueTask of _buildConfig.uniqueTasks) {\r\n if (uniqueTask.onRegister) {\r\n uniqueTask.onRegister();\r\n }\r\n }\r\n\r\n initializeLogging(gulp, getConfig(), undefined, undefined);\r\n\r\n Object.keys(_taskMap).forEach(taskName => _registerTask(gulp, taskName, _taskMap[taskName]));\r\n\r\n markTaskCreationTime();\r\n}\r\n\r\n/**\r\n * Registers a given gulp task given a name and an IExecutable.\r\n */\r\nfunction _registerTask(gulp: typeof Gulp, taskName: string, taskExecutable: IExecutable): void {\r\n gulp.task(taskName, (cb) => {\r\n const maxBuildTimeMs: number = taskExecutable.maxBuildTimeMs === undefined\r\n ? _buildConfig.maxBuildTimeMs\r\n : taskExecutable.maxBuildTimeMs;\r\n const timer: NodeJS.Timer | undefined = maxBuildTimeMs === 0\r\n ? undefined\r\n : setTimeout(\r\n () => {\r\n logError(\r\n `Build ran for ${maxBuildTimeMs} milliseconds without completing. Cancelling build with error.`\r\n );\r\n cb(new Error('Timeout'));\r\n },\r\n maxBuildTimeMs\r\n );\r\n _executeTask(taskExecutable, _buildConfig).then(\r\n () => {\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n\r\n cb();\r\n },\r\n (error: Error) => {\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n\r\n cb(generateGulpError(error));\r\n }\r\n );\r\n });\r\n}\r\n\r\n/**\r\n * Executes a given IExecutable.\r\n */\r\nfunction _executeTask(taskExecutable: IExecutable, buildConfig: IBuildConfig): Promise<void> {\r\n // Try to fallback to the default task if provided.\r\n if (taskExecutable && !taskExecutable.execute) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if ((taskExecutable as any).default) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n taskExecutable = (taskExecutable as any).default;\r\n }\r\n }\r\n\r\n // If the task is missing, throw a meaningful error.\r\n if (!taskExecutable || !taskExecutable.execute) {\r\n return Promise.reject(new Error(`A task was scheduled, but the task was null. This probably means the task wasn't imported correctly.`));\r\n }\r\n\r\n if (taskExecutable.isEnabled === undefined || taskExecutable.isEnabled(buildConfig)) {\r\n const startTime: [number, number] = process.hrtime();\r\n\r\n if (buildConfig.onTaskStart && taskExecutable.name) {\r\n buildConfig.onTaskStart(taskExecutable.name);\r\n }\r\n\r\n const taskPromise: Promise<void> = taskExecutable.execute(buildConfig)\r\n .then(() => {\r\n if (buildConfig.onTaskEnd && taskExecutable.name) {\r\n buildConfig.onTaskEnd(taskExecutable.name, process.hrtime(startTime));\r\n }\r\n },\r\n (error: Error) => {\r\n if (buildConfig.onTaskEnd && taskExecutable.name) {\r\n buildConfig.onTaskEnd(taskExecutable.name, process.hrtime(startTime), error);\r\n }\r\n\r\n return Promise.reject(error);\r\n });\r\n\r\n return taskPromise;\r\n }\r\n\r\n // No-op otherwise.\r\n return Promise.resolve();\r\n}\r\n\r\nfunction _trackTask(taskExecutable: IExecutable): void {\r\n if (_uniqueTasks.indexOf(taskExecutable) < 0) {\r\n _uniqueTasks.push(taskExecutable);\r\n }\r\n}\r\n\r\n/**\r\n * Flattens a set of arrays into a single array.\r\n */\r\nfunction _flatten<T>(oArr: (T | T[])[]): T[] {\r\n const output: T[] = [];\r\n\r\n function traverse(arr: (T | T[])[]): void {\r\n for (let i: number = 0; i < arr.length; ++i) {\r\n if (Array.isArray(arr[i])) {\r\n traverse(arr[i] as T[]);\r\n } else {\r\n output.push(arr[i] as T);\r\n }\r\n }\r\n }\r\n\r\n traverse(oArr);\r\n\r\n return output;\r\n}\r\n\r\nfunction _handleCommandLineArguments(): void {\r\n _handleTasksListArguments();\r\n}\r\n\r\nfunction _handleTasksListArguments(): void {\r\n /* eslint-disable dot-notation */\r\n if (args['tasks'] || args['tasks-simple'] || args['T']) {\r\n global['dontWatchExit'] = true;\r\n }\r\n if (args['h']) {\r\n // we are showing a help command prompt via yargs or ts-command-line\r\n global['dontWatchExit'] = true;\r\n }\r\n /* eslint-enable dot-notation */\r\n}\r\n\r\n/** @public */\r\nexport const clean: IExecutable = new CleanTask();\r\n\r\n/** @public */\r\nexport const copyStaticAssets: CopyStaticAssetsTask = new CopyStaticAssetsTask();\r\n\r\n/** @public */\r\nexport const jest: JestTask = new JestTask();\r\n\r\n// Register default clean task.\r\ntask('clean', clean);\r\n"]}
\No newline at end of file