Add version update. Create packaging script
This commit is contained in:
parent
ecce8a679f
commit
7e0e641e5f
33
angular.json
33
angular.json
|
@ -3,5 +3,38 @@
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"newProjectRoot": "projects",
|
"newProjectRoot": "projects",
|
||||||
"projects": {
|
"projects": {
|
||||||
|
"version-update": {
|
||||||
|
"projectType": "library",
|
||||||
|
"root": "projects/version-update",
|
||||||
|
"sourceRoot": "projects/version-update/src",
|
||||||
|
"prefix": "lib",
|
||||||
|
"architect": {
|
||||||
|
"build": {
|
||||||
|
"builder": "@angular-devkit/build-angular:ng-packagr",
|
||||||
|
"options": {
|
||||||
|
"project": "projects/version-update/ng-package.json"
|
||||||
|
},
|
||||||
|
"configurations": {
|
||||||
|
"production": {
|
||||||
|
"tsConfig": "projects/version-update/tsconfig.lib.prod.json"
|
||||||
|
},
|
||||||
|
"development": {
|
||||||
|
"tsConfig": "projects/version-update/tsconfig.lib.json"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"defaultConfiguration": "production"
|
||||||
|
},
|
||||||
|
"test": {
|
||||||
|
"builder": "@angular-devkit/build-angular:karma",
|
||||||
|
"options": {
|
||||||
|
"tsConfig": "projects/version-update/tsconfig.spec.json",
|
||||||
|
"polyfills": [
|
||||||
|
"zone.js",
|
||||||
|
"zone.js/testing"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,7 +6,9 @@
|
||||||
"start": "ng serve",
|
"start": "ng serve",
|
||||||
"build": "ng build",
|
"build": "ng build",
|
||||||
"watch": "ng build --watch --configuration development",
|
"watch": "ng build --watch --configuration development",
|
||||||
"test": "ng test"
|
"test": "ng test",
|
||||||
|
"build-lib": "ng-packagr -p projects/$npm_config_lib/ng-package.json",
|
||||||
|
"package": "tsc package.ts && node package.ts"
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -23,6 +25,7 @@
|
||||||
"zone.js": "~0.13.0"
|
"zone.js": "~0.13.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@angular-devkit/build-angular": "^16.2.1",
|
||||||
"@angular/cli": "~16.2.0",
|
"@angular/cli": "~16.2.0",
|
||||||
"@angular/compiler-cli": "^16.2.0",
|
"@angular/compiler-cli": "^16.2.0",
|
||||||
"@types/jasmine": "~4.3.0",
|
"@types/jasmine": "~4.3.0",
|
||||||
|
@ -32,6 +35,7 @@
|
||||||
"karma-coverage": "~2.2.0",
|
"karma-coverage": "~2.2.0",
|
||||||
"karma-jasmine": "~5.1.0",
|
"karma-jasmine": "~5.1.0",
|
||||||
"karma-jasmine-html-reporter": "~2.1.0",
|
"karma-jasmine-html-reporter": "~2.1.0",
|
||||||
|
"ng-packagr": "^16.2.0",
|
||||||
"typescript": "~5.1.3"
|
"typescript": "~5.1.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
import * as process from "process";
|
||||||
|
import {error} from "ng-packagr/lib/utils/log";
|
||||||
|
|
||||||
|
const { exec } = require('child_process');
|
||||||
|
|
||||||
|
type Dependency = 'version-update';
|
||||||
|
|
||||||
|
/** Add the dependencies you want to add to your projects */
|
||||||
|
let dependencies: Dependency[] = ['version-update'];
|
||||||
|
const repository: string = 'openaire-libraries';
|
||||||
|
const gitURL: string = `https://code-repo.d4science.org/MaDgIK/${repository}.git`;
|
||||||
|
|
||||||
|
console.log('Cloning ' + repository);
|
||||||
|
|
||||||
|
function installDependency(index: number) {
|
||||||
|
if(index < dependencies.length) {
|
||||||
|
exec(`npm run build-lib --lib=${dependencies[index]}`, (error:string) => {
|
||||||
|
if(error) {
|
||||||
|
console.error(`Error packaging ${dependencies[index]}: ${error}`);
|
||||||
|
clean();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
process.chdir('../');
|
||||||
|
exec(`npm install --no-save ./${repository}/projects/${dependencies[index]}`, (installError: string) => {
|
||||||
|
if(error) {
|
||||||
|
console.error(`Error installing ${dependencies[index]}: ${installError}`);
|
||||||
|
clean();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
process.chdir(repository);
|
||||||
|
installDependency(index + 1);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
clean();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function clean() {
|
||||||
|
/** Clean files after packaging */
|
||||||
|
console.log('Cleaning files')
|
||||||
|
process.chdir('../')
|
||||||
|
exec(`rm -rf ${repository} package.js`, (error: string) => {
|
||||||
|
if(error) {
|
||||||
|
console.error(`Error cleaning files: ${error}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clone ${repository}
|
||||||
|
* */
|
||||||
|
exec(`git clone ${gitURL}`, (cloneError: string) => {
|
||||||
|
if(cloneError) {
|
||||||
|
console.error(`Error cloning the ${repository}: ${cloneError}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log(`${repository} cloned successfully.`);
|
||||||
|
process.chdir(repository);
|
||||||
|
/** Installing node modules */
|
||||||
|
exec(`npm install`, (npmError: string) => {
|
||||||
|
if(npmError) {
|
||||||
|
console.error(`Error installing node modules: ${npmError}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
installDependency(0);
|
||||||
|
});
|
||||||
|
})
|
|
@ -0,0 +1,24 @@
|
||||||
|
# VersionUpdate
|
||||||
|
|
||||||
|
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
|
||||||
|
|
||||||
|
## Code scaffolding
|
||||||
|
|
||||||
|
Run `ng generate component component-name --project version-update` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project version-update`.
|
||||||
|
> Note: Don't forget to add `--project version-update` or else it will be added to the default project in your `angular.json` file.
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
Run `ng build version-update` to build the project. The build artifacts will be stored in the `dist/` directory.
|
||||||
|
|
||||||
|
## Publishing
|
||||||
|
|
||||||
|
After building your library with `ng build version-update`, go to the dist folder `cd dist/version-update` and run `npm publish`.
|
||||||
|
|
||||||
|
## Running unit tests
|
||||||
|
|
||||||
|
Run `ng test version-update` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
||||||
|
|
||||||
|
## Further help
|
||||||
|
|
||||||
|
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
|
||||||
|
"dest": "../../dist/version-update",
|
||||||
|
"lib": {
|
||||||
|
"entryFile": "src/public-api.ts"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"name": "version-update",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@angular/common": "^16.2.0",
|
||||||
|
"@angular/core": "^16.2.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": "^2.3.0"
|
||||||
|
},
|
||||||
|
"sideEffects": false
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { VersionUpdateComponent } from './version-update.component';
|
||||||
|
|
||||||
|
describe('VersionUpdateComponent', () => {
|
||||||
|
let component: VersionUpdateComponent;
|
||||||
|
let fixture: ComponentFixture<VersionUpdateComponent>;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [VersionUpdateComponent]
|
||||||
|
});
|
||||||
|
fixture = TestBed.createComponent(VersionUpdateComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { Component } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'lib-version-update',
|
||||||
|
template: `
|
||||||
|
<p>
|
||||||
|
version-update works!
|
||||||
|
</p>
|
||||||
|
`,
|
||||||
|
styles: [
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class VersionUpdateComponent {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { VersionUpdateComponent } from './version-update.component';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
declarations: [
|
||||||
|
VersionUpdateComponent
|
||||||
|
],
|
||||||
|
imports: [
|
||||||
|
],
|
||||||
|
exports: [
|
||||||
|
VersionUpdateComponent
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class VersionUpdateModule { }
|
|
@ -0,0 +1,16 @@
|
||||||
|
import { TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { VersionUpdateService } from './version-update.service';
|
||||||
|
|
||||||
|
describe('VersionUpdateService', () => {
|
||||||
|
let service: VersionUpdateService;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
TestBed.configureTestingModule({});
|
||||||
|
service = TestBed.inject(VersionUpdateService);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should be created', () => {
|
||||||
|
expect(service).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,9 @@
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class VersionUpdateService {
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
/*
|
||||||
|
* Public API Surface of version-update
|
||||||
|
*/
|
||||||
|
|
||||||
|
export * from './lib/version-update.service';
|
||||||
|
export * from './lib/version-update.component';
|
||||||
|
export * from './lib/version-update.module';
|
|
@ -0,0 +1,14 @@
|
||||||
|
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
||||||
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../../out-tsc/lib",
|
||||||
|
"declaration": true,
|
||||||
|
"declarationMap": true,
|
||||||
|
"inlineSources": true,
|
||||||
|
"types": []
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"**/*.spec.ts"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
||||||
|
{
|
||||||
|
"extends": "./tsconfig.lib.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"declarationMap": false
|
||||||
|
},
|
||||||
|
"angularCompilerOptions": {
|
||||||
|
"compilationMode": "partial"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
||||||
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../../out-tsc/spec",
|
||||||
|
"types": [
|
||||||
|
"jasmine"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"**/*.spec.ts",
|
||||||
|
"**/*.d.ts"
|
||||||
|
]
|
||||||
|
}
|
|
@ -22,7 +22,12 @@
|
||||||
"lib": [
|
"lib": [
|
||||||
"ES2022",
|
"ES2022",
|
||||||
"dom"
|
"dom"
|
||||||
]
|
],
|
||||||
|
"paths": {
|
||||||
|
"version-update": [
|
||||||
|
"dist/version-update"
|
||||||
|
]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"angularCompilerOptions": {
|
"angularCompilerOptions": {
|
||||||
"enableI18nLegacyMessageIdFormat": false,
|
"enableI18nLegacyMessageIdFormat": false,
|
||||||
|
|
Loading…
Reference in New Issue