Browse Source

Merge pull request #16711 from abpframework/fix-nightly-build

Fix nightly build
pull/16729/head
Masum ULU 3 years ago
committed by GitHub
parent
commit
ac4bbcbe80
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 29
      npm/ng-packs/migrations.json
  2. 56
      npm/ng-packs/package.json
  3. 25
      npm/ng-packs/packages/generators/.eslintrc.json
  4. 11
      npm/ng-packs/packages/generators/README.md
  5. 14
      npm/ng-packs/packages/generators/generators.json
  6. 10
      npm/ng-packs/packages/generators/jest.config.ts
  7. 6
      npm/ng-packs/packages/generators/package.json
  8. 66
      npm/ng-packs/packages/generators/project.json
  9. 15
      npm/ng-packs/packages/generators/src/generators/generate-proxy/generator.ts
  10. 2
      npm/ng-packs/packages/generators/src/generators/generate-proxy/index.ts
  11. 9
      npm/ng-packs/packages/generators/src/generators/generate-proxy/schema.d.ts
  12. 94
      npm/ng-packs/packages/generators/src/generators/generate-proxy/schema.json
  13. 50
      npm/ng-packs/packages/generators/src/generators/update-version/generator.ts
  14. 3
      npm/ng-packs/packages/generators/src/generators/update-version/index.ts
  15. 5
      npm/ng-packs/packages/generators/src/generators/update-version/schema.d.ts
  16. 22
      npm/ng-packs/packages/generators/src/generators/update-version/schema.json
  17. 65
      npm/ng-packs/packages/generators/src/generators/update-version/utils.ts
  18. 1
      npm/ng-packs/packages/generators/src/index.ts
  19. 16
      npm/ng-packs/packages/generators/tsconfig.json
  20. 10
      npm/ng-packs/packages/generators/tsconfig.lib.json
  21. 9
      npm/ng-packs/packages/generators/tsconfig.spec.json
  22. 12
      npm/ng-packs/packages/schematics/package.json
  23. 1
      npm/ng-packs/packages/schematics/src/utils/rule.ts
  24. 2
      npm/ng-packs/packages/theme-shared/package.json
  25. 1
      npm/ng-packs/scripts/package.json
  26. 9
      npm/ng-packs/scripts/publish.ts
  27. 34
      npm/ng-packs/scripts/update-version.ts
  28. 3
      npm/ng-packs/tsconfig.base.json
  29. 17
      npm/publish-ng.ps1

29
npm/ng-packs/migrations.json

@ -1,25 +1,20 @@
{
"migrations": [
{
"version": "16.0.0",
"factory": "./update-16/remove-default-project-option",
"description": "Remove 'defaultProject' option from workspace configuration. The project to use will be determined from the current working directory.",
"package": "@angular/cli",
"name": "remove-default-project-option"
"cli": "nx",
"version": "16.2.0-beta.0",
"description": "Remove outputPath from run commands",
"implementation": "./src/migrations/update-16-2-0/remove-run-commands-output-path",
"package": "nx",
"name": "16.2.0-remove-output-path-from-run-commands"
},
{
"version": "16.0.0",
"factory": "./update-16/replace-default-collection-option",
"description": "Replace removed 'defaultCollection' option in workspace configuration with 'schematicCollections'.",
"package": "@angular/cli",
"name": "replace-default-collection-option"
},
{
"version": "16.0.0",
"factory": "./update-16/update-server-builder-config",
"description": "Update the '@angular-devkit/build-angular:server' builder configuration to disable 'buildOptimizer' for non optimized builds.",
"package": "@angular/cli",
"name": "update-server-builder-config"
"cli": "nx",
"version": "16.2.0-beta.0",
"description": "Normalize tsconfig.cy.json files to be located at '<projectRoot>/cypress/tsconfig.json'",
"implementation": "./src/migrations/update-16-2-0/update-cy-tsconfig",
"package": "@nx/cypress",
"name": "update-16-2-0-normalize-tsconfigs"
}
]
}

56
npm/ng-packs/package.json

@ -39,24 +39,26 @@
"ci": "yarn affected:lint && yarn affected:build && yarn affected:test",
"lerna": "lerna",
"migrate-nx": "yarn nx migrate --run-migrations",
"copy-to:app": "cd scripts && yarn && yarn copy-to-templates -t app"
"copy-to:app": "cd scripts && yarn && yarn copy-to-templates -t app",
"update-version": "nx generate @abp/nx.generators:update-version"
},
"private": true,
"devDependencies": {
"@abp/ng.account": "~7.3.0-preview20230530",
"@abp/ng.account.core": "7.3.0-preview20230530",
"@abp/ng.core": "7.3.0-preview20230530",
"@abp/ng.feature-management": "7.3.0-preview20230530",
"@abp/ng.identity": "7.3.0-preview20230530",
"@abp/ng.oauth": "7.3.0-preview20230530",
"@abp/ng.permission-management": "7.3.0-preview20230530",
"@abp/ng.schematics": "7.3.0-preview20230530",
"@abp/ng.setting-management": "7.3.0-preview20230530",
"@abp/ng.tenant-management": "7.3.0-preview20230530",
"@abp/ng.theme.basic": "7.3.0-preview20230530",
"@abp/ng.account": "~7.2.1",
"@abp/ng.account.core": "~7.2.1",
"@abp/ng.core": "~7.2.1",
"@abp/ng.feature-management": "~7.2.1",
"@abp/ng.identity": "~7.2.1",
"@abp/ng.oauth": "~7.2.1",
"@abp/ng.permission-management": "~7.2.1",
"@abp/ng.schematics": "~7.2.1",
"@abp/ng.setting-management": "~7.2.1",
"@abp/ng.tenant-management": "~7.2.1",
"@abp/ng.theme.basic": "~7.2.1",
"@abp/ng.theme.lepton-x": "^2.2.0",
"@abp/ng.theme.shared": "7.3.0-preview20230530",
"@abp/utils": "7.3.0-preview20230530",
"@abp/ng.theme.shared": "~7.2.1",
"@abp/utils": "~7.2.1",
"@angular-devkit/build-angular": "16.0.1",
"@angular-devkit/core": "16.0.1",
"@angular-devkit/schematics": "16.0.1",
@ -77,16 +79,16 @@
"@angular/platform-browser-dynamic": "16.0.1",
"@angular/router": "16.0.1",
"@fortawesome/fontawesome-free": "^5.15.4",
"@ng-bootstrap/ng-bootstrap": "^14.0.0",
"@ng-bootstrap/ng-bootstrap": "^15.0.0",
"@ngneat/spectator": "^10.0.0",
"@ngx-validate/core": "^0.2.0",
"@nx/angular": "16.1.4",
"@nx/cypress": "16.1.4",
"@nx/eslint-plugin": "16.1.4",
"@nx/jest": "16.1.4",
"@nx/js": "16.1.4",
"@nx/linter": "16.1.4",
"@nx/workspace": "16.1.4",
"@nx/angular": "16.2.2",
"@nx/cypress": "16.2.2",
"@nx/eslint-plugin": "16.2.2",
"@nx/jest": "16.2.2",
"@nx/js": "16.2.2",
"@nx/linter": "16.2.2",
"@nx/workspace": "16.2.2",
"@popperjs/core": "~2.11.2",
"@schematics/angular": "~16.0.1",
"@swc-node/register": "~1.4.2",
@ -94,7 +96,7 @@
"@swc/core": "~1.3.51",
"@swimlane/ngx-datatable": "^20.0.0",
"@types/jest": "29.4.4",
"@types/node": "16.11.7",
"@types/node": "20.2.5",
"@typescript-eslint/eslint-plugin": "5.59.5",
"@typescript-eslint/parser": "5.59.5",
"angular-oauth2-oidc": "^15.0.1",
@ -119,7 +121,7 @@
"lint-staged": "^13.0.3",
"ng-packagr": "16.0.1",
"ng-zorro-antd": "^15.0.0",
"nx": "16.1.4",
"nx": "16.2.2",
"perfect-scrollbar": "^1.5.5",
"postcss": "^8.3.9",
"postcss-import": "14.1.0",
@ -135,7 +137,10 @@
"tslib": "^2.3.0",
"tslint": "~6.1.0",
"typescript": "5.0.4",
"zone.js": "~0.13.0"
"zone.js": "~0.13.0",
"@nx/devkit": "16.2.2",
"@nx/plugin": "^16.2.2",
"@swc/helpers": "~0.5.0"
},
"lint-staged": {
"**/*.{js,jsx,ts,tsx,html,css,scss}": [
@ -144,3 +149,4 @@
},
"dependencies": {}
}

25
npm/ng-packs/packages/generators/.eslintrc.json

@ -0,0 +1,25 @@
{
"extends": ["../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
"rules": {}
},
{
"files": ["*.ts", "*.tsx"],
"rules": {}
},
{
"files": ["*.js", "*.jsx"],
"rules": {}
},
{
"files": ["./package.json", "./generators.json"],
"parser": "jsonc-eslint-parser",
"rules": {
"@nx/nx-plugin-checks": "error"
}
}
]
}

11
npm/ng-packs/packages/generators/README.md

@ -0,0 +1,11 @@
# generators
This library was generated with [Nx](https://nx.dev).
## Building
Run `nx build generators` to build the library.
## Running unit tests
Run `nx test generators` to execute the unit tests via [Jest](https://jestjs.io).

14
npm/ng-packs/packages/generators/generators.json

@ -0,0 +1,14 @@
{
"generators": {
"generate-proxy": {
"factory": "./src/generators/generate-proxy/generator",
"schema": "./src/generators/generate-proxy/schema.json",
"description": "generate-proxy generator"
},
"update-version": {
"factory": "./src/generators/update-version/generator",
"schema": "./src/generators/update-version/schema.json",
"description": "update-version generator"
}
}
}

10
npm/ng-packs/packages/generators/jest.config.ts

@ -0,0 +1,10 @@
/* eslint-disable */
export default {
displayName: 'generators',
preset: '../../jest.preset.js',
transform: {
'^.+\\.[tj]s$': ['ts-jest', { tsconfig: '<rootDir>/tsconfig.spec.json' }],
},
moduleFileExtensions: ['ts', 'js', 'html'],
coverageDirectory: '../../coverage/packages/generators',
};

6
npm/ng-packs/packages/generators/package.json

@ -0,0 +1,6 @@
{
"name": "@abp/nx.generators",
"version": "7.3.0-preview20230530",
"type": "commonjs",
"generators": "./generators.json"
}

66
npm/ng-packs/packages/generators/project.json

@ -0,0 +1,66 @@
{
"name": "generators",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "packages/generators/src",
"projectType": "library",
"targets": {
"build": {
"executor": "@nx/js:tsc",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/packages/generators",
"main": "packages/generators/src/index.ts",
"tsConfig": "packages/generators/tsconfig.lib.json",
"assets": [
"packages/generators/*.md",
{
"input": "./packages/generators/src",
"glob": "**/!(*.ts)",
"output": "./src"
},
{
"input": "./packages/generators/src",
"glob": "**/*.d.ts",
"output": "./src"
},
{
"input": "./packages/generators",
"glob": "generators.json",
"output": "."
},
{
"input": "./packages/generators",
"glob": "executors.json",
"output": "."
}
]
}
},
"lint": {
"executor": "@nx/linter:eslint",
"outputs": ["{options.outputFile}"],
"options": {
"lintFilePatterns": [
"packages/generators/**/*.ts",
"packages/generators/package.json",
"packages/generators/generators.json"
]
}
},
"test": {
"executor": "@nx/jest:jest",
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "packages/generators/jest.config.ts",
"passWithNoTests": true
},
"configurations": {
"ci": {
"ci": true,
"codeCoverage": true
}
}
}
},
"tags": []
}

15
npm/ng-packs/packages/generators/src/generators/generate-proxy/generator.ts

@ -0,0 +1,15 @@
import { GenerateProxyGeneratorSchema } from './schema';
import { Tree } from '@nrwl/devkit';
import { wrapAngularDevkitSchematic } from '@nx/devkit/ngcli-adapter';
export default async function (host: Tree, schema: GenerateProxyGeneratorSchema) {
const runAngularLibrarySchematic = wrapAngularDevkitSchematic('@abp/ng.schematics', 'proxy-add');
await runAngularLibrarySchematic(host, {
...schema,
});
return () => {
console.log(`proxy added '${schema.target}`);
};
}

2
npm/ng-packs/packages/generators/src/generators/generate-proxy/index.ts

@ -0,0 +1,2 @@
export * from './schema';
export * from './generator';

9
npm/ng-packs/packages/generators/src/generators/generate-proxy/schema.d.ts

@ -0,0 +1,9 @@
export interface GenerateProxyGeneratorSchema {
module: string;
apiName: string;
source: string;
target: string;
url: string;
serviceType: string;
entryPoint: string;
}

94
npm/ng-packs/packages/generators/src/generators/generate-proxy/schema.json

@ -0,0 +1,94 @@
{
"$schema": "https://json-schema.org/schema",
"$id": "GenerateProxy",
"title": "",
"type": "object",
"properties": {
"module": {
"description": "Backend module name",
"type": "string",
"$default": {
"$source": "argv",
"index": 0
},
"x-prompt": "Please enter backend module name. (default: \"app\")"
},
"apiName": {
"description": "Backend api name, a.k.a. remoteServiceName",
"type": "string",
"$default": {
"$source": "argv",
"index": 1
},
"x-prompt": "Please enter backend api name, a.k.a. remoteServiceName. (default: \"default\")"
},
"source": {
"description": "Source Angular project for API definition URL & root namespace resolution",
"type": "string",
"$default": {
"$source": "argv",
"index": 2
},
"x-prompt": "Please enter source Angular project for API definition URL & root namespace resolution. (default: workspace \"defaultProject\")"
},
"target": {
"description": "Target Angular project to place the generated code",
"type": "string",
"$default": {
"$source": "argv",
"index": 3
},
"x-prompt": "Please enter target Angular project to place the generated code. (default: workspace \"defaultProject\")"
},
"url": {
"description": "Url for API definition",
"type": "string",
"$default": {
"$source": "argv",
"index": 4
},
"x-prompt": "Please enter URL for API definition (default: API Name's url in environment file)"
},
"serviceType": {
"description": "Service type to the generated code",
"type": "string",
"$default": {
"$source": "argv",
"index": 5
},
"enum": [
"application",
"integration",
"all"
],
"x-prompt": {
"message": "Specifies the service type to generate. `application`, `integration` and `all`, Default value: `application`",
"type": "list",
"items": [
{
"value": "all",
"label": "All"
},
{
"value": "application",
"label": "Application"
},
{
"value": "integration",
"label": "Integration"
}
]
}
},
"entryPoint": {
"description": "Target Angular project to place the generated code",
"type": "string",
"$default": {
"$source": "argv",
"index": 6
},
"x-prompt": "Please enter target entry point to place the generated code. (default: null)"
}
},
"required": []
}

50
npm/ng-packs/packages/generators/src/generators/update-version/generator.ts

@ -0,0 +1,50 @@
import { Tree, updateJson } from '@nx/devkit';
import { UpdateVersionGeneratorSchema } from './schema';
import { getPackageJsonList, getVersionByPackageNameFactory, semverRegex } from './utils';
export function updateVersionGenerator(tree: Tree, schema: UpdateVersionGeneratorSchema) {
const packageJsonList = getPackageJsonList(tree, schema.packages || []);
const getVersionNumberByPackageName = getVersionByPackageNameFactory(
schema.abpVersion,
schema.leptonXVersion,
);
packageJsonList.forEach(path => {
updateJson(tree, path, pkgJson => {
pkgJson.version = getVersionNumberByPackageName(pkgJson.name) || pkgJson.version;
console.log('\x1b[32m', `Updated ${pkgJson.name} version to ${pkgJson.version}`);
Object.keys(pkgJson.dependencies || {}).forEach(key => {
const v = getVersionNumberByPackageName(key);
if (!v) {
return;
}
pkgJson.dependencies[key] = pkgJson.dependencies[key].replace(semverRegex, v);
console.log('\x1b[32m', `Updated ${key} version to ${v} in dependencies`);
});
Object.keys(pkgJson.peerDependencies || {}).forEach(key => {
const v = getVersionNumberByPackageName(key);
if (!v) {
return;
}
pkgJson.peerDependencies[key] = pkgJson.peerDependencies[key].replace(semverRegex, v);
console.log('\x1b[32m', `Updated ${key} version to ${schema.abpVersion} in peerDependencies`);
});
Object.keys(pkgJson.devDependencies || {}).forEach(key => {
const v = getVersionNumberByPackageName(key);
if (!v) {
return;
}
pkgJson.devDependencies[key] = pkgJson.devDependencies[key].replace(semverRegex, v);
console.log('\x1b[32m', `Updated ${key} version to ${schema.abpVersion} on devDependencies`);
});
return pkgJson;
});
});
// eslint-disable-next-line @typescript-eslint/no-empty-function
return () => {};
}
export default updateVersionGenerator;

3
npm/ng-packs/packages/generators/src/generators/update-version/index.ts

@ -0,0 +1,3 @@
export * from './generator';
export * from './schema';
export * from './utils'

5
npm/ng-packs/packages/generators/src/generators/update-version/schema.d.ts

@ -0,0 +1,5 @@
export interface UpdateVersionGeneratorSchema {
abpVersion:string;
leptonXVersion: string;
packages?: string[];
}

22
npm/ng-packs/packages/generators/src/generators/update-version/schema.json

@ -0,0 +1,22 @@
{
"$schema": "http://json-schema.org/schema",
"$id": "UpdateVersion",
"title": "",
"type": "object",
"properties": {
"abpVersion": {
"type": "string",
"description": "",
"$default": {
"$source": "argv",
"index": 0
},
"x-prompt": "What ABP version would you like to use?"
},
"leptonXVersion": {
"type": "string",
"description": ""
}
},
"required": ["abpVersion"]
}

65
npm/ng-packs/packages/generators/src/generators/update-version/utils.ts

@ -0,0 +1,65 @@
import { getProjects, readJson, readProjectConfiguration, Tree } from '@nx/devkit';
export const IGNORED_PROJECT_NAMES = ['apex-chart-components', 'bs-components', 'workspace-plugin'];
export function getPackageJsonList(tree: Tree, packages: string[]): string[] {
const project = getProjects(tree);
const result = ['/package.json'];
project.forEach((value, key) => {
if (value.projectType !== 'library') {
return;
}
if (IGNORED_PROJECT_NAMES.some(x => x === key)) {
return;
}
const projectConfiguration = readProjectConfiguration(tree, key);
if (packages.length && !packages.includes(value.name)) {
return;
}
result.push(projectConfiguration.root + '/package.json');
});
return result;
}
export function getPackageNameList(tree: Tree, packageJsonList: string[]) {
return packageJsonList.map(packageJson => {
const jsonFile = readJson(tree, packageJson);
return jsonFile.name;
});
}
const leptonPackages = [
'@abp/ng.theme.lepton-x',
'@volosoft/ngx-lepton-x',
'@volo/abp.ng.lepton-x.core',
'@volo/ngx-lepton-x.core',
'@volo/ngx-lepton-x.lite',
'@volosoft/abp.ng.theme.lepton-x',
];
const abpPackageNameRegex = /^@(abp|volo|volosoft)\/.*/;
export function isAbpPack(packageName) {
return abpPackageNameRegex.test(packageName) && !leptonPackages.includes(packageName);
}
export function functionisLeptonXPack(packageName) {
return leptonPackages.includes(packageName);
}
export function getVersionByPackageNameFactory(abpVersionName: string, leptonXVersionName: string) {
return (packageName: string) => {
if (isAbpPack(packageName)) {
return abpVersionName;
}
if (functionisLeptonXPack(packageName)) {
return leptonXVersionName;
}
return '';
};
}
export const semverRegex =
/\d+\.\d+\.\d+(?:-[a-zA-Z0-9]+(?:\.[a-zA-Z0-9-]+)*)?(?:\+[a-zA-Z0-9]+(?:\.[a-zA-Z0-9-]+)*)?$/;

1
npm/ng-packs/packages/generators/src/index.ts

@ -0,0 +1 @@
export * from './generators/generate-proxy'

16
npm/ng-packs/packages/generators/tsconfig.json

@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"module": "commonjs"
},
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
},
{
"path": "./tsconfig.spec.json"
}
]
}

10
npm/ng-packs/packages/generators/tsconfig.lib.json

@ -0,0 +1,10 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"declaration": true,
"types": ["node"]
},
"include": ["src/**/*.ts"],
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
}

9
npm/ng-packs/packages/generators/tsconfig.spec.json

@ -0,0 +1,9 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"module": "commonjs",
"types": ["jest", "node"]
},
"include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"]
}

12
npm/ng-packs/packages/schematics/package.json

@ -9,18 +9,18 @@
"license": "MIT",
"schematics": "./collection.json",
"dependencies": {
"@angular-devkit/core": "~16.0.0",
"@angular-devkit/schematics": "~16.0.0",
"@angular/cli": "~16.0.0",
"@angular-devkit/core": "16.0.1",
"@angular-devkit/schematics": "16.0.1",
"@angular/cli": "16.0.1",
"got": "^11.5.2",
"jsonc-parser": "^2.3.0",
"should-quote": "^1.0.0",
"typescript": "5.0.4"
},
"devDependencies": {
"@schematics/angular": "~16.0.0",
"@types/jest": "^26.0.0",
"@types/node": "^12.11.1",
"@schematics/angular": "16.0.1",
"@types/jest": "29.4.4",
"@types/node": "20.2.5",
"jest": "29.4.3",
"jest-preset-angular": "13.1.0"
},

1
npm/ng-packs/packages/schematics/src/utils/rule.ts

@ -25,6 +25,7 @@ export function applyWithOverwrite(source: Source, rules: Rule[]): Rule {
export function mergeAndAllowDelete(host: Tree, rule: Rule) {
return async (tree: Tree, context: SchematicContext) => {
const nextTree = await callRule(rule, tree, context).toPromise();
if(!nextTree) return;
host.merge(nextTree, MergeStrategy.AllowDeleteConflict);
};
}

2
npm/ng-packs/packages/theme-shared/package.json

@ -9,7 +9,7 @@
"dependencies": {
"@abp/ng.core": "~7.2.2",
"@fortawesome/fontawesome-free": "^5.15.4",
"@ng-bootstrap/ng-bootstrap": "^14.0.0",
"@ng-bootstrap/ng-bootstrap": "^15.0.0",
"@ngx-validate/core": "^0.2.0",
"@popperjs/core": "~2.11.2",
"@swimlane/ngx-datatable": "^20.0.0",

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

@ -7,7 +7,6 @@
"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",
"update-version": "ts-node -r tsconfig-paths/register update-version.ts",
"publish-packages": "ts-node -r tsconfig-paths/register publish.ts",
"replace-with-tilde": "ts-node -r tsconfig-paths/register replace-with-tilde.ts",
"remove-tilde-or-caret": "ts-node -r tsconfig-paths/register remove-tilde-or-caret.ts",

9
npm/ng-packs/scripts/publish.ts

@ -31,10 +31,6 @@ program.parse(process.argv);
try {
await fse.remove('../dist/packages');
await execa('yarn', ['install'], { stdout: 'inherit', cwd: '../' });
await updateVersion(program.nextVersion);
if (!program.skipVersionValidation) {
await execa(
'yarn',
@ -102,15 +98,12 @@ program.parse(process.argv);
})();
async function updateVersion(version: string) {
await fse.rename('../lerna.version.json', '../lerna.json');
await execa(
'yarn',
['lerna', 'version', version, '--yes', '--no-commit-hooks', '--skip-git', '--force-publish'],
['update-version', version],
{ stdout: 'inherit', cwd: '../' },
);
await fse.rename('../lerna.json', '../lerna.version.json');
await execa('yarn', ['replace-with-tilde']);
}

34
npm/ng-packs/scripts/update-version.ts

@ -1,34 +0,0 @@
import fse from 'fs-extra';
import execa from 'execa';
import program from 'commander';
program
.option(
'-v, --nextVersion <version>',
'next semantic version. Available versions: ["major", "minor", "patch", "premajor", "preminor", "prepatch", "prerelease", "or type a custom version"]',
);
program.parse(process.argv);
(async () => {
await updateVersion(program.nextVersion);
})();
async function updateVersion(version: string) {
if(!version){
console.error('Please provide a version with --nextVersion attribute');
return;
}
await fse.rename('../lerna.version.json', '../lerna.json');
await execa(
'yarn',
['lerna', 'version', version, '--yes', '--no-commit-hooks', '--skip-git', '--force-publish'],
{ stdout: 'inherit', cwd: '../' },
);
await fse.rename('../lerna.json', '../lerna.version.json');
await execa('yarn', ['replace-with-tilde']);
}

3
npm/ng-packs/tsconfig.base.json

@ -44,7 +44,8 @@
"@abp/ng.theme.basic/testing": ["packages/theme-basic/testing/src/public-api.ts"],
"@abp/ng.theme.shared": ["packages/theme-shared/src/public-api.ts"],
"@abp/ng.theme.shared/extensions": ["packages/theme-shared/extensions/src/public-api.ts"],
"@abp/ng.theme.shared/testing": ["packages/theme-shared/testing/src/public-api.ts"]
"@abp/ng.theme.shared/testing": ["packages/theme-shared/testing/src/public-api.ts"],
"@abp/nx.generators": ["packages/generators/src/index.ts"]
}
},
"exclude": ["node_modules", "tmp"]

17
npm/publish-ng.ps1

@ -15,10 +15,9 @@ if (-Not $Version) {
if (-Not $Registry) {
$Registry = "https://registry.npmjs.org";
}
$UpdateNgPacksCommand = "yarn update ./ng-packs abp --registry $Registry"
$UpdateNgPacksUpdateVersionCommand = "yarn update-version -v $Version"
$UpdateNgPacksCommand = "yarn update-version $Version"
$NgPacksPublishCommand = "npm run publish-packages -- --nextVersion $Version --skipGit --registry $Registry --skipVersionValidation"
$UpdateGulpCommand = "yarn update-gulp --registry $Registry"
#$UpdateGulpCommand = "yarn update-gulp --registry $Registry"
$IsPrerelease = $(node publish-utils.js --prerelease --customVersion $Version) -eq "true";
@ -29,17 +28,17 @@ if ($IsPrerelease) {
}
$commands = (
"cd ng-packs",
"yarn install",
$UpdateNgPacksCommand,
"cd ng-packs\scripts",
"cd scripts",
"yarn install",
# $UpdateNgPacksUpdateVersionCommand,
"yarn remove-tilde-or-caret",
$NgPacksPublishCommand,
"cd ../../",
"cd scripts",
"yarn remove-lock-files",
"cd ..",
$UpdateGulpCommand
"yarn remove-lock-files"
# "cd ..",
# $UpdateGulpCommand
)
foreach ($command in $commands) {

Loading…
Cancel
Save