Petter
04/20/2020, 11:22 AMAli Syed (NS DevTools QA)
04/20/2020, 11:35 AMPetter
04/20/2020, 11:38 AMAli Syed (NS DevTools QA)
04/20/2020, 11:42 AMPetter
04/20/2020, 11:50 AMAlbert Margarit (NS Eng Lead)
04/20/2020, 11:55 AMAlbert Margarit (NS Eng Lead)
04/20/2020, 11:56 AMPetter
04/20/2020, 11:57 AMAlbert Margarit (NS Eng Lead)
04/20/2020, 11:57 AMmodule.exports = {
commands: {
project:deploy: {
projectFolder: 'dist', //this means it will deploy this folder instead of 'src',
beforeExecuting: function(options){
// perform your operations here
return options;
}
},
},
};
Albert Margarit (NS Eng Lead)
04/20/2020, 11:59 AMAlbert Margarit (NS Eng Lead)
04/20/2020, 12:00 PMconst { build } = require('./gulpfile');
module.exports = {
defaultProjectFolder: 'src',
commands: {
deploy: {
projectFolder: 'dist',
beforeExecuting: async options => {
await build();
return options;
},
},
validate: {
projectFolder: 'dist',
beforeExecuting: async options => {
await build();
options.arguments.server = true;
return options;
},
},
},
};
Albert Margarit (NS Eng Lead)
04/20/2020, 12:01 PMAlbert Margarit (NS Eng Lead)
04/20/2020, 12:01 PMgulpfile.js
const { src, dest, series } = require('gulp');
var ts = require('gulp-typescript');
const del = require('del');
var jest = require('jest');
function test() {
return jest.runCLI(
{
transform: {
'^.+\\.jsx?$': 'babel-jest',
'^.+\\.tsx?$': 'ts-jest',
},
testRegex: '(/__tests__/tests/.*|(\\.|/)(test|spec))\\.tsx?$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
preset: 'ts-jest',
},
[process.cwd()]
);
}
function clean() {
console.log('Running clean');
return del(['dist/**', '!dist']);
}
function copy() {
console.log('Running copy');
return new Promise((resolve, reject) => {
var paths = ['src/**/*.xml'];
src(paths)
.pipe(dest('dist/'))
.on('end', resolve)
.on('error', reject);
});
}
function buildTypeScript() {
console.log('Transpiling TypeScript to JS');
return new Promise((resolve, reject) => {
var tsProject = ts.createProject('tsconfig.json');
var tsResult = tsProject.src().pipe(tsProject());
tsResult.js
.pipe(dest('dist'))
.on('end', () => {
console.log('Transpiling done!');
resolve();
})
.on('error', reject);
});
}
function build() {
console.log('Building project...');
return new Promise((resolve, reject) => {
try {
series(test, clean, copy, buildTypeScript)(_ => {
console.log('Building complete');
resolve();
});
} catch (error) {
console.log(error);
reject(error);
}
});
}
module.exports = {
build,
test,
clean
};
Albert Margarit (NS Eng Lead)
04/20/2020, 12:03 PMgulp
or del
packages to do this, we used these npm packages:
"del": "^4.0.0",
"gulp": "^4.0.0",Petter
04/20/2020, 12:04 PMAlbert Margarit (NS Eng Lead)
04/20/2020, 12:04 PMPetter
04/21/2020, 8:39 PMAlbert Margarit (NS Eng Lead)
04/22/2020, 7:10 AMAlbert Margarit (NS Eng Lead)
04/22/2020, 7:10 AM