UNPKG

2.27 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3/**
4 * This script builds to distribuition
5 */
6const appRootDir = require("app-root-dir");
7const path_1 = require("path");
8const fs = require("fs-extra");
9const exec_1 = require("../utils/exec");
10function fileFilter(target, filter, encoding = 'utf8') {
11 fs.writeFileSync(target, filter(fs.readFileSync(target).toString(encoding)), encoding);
12}
13// First clear the build output dir.
14exec_1.exec(`rimraf ${path_1.resolve(appRootDir.get(), 'dist')}`);
15// Build typescript
16exec_1.exec('tsc --outDir dist');
17// Copy documents
18fs.copySync(path_1.resolve(appRootDir.get(), 'README.md'), path_1.resolve(appRootDir.get(), 'dist/README.md'));
19// Copy bin
20fs.copySync(path_1.resolve(appRootDir.get(), 'bin'), path_1.resolve(appRootDir.get(), 'dist/bin'));
21// replace ts-node for node
22fileFilter(path_1.resolve(appRootDir.get(), 'dist/bin/cortexql'), data => data.replace(/.*ts-node\/register.*/, ''));
23// Clear our package json for release
24const packageJson = require('../../package.json');
25packageJson.main = './index.js';
26delete packageJson.scripts;
27delete packageJson['lint-staged'];
28delete packageJson.jest;
29const { devDependencies } = packageJson;
30delete packageJson.devDependencies;
31fs.writeFileSync(path_1.resolve(appRootDir.get(), './dist/package.json'), JSON.stringify(packageJson, null, 2));
32// Copy .gitignore
33fs.copySync(path_1.resolve(appRootDir.get(), '.gitignore'), path_1.resolve(appRootDir.get(), 'dist/.gitignore'));
34fs.removeSync(path_1.resolve(appRootDir.get(), 'dist/sample'));
35fs.copySync(path_1.resolve(appRootDir.get(), 'sample'), path_1.resolve(appRootDir.get(), 'dist/sample'));
36fs.copySync(path_1.resolve(appRootDir.get(), 'cortexql.png'), path_1.resolve(appRootDir.get(), 'dist/cortexql.png'));
37const samplePackageJson = require('../../dist/sample/package.json');
38samplePackageJson.dependencies['@cortexql/core'] = `^${packageJson.version}`;
39samplePackageJson.dependencies['@cortexql/types'] = `${devDependencies['@cortexql/types']}`;
40samplePackageJson.dependencies['typescript'] = `${devDependencies['typescript']}`;
41fs.writeFileSync(path_1.resolve(appRootDir.get(), 'dist/sample/package.json'), JSON.stringify(samplePackageJson, null, 2));
42//# sourceMappingURL=release.js.map
\No newline at end of file