committed by
GitHub
2 changed files with 67 additions and 0 deletions
@ -0,0 +1,66 @@ |
|||
/* |
|||
* Copyright © 2016-2022 The Thingsboard Authors |
|||
* |
|||
* Licensed under the Apache License, Version 2.0 (the "License"); |
|||
* you may not use this file except in compliance with the License. |
|||
* You may obtain a copy of the License at |
|||
* |
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
|||
* |
|||
* Unless required by applicable law or agreed to in writing, software |
|||
* distributed under the License is distributed on an "AS IS" BASIS, |
|||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
* See the License for the specific language governing permissions and |
|||
* limitations under the License. |
|||
*/ |
|||
|
|||
const child_process = require("child_process"); |
|||
const fs = require('fs'); |
|||
const path = require('path'); |
|||
const typeDir = './target/types'; |
|||
const srcDir = typeDir + '/src'; |
|||
const moduleMapPath = "src/app/modules/common/modules-map.ts"; |
|||
|
|||
console.log(`Remove directory: ${typeDir}`); |
|||
try { |
|||
fs.rmSync(typeDir, {recursive: true, force: true,}); |
|||
} catch (err) { |
|||
console.error(`Remove directory error: ${err}`); |
|||
} |
|||
|
|||
const cliCommand = `./node_modules/.bin/ngc --p src/tsconfig.app.json --declaration --outDir ${srcDir}`; |
|||
console.log(cliCommand); |
|||
try { |
|||
child_process.execSync(cliCommand); |
|||
} catch (err) { |
|||
console.error("Build types", err); |
|||
process.exit(1); |
|||
} |
|||
|
|||
function fromDir(startPath, filter, callback) { |
|||
if (!fs.existsSync(startPath)) { |
|||
console.log("not dirs", startPath); |
|||
process.exit(1); |
|||
} |
|||
|
|||
const files = fs.readdirSync(startPath); |
|||
for (let i = 0; i < files.length; i++) { |
|||
const filename = path.join(startPath, files[i]); |
|||
const stat = fs.lstatSync(filename); |
|||
if (stat.isDirectory()) { |
|||
fromDir(filename, filter, callback); |
|||
} else if (filter.test(filename)) { |
|||
callback(filename) |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
fromDir(srcDir, /(\.js|\.js\.map)$/, function (filename) { |
|||
try { |
|||
fs.rmSync(filename); |
|||
} catch (err) { |
|||
console.error(`Remove file error ${filename}: ${err}`); |
|||
} |
|||
}); |
|||
fs.cpSync(moduleMapPath, `${typeDir}/${moduleMapPath}`); |
|||
Loading…
Reference in new issue