Browse Source

build: add build scripts for schematics

pull/5137/head
Arman Ozak 6 years ago
parent
commit
50407d19a1
  1. 59
      npm/ng-packs/scripts/build-schematics.ts
  2. 1
      npm/ng-packs/scripts/package.json

59
npm/ng-packs/scripts/build-schematics.ts

@ -0,0 +1,59 @@
import execa from 'execa';
import fse from 'fs-extra';
class FileCopy {
src: string;
dest: string;
options?: fse.CopyOptions;
constructor(filecopyOrSrc: FileCopy | string) {
if (typeof filecopyOrSrc === 'string') {
this.src = filecopyOrSrc;
this.dest = filecopyOrSrc;
} else {
this.src = filecopyOrSrc.src;
this.dest = filecopyOrSrc.dest;
this.options = filecopyOrSrc.options;
}
}
}
const PACKAGE_TO_BUILD = 'schematics';
const FILES_TO_COPY_AFTER_BUILD: (FileCopy | string)[] = [
{ src: 'src/commands/proxy/files-enum', dest: 'commands/proxy/files-enum' },
{ src: 'src/commands/proxy/files-model', dest: 'commands/proxy/files-model' },
{ src: 'src/commands/proxy/files-service', dest: 'commands/proxy/files-service' },
{ src: 'src/collection.json', dest: 'collection.json' },
'package.json',
'README.md',
];
async function* copyPackageFile(packageName: string, filecopy: FileCopy | string) {
filecopy = new FileCopy(filecopy);
const { src, dest, options = { overwrite: true } } = filecopy;
await fse.copy(`../packages/${packageName}/${src}`, `../dist/${packageName}/${dest}`, options);
yield filecopy;
}
async function* copyPackageFiles(packageName: string) {
for (const filecopy of FILES_TO_COPY_AFTER_BUILD) {
yield* copyPackageFile(packageName, filecopy);
}
}
(async () => {
await execa(
'tsc',
['-p', `packages/${PACKAGE_TO_BUILD}/tsconfig.json`, '--outDir', `dist/${PACKAGE_TO_BUILD}`],
{
stdout: 'inherit',
cwd: '../',
},
);
for await (const filecopy of copyPackageFiles(PACKAGE_TO_BUILD)) {
// do nothing
}
})();

1
npm/ng-packs/scripts/package.json

@ -6,6 +6,7 @@
"scripts": {
"build": "ts-node -r tsconfig-paths/register build.ts",
"build:prod": "ts-node -r tsconfig-paths/register prod-build.ts",
"build:schematics": "ts-node -r tsconfig-paths/register build-schematics.ts",
"publish-packages": "ts-node -r tsconfig-paths/register publish.ts",
"replace-with-tilde": "ts-node -r tsconfig-paths/register replace-with-tilde.ts"
},

Loading…
Cancel
Save