diff --git a/.gitignore b/.gitignore index af04f32..9026541 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,5 @@ packages/angular/dist # System Files .DS_Store Thumbs.db + +.angular diff --git a/tools/assets/publishing/.npmignore b/packages/angular/.npmignore similarity index 100% rename from tools/assets/publishing/.npmignore rename to packages/angular/.npmignore diff --git a/packages/angular/ng-package.json b/packages/angular/ng-package.json index 156f4b3..8450535 100644 --- a/packages/angular/ng-package.json +++ b/packages/angular/ng-package.json @@ -1,7 +1,9 @@ { "$schema": "../../node_modules/ng-packagr/package.schema.json", + "assets": [".npmignore"], "lib": { "entryFile": "src/index.ts" }, + "dest": "../../dist/packages/angular", "allowedNonPeerDependencies": ["."] } diff --git a/packages/angular/project.json b/packages/angular/project.json index a681af9..6740c30 100644 --- a/packages/angular/project.json +++ b/packages/angular/project.json @@ -5,11 +5,10 @@ "generators": {}, "targets": { "build": { - "executor": "@nrwl/workspace:run-commands", - "outputs": ["dist/packages"], + "builder": "@angular-devkit/build-angular:ng-packagr", "options": { - "commands": ["node tools/scripts/build-angular.ts angular"], - "parallel": false + "tsConfig": "packages/angular/tsconfig.lib.prod.json", + "project": "packages/angular/ng-package.json" } }, "lint": { diff --git a/packages/angular/tsconfig.angular.json b/packages/angular/tsconfig.angular.json deleted file mode 100644 index 4688fed..0000000 --- a/packages/angular/tsconfig.angular.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../node_modules/ng-packagr/lib/ts/conf/tsconfig.ngc.json", - "compilerOptions": { - "types": ["node", "./references"], - "lib": ["es2017", "dom"], - "baseUrl": ".", - "paths": { - "@nativescript/core": ["../../node_modules/@nativescript/core"] - } - }, - "files": ["src/index.ts"], - "angularCompilerOptions": { - "compilationMode": "partial", - "enableResourceInlining": true - } -} diff --git a/packages/angular/tsconfig.lib.json b/packages/angular/tsconfig.lib.json index d17b549..4975e58 100644 --- a/packages/angular/tsconfig.lib.json +++ b/packages/angular/tsconfig.lib.json @@ -1,8 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": [] + "types": ["node", "./references"], + "outDir": "../../dist/out-tsc" }, "exclude": ["**/*.spec.ts", "dist/**/*"], "include": ["**/*.ts"] diff --git a/packages/angular/tsconfig.lib.prod.json b/packages/angular/tsconfig.lib.prod.json new file mode 100644 index 0000000..2a2faa8 --- /dev/null +++ b/packages/angular/tsconfig.lib.prod.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.lib.json", + "compilerOptions": { + "declarationMap": false + }, + "angularCompilerOptions": { + "compilationMode": "partial" + } +} diff --git a/tools/scripts/build-angular.ts b/tools/scripts/build-angular.ts deleted file mode 100755 index 054a7c6..0000000 --- a/tools/scripts/build-angular.ts +++ /dev/null @@ -1,48 +0,0 @@ -const ngPackage = require('ng-packagr'); -const path = require('path'); -const fs = require('fs-extra'); - -const rootDir = path.resolve(path.join(__dirname, '..', '..')); -const nxConfigPath = path.resolve(path.join(rootDir, 'nx.json')); -const nxConfig = JSON.parse(fs.readFileSync(nxConfigPath)); -const npmScope = nxConfig.npmScope; - -const cmdArgs = process.argv.slice(2); -const packageName = cmdArgs[0]; -const publish = cmdArgs[1] === 'publish'; - -console.log(`Building ${npmScope}/${packageName}...${publish ? 'and publishing.' : ''}`); - -// build angular package -function buildAngular() { - ngPackage - .ngPackagr() - .forProject(path.join('packages', packageName, 'ng-package.json')) - .withTsConfig(path.join('packages', packageName, 'tsconfig.angular.json')) - .build() - .then(() => { - copyAngularDist(); - }) - .catch((error) => { - console.error(error); - process.exit(1); - }); -} - -// copy angular ng-packagr output to dist/packages/{name} -function copyAngularDist() { - fs.copy(path.join('packages', packageName, 'dist'), path.join('dist', 'packages', packageName)) - .then(() => { - console.log(`${packageName} angular built successfully.`); - finishPreparation(); - }) - .catch((err) => console.error(err)); -} - -function finishPreparation() { - fs.copy(path.join('tools', 'assets', 'publishing'), path.join('dist', 'packages', packageName)) - .then(() => console.log(`${npmScope}/${packageName} ready to publish.`)) - .catch((err) => console.error(err)); -} - -buildAngular();