From d59689442b941602437cc31eff857a292e63dedf Mon Sep 17 00:00:00 2001 From: Giorgi Cheishvili Date: Thu, 11 Jan 2024 20:45:30 +0400 Subject: [PATCH 1/8] chore: renamed @ui5/webcomponents-api-json-parser to @ui5/webcomponents-schema-parser --- MAINTAINERS.md | 4 +- apps/documentation/api-json.config.ts | 2 +- apps/documentation/stories-sync.conf.ts | 2 +- apps/playground/src/app/app.component.html | 22 +++++- apps/playground/src/app/app.component.ts | 11 ++- libs/angular-generator/README.md | 2 +- libs/ui5-angular/wrapper.conf.ts | 2 +- .../.eslintrc.json | 0 .../.lib.swcrc | 0 .../CHANGELOG.md | 72 +++++++++---------- .../README.md | 0 .../package.json | 2 +- .../project.json | 14 ++-- libs/ui5-schema-parser/src/index.ts | 1 + .../lib/api-json-parser}/combined-events.ts | 0 .../lib/api-json-parser}/combined-methods.ts | 0 .../api-json-parser}/combined-properties.ts | 0 .../lib/api-json-parser}/combined-slots.ts | 0 .../lib/api-json-parser}/get-components.ts | 0 .../getImplementersAndSymbols.ts | 0 .../src/lib/api-json-parser}/index.ts | 9 ++- .../api-json-parser}/parser-configuration.ts | 0 .../src/lib/api-json-parser}/symbol-types.ts | 0 .../tsconfig.json | 0 .../tsconfig.lib.json | 0 tsconfig.base.json | 4 +- 26 files changed, 87 insertions(+), 60 deletions(-) rename libs/{api-json-parser => ui5-schema-parser}/.eslintrc.json (100%) rename libs/{api-json-parser => ui5-schema-parser}/.lib.swcrc (100%) rename libs/{api-json-parser => ui5-schema-parser}/CHANGELOG.md (71%) rename libs/{api-json-parser => ui5-schema-parser}/README.md (100%) rename libs/{api-json-parser => ui5-schema-parser}/package.json (71%) rename libs/{api-json-parser => ui5-schema-parser}/project.json (54%) create mode 100644 libs/ui5-schema-parser/src/index.ts rename libs/{api-json-parser/src/lib => ui5-schema-parser/src/lib/api-json-parser}/combined-events.ts (100%) rename libs/{api-json-parser/src/lib => ui5-schema-parser/src/lib/api-json-parser}/combined-methods.ts (100%) rename libs/{api-json-parser/src/lib => ui5-schema-parser/src/lib/api-json-parser}/combined-properties.ts (100%) rename libs/{api-json-parser/src/lib => ui5-schema-parser/src/lib/api-json-parser}/combined-slots.ts (100%) rename libs/{api-json-parser/src/lib => ui5-schema-parser/src/lib/api-json-parser}/get-components.ts (100%) rename libs/{api-json-parser/src/lib => ui5-schema-parser/src/lib/api-json-parser}/getImplementersAndSymbols.ts (100%) rename libs/{api-json-parser/src => ui5-schema-parser/src/lib/api-json-parser}/index.ts (61%) rename libs/{api-json-parser/src/lib => ui5-schema-parser/src/lib/api-json-parser}/parser-configuration.ts (100%) rename libs/{api-json-parser/src/lib => ui5-schema-parser/src/lib/api-json-parser}/symbol-types.ts (100%) rename libs/{api-json-parser => ui5-schema-parser}/tsconfig.json (100%) rename libs/{api-json-parser => ui5-schema-parser}/tsconfig.lib.json (100%) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 65b365ff..f92af230 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -7,7 +7,7 @@ The project is divided into 2 main parts: - Publishable library - `ui5-angular`, aka `@ui5/webcomponents-ngx` - Libraries for creating the publishable library. - `wrapper` - Contains core logic for wrapping the web components. - - `api-json-parser` - Contains logic for parsing the web components API JSONs into `ComponentData` structure + - `ui5-schema-parser` - Contains logic for parsing the web components API JSONs into `ComponentData` structure - `angular-generator` - Contains logic for generating the Angular components and directives from `ComponentData` interface. - `fs-commit` - Contains logic for committing the generated files to the filesystem(or any other persistence layer). @@ -46,7 +46,7 @@ the default behavior. As every step is just pure function, you can easily write your own implementation of any step on top of the existing one and use it in your wrapper configuration. -### API JSON parser - @ui5/webcomponents-api-json-parser +### API JSON parser - @ui5/webcomponents-schema-parser API JSON parser is a library that contains logic for parsing the web components API JSONs into `ComponentData` structure. It expects that it will receive the paths to the API JSONs, which should be in the format of the `@ui5/webcomponents` export. diff --git a/apps/documentation/api-json.config.ts b/apps/documentation/api-json.config.ts index 991de98d..13e538b2 100644 --- a/apps/documentation/api-json.config.ts +++ b/apps/documentation/api-json.config.ts @@ -1,5 +1,5 @@ import {ComponentData, GeneratedFile, WrapperConfig} from "@ui5/webcomponents-wrapper"; -import apiJsonParser from '@ui5/webcomponents-api-json-parser'; +import { apiJsonParser } from '@ui5/webcomponents-schema-parser'; import {stringify} from 'flatted'; export default { diff --git a/apps/documentation/stories-sync.conf.ts b/apps/documentation/stories-sync.conf.ts index 599d5587..b0cd5ae7 100644 --- a/apps/documentation/stories-sync.conf.ts +++ b/apps/documentation/stories-sync.conf.ts @@ -1,6 +1,6 @@ import { ComponentData, FileSystemInterface } from "@ui5/webcomponents-wrapper"; import { ParsedSample, ui5SamplesParser } from "@ui5/webcomponents-samples-parser"; -import apiJsonParser from '@ui5/webcomponents-api-json-parser'; +import { apiJsonParser } from '@ui5/webcomponents-schema-parser'; import { storybookFilesGenerator } from "@ui5/webcomponents-ngx-generator"; import { snakeCase } from "lodash"; import { Ui5NxWrapperConfig } from "@ui5/webcomponents-nx"; diff --git a/apps/playground/src/app/app.component.html b/apps/playground/src/app/app.component.html index 0680b43f..f7b72709 100644 --- a/apps/playground/src/app/app.component.html +++ b/apps/playground/src/app/app.component.html @@ -1 +1,21 @@ - + +

Radio

+
+ FormControl value: {{ radioControl.value }}, touched: {{ radioControl.touched }}
+ + + + +
+ + +

Select

+
+ FormControl value: {{ selectControl.value }}, touched: {{ selectControl.touched }}
+ + + Phone + Tablet + Desktop + +
diff --git a/apps/playground/src/app/app.component.ts b/apps/playground/src/app/app.component.ts index c75d995e..a2c2cb20 100644 --- a/apps/playground/src/app/app.component.ts +++ b/apps/playground/src/app/app.component.ts @@ -1,11 +1,18 @@ import {Component} from '@angular/core'; +import { FormControl } from "@angular/forms"; @Component({ selector: 'ui-angular-root', templateUrl: './app.component.html' }) export class AppComponent { - log($event: any) { - console.log($event) + radioControl = new FormControl('Option 2'); + selectControl = new FormControl('desktop'); + + updateSelectFormModel() { + this.selectControl.setValue("phone"); + } + updateRadioFormModel() { + this.radioControl.setValue("Option 1"); } } diff --git a/libs/angular-generator/README.md b/libs/angular-generator/README.md index 8b1d3471..eaf6c7e5 100644 --- a/libs/angular-generator/README.md +++ b/libs/angular-generator/README.md @@ -9,7 +9,7 @@ Lets say you have a list of the [ComponentData](/libs/wrapper/src/lib/types/comp ```typescript import {ComponentData, GeneratedFile, WrapperConfig} from "@ui5/webcomponents-wrapper"; -import apiJsonParser from "@ui5/webcomponents-api-json-parser"; +import apiJsonParser from "@ui5/webcomponents-schema-parser"; import { AngularExportSpecifierType, AngularGeneratedFile, AngularModuleFile, diff --git a/libs/ui5-angular/wrapper.conf.ts b/libs/ui5-angular/wrapper.conf.ts index 0b86de38..8b387f4e 100644 --- a/libs/ui5-angular/wrapper.conf.ts +++ b/libs/ui5-angular/wrapper.conf.ts @@ -1,5 +1,5 @@ import { ComponentData } from "@ui5/webcomponents-wrapper"; -import apiJsonParser from "@ui5/webcomponents-api-json-parser"; +import { apiJsonParser } from "@ui5/webcomponents-schema-parser"; import { AngularExportSpecifierType, AngularGeneratedFile, diff --git a/libs/api-json-parser/.eslintrc.json b/libs/ui5-schema-parser/.eslintrc.json similarity index 100% rename from libs/api-json-parser/.eslintrc.json rename to libs/ui5-schema-parser/.eslintrc.json diff --git a/libs/api-json-parser/.lib.swcrc b/libs/ui5-schema-parser/.lib.swcrc similarity index 100% rename from libs/api-json-parser/.lib.swcrc rename to libs/ui5-schema-parser/.lib.swcrc diff --git a/libs/api-json-parser/CHANGELOG.md b/libs/ui5-schema-parser/CHANGELOG.md similarity index 71% rename from libs/api-json-parser/CHANGELOG.md rename to libs/ui5-schema-parser/CHANGELOG.md index 55421e9b..a0a8909b 100644 --- a/libs/api-json-parser/CHANGELOG.md +++ b/libs/ui5-schema-parser/CHANGELOG.md @@ -17,19 +17,19 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline ## [0.2.3-rc.7](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.3-rc.6...v0.2.3-rc.7) (2023-12-18) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.3-rc.6](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.3-rc.5...v0.2.3-rc.6) (2023-12-13) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.3-rc.5](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.3-rc.4...v0.2.3-rc.5) (2023-12-12) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.3-rc.4](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.3-rc.3...v0.2.3-rc.4) (2023-12-12) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.3-rc.3](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.3-rc.2...v0.2.3-rc.3) (2023-12-06) @@ -39,19 +39,19 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline ## [0.2.3-rc.2](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.3-rc.1...v0.2.3-rc.2) (2023-11-22) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.3-rc.1](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.3-rc.0...v0.2.3-rc.1) (2023-11-07) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.3-rc.0](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.2...v0.2.3-rc.0) (2023-11-05) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.2](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.2-rc.3...v0.2.2) (2023-08-14) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.2-rc.3](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.2-rc.2...v0.2.2-rc.3) (2023-08-14) @@ -61,59 +61,59 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline ## [0.2.2-rc.2](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.2-rc.1...v0.2.2-rc.2) (2023-08-14) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.2-rc.1](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.2-rc.0...v0.2.2-rc.1) (2023-08-13) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.2-rc.0](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.1...v0.2.2-rc.0) (2023-06-30) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.1](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.1-rc.0...v0.2.1) (2023-06-15) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.2.1-rc.0](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.0...v0.2.1-rc.0) (2023-06-15) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser # [0.2.0](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.0-rc.2...v0.2.0) (2023-05-17) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser # [0.2.0-rc.2](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.0-rc.1...v0.2.0-rc.2) (2023-05-17) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser # [0.2.0-rc.1](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.2.0-rc.0...v0.2.0-rc.1) (2023-05-17) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser # [0.2.0-rc.0](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.2-rc.1...v0.2.0-rc.0) (2023-05-15) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.1.2-rc.1](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.2-rc.0...v0.1.2-rc.1) (2023-05-15) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.1.2-rc.0](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.1...v0.1.2-rc.0) (2023-05-12) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.1.1](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.1-rc.5...v0.1.1) (2023-04-17) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.1.1-rc.5](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.1-rc.4...v0.1.1-rc.5) (2023-04-17) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.1.1-rc.4](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.1-rc.3...v0.1.1-rc.4) (2023-04-17) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.1.1-rc.3](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.1-rc.2...v0.1.1-rc.3) (2023-04-14) @@ -123,27 +123,27 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline ## [0.1.1-rc.2](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.1-rc.1...v0.1.1-rc.2) (2023-04-06) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.1.1-rc.1](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.1-rc.0...v0.1.1-rc.1) (2023-04-05) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.1.1-rc.0](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.0...v0.1.1-rc.0) (2023-03-30) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser # [0.1.0](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.0-rc.3...v0.1.0) (2023-03-23) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser # [0.1.0-rc.3](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.0-rc.2...v0.1.0-rc.3) (2023-03-20) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser # [0.1.0-rc.2](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.0-rc.1...v0.1.0-rc.2) (2023-03-20) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser # [0.1.0-rc.1](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.1.0-rc.0...v0.1.0-rc.1) (2023-03-19) @@ -163,35 +163,35 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline ## [0.0.1-rc.9](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.0.1-rc.8...v0.0.1-rc.9) (2023-03-09) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.0.1-rc.8](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.0.1-rc.7...v0.0.1-rc.8) (2023-03-09) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.0.1-rc.7](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.0.1-rc.6...v0.0.1-rc.7) (2023-03-02) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.0.1-rc.6](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.0.1-rc.5...v0.0.1-rc.6) (2023-02-13) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.0.1-rc.5](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.0.1-rc.4...v0.0.1-rc.5) (2023-02-13) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.0.1-rc.4](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.0.1-rc.3...v0.0.1-rc.4) (2023-02-10) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.0.1-rc.3](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.0.1-rc.2...v0.0.1-rc.3) (2023-02-08) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## [0.0.1-rc.2](https://github.com/SAP/ui5-webcomponents-ngx/compare/v0.0.1-rc.1...v0.0.1-rc.2) (2023-02-08) -**Note:** Version bump only for package @ui5/webcomponents-api-json-parser +**Note:** Version bump only for package @ui5/webcomponents-schema-parser ## 0.0.1-rc.1 (2023-02-08) diff --git a/libs/api-json-parser/README.md b/libs/ui5-schema-parser/README.md similarity index 100% rename from libs/api-json-parser/README.md rename to libs/ui5-schema-parser/README.md diff --git a/libs/api-json-parser/package.json b/libs/ui5-schema-parser/package.json similarity index 71% rename from libs/api-json-parser/package.json rename to libs/ui5-schema-parser/package.json index 05301926..d20433e8 100644 --- a/libs/api-json-parser/package.json +++ b/libs/ui5-schema-parser/package.json @@ -1,5 +1,5 @@ { - "name": "@ui5/webcomponents-api-json-parser", + "name": "@ui5/webcomponents-schema-parser", "version": "0.2.3", "author": "SAP SE (https://www.sap.com)", "license": "Apache-2.0", diff --git a/libs/api-json-parser/project.json b/libs/ui5-schema-parser/project.json similarity index 54% rename from libs/api-json-parser/project.json rename to libs/ui5-schema-parser/project.json index 60a54b59..e060aa35 100644 --- a/libs/api-json-parser/project.json +++ b/libs/ui5-schema-parser/project.json @@ -1,17 +1,17 @@ { - "name": "api-json-parser", + "name": "ui5-schema-parser", "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "libs/api-json-parser/src", + "sourceRoot": "libs/ui5-schema-parser/src", "projectType": "library", "targets": { "build": { "executor": "@nx/js:tsc", "outputs": ["{options.outputPath}"], "options": { - "outputPath": "dist/libs/api-json-parser", - "main": "libs/api-json-parser/src/index.ts", - "tsConfig": "libs/api-json-parser/tsconfig.lib.json", - "assets": ["libs/api-json-parser/*.md"], + "outputPath": "dist/libs/ui5-schema-parser", + "main": "libs/ui5-schema-parser/src/index.ts", + "tsConfig": "libs/ui5-schema-parser/tsconfig.lib.json", + "assets": ["libs/ui5-schema-parser/*.md"], "updateBuildableProjectDepsInPackageJson": true } }, @@ -19,7 +19,7 @@ "executor": "@nx/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["libs/api-json-parser/**/*.ts"] + "lintFilePatterns": ["libs/ui5-schema-parser/**/*.ts"] } } }, diff --git a/libs/ui5-schema-parser/src/index.ts b/libs/ui5-schema-parser/src/index.ts new file mode 100644 index 00000000..736606e5 --- /dev/null +++ b/libs/ui5-schema-parser/src/index.ts @@ -0,0 +1 @@ +export * from './lib/api-json-parser'; diff --git a/libs/api-json-parser/src/lib/combined-events.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/combined-events.ts similarity index 100% rename from libs/api-json-parser/src/lib/combined-events.ts rename to libs/ui5-schema-parser/src/lib/api-json-parser/combined-events.ts diff --git a/libs/api-json-parser/src/lib/combined-methods.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/combined-methods.ts similarity index 100% rename from libs/api-json-parser/src/lib/combined-methods.ts rename to libs/ui5-schema-parser/src/lib/api-json-parser/combined-methods.ts diff --git a/libs/api-json-parser/src/lib/combined-properties.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/combined-properties.ts similarity index 100% rename from libs/api-json-parser/src/lib/combined-properties.ts rename to libs/ui5-schema-parser/src/lib/api-json-parser/combined-properties.ts diff --git a/libs/api-json-parser/src/lib/combined-slots.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/combined-slots.ts similarity index 100% rename from libs/api-json-parser/src/lib/combined-slots.ts rename to libs/ui5-schema-parser/src/lib/api-json-parser/combined-slots.ts diff --git a/libs/api-json-parser/src/lib/get-components.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/get-components.ts similarity index 100% rename from libs/api-json-parser/src/lib/get-components.ts rename to libs/ui5-schema-parser/src/lib/api-json-parser/get-components.ts diff --git a/libs/api-json-parser/src/lib/getImplementersAndSymbols.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/getImplementersAndSymbols.ts similarity index 100% rename from libs/api-json-parser/src/lib/getImplementersAndSymbols.ts rename to libs/ui5-schema-parser/src/lib/api-json-parser/getImplementersAndSymbols.ts diff --git a/libs/api-json-parser/src/index.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/index.ts similarity index 61% rename from libs/api-json-parser/src/index.ts rename to libs/ui5-schema-parser/src/lib/api-json-parser/index.ts index be335676..db78cc99 100644 --- a/libs/api-json-parser/src/index.ts +++ b/libs/ui5-schema-parser/src/lib/api-json-parser/index.ts @@ -1,13 +1,13 @@ -import {ParserConfiguration} from "./lib/parser-configuration"; -import {getImplementersAndSymbols} from "./lib/getImplementersAndSymbols"; -import {getComponents} from "./lib/get-components"; +import {ParserConfiguration} from "./parser-configuration"; +import {getImplementersAndSymbols} from "./getImplementersAndSymbols"; +import {getComponents} from "./get-components"; import { ComponentData } from "@ui5/webcomponents-wrapper"; /** * Parses the api.json files and returns the list of the component data * @param configuration */ -async function parser(configuration: ParserConfiguration): Promise { +export async function apiJsonParser(configuration: ParserConfiguration): Promise { const {implementers, symbols} = await getImplementersAndSymbols(configuration); return getComponents({ implementers, @@ -20,4 +20,3 @@ async function parser(configuration: ParserConfiguration): Promise Date: Thu, 11 Jan 2024 21:44:57 +0400 Subject: [PATCH 2/8] chore: renamed apiJsonPaths to sources for parser configuration --- apps/documentation/api-json.config.ts | 2 +- apps/documentation/stories-sync.conf.ts | 2 +- libs/ui5-angular/wrapper.conf.ts | 2 +- .../src/lib/api-json-parser/get-components.ts | 2 +- .../lib/api-json-parser/getImplementersAndSymbols.ts | 4 ++-- .../src/lib/api-json-parser/index.ts | 2 +- .../src/lib/custom-element-schema-parser/index.ts | 11 +++++++++++ .../lib/{api-json-parser => }/parser-configuration.ts | 2 +- 8 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 libs/ui5-schema-parser/src/lib/custom-element-schema-parser/index.ts rename libs/ui5-schema-parser/src/lib/{api-json-parser => }/parser-configuration.ts (88%) diff --git a/apps/documentation/api-json.config.ts b/apps/documentation/api-json.config.ts index 13e538b2..eaea961a 100644 --- a/apps/documentation/api-json.config.ts +++ b/apps/documentation/api-json.config.ts @@ -4,7 +4,7 @@ import {stringify} from 'flatted'; export default { getComponents: () => apiJsonParser({ - apiJsonPaths: [ + sources: [ '@ui5/webcomponents-base/dist/api.json', '@ui5/webcomponents-fiori/dist/api.json', '@ui5/webcomponents/dist/api.json', diff --git a/apps/documentation/stories-sync.conf.ts b/apps/documentation/stories-sync.conf.ts index b0cd5ae7..e614d780 100644 --- a/apps/documentation/stories-sync.conf.ts +++ b/apps/documentation/stories-sync.conf.ts @@ -7,7 +7,7 @@ import { Ui5NxWrapperConfig } from "@ui5/webcomponents-nx"; const getUi5Samples = (fsAdapter: FileSystemInterface) => async (): Promise<(ParsedSample & { componentData: ComponentData })[]> => { const apiJson = await apiJsonParser({ - apiJsonPaths: [ + sources: [ '@ui5/webcomponents-base/dist/api.json', '@ui5/webcomponents-fiori/dist/api.json', '@ui5/webcomponents/dist/api.json', diff --git a/libs/ui5-angular/wrapper.conf.ts b/libs/ui5-angular/wrapper.conf.ts index 8b387f4e..65f141c0 100644 --- a/libs/ui5-angular/wrapper.conf.ts +++ b/libs/ui5-angular/wrapper.conf.ts @@ -52,7 +52,7 @@ const packageNames = ['fiori', 'main']; const ui5WrapperConfig: Ui5NxWrapperConfig = { getComponents: () => apiJsonParser({ - apiJsonPaths: [ + sources: [ '@ui5/webcomponents-base/dist/api.json', '@ui5/webcomponents-fiori/dist/api.json', '@ui5/webcomponents/dist/api.json' diff --git a/libs/ui5-schema-parser/src/lib/api-json-parser/get-components.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/get-components.ts index 6d67ab63..a062a85e 100644 --- a/libs/ui5-schema-parser/src/lib/api-json-parser/get-components.ts +++ b/libs/ui5-schema-parser/src/lib/api-json-parser/get-components.ts @@ -1,6 +1,6 @@ import {SymbolObject} from "./symbol-types"; import {camelCase, kebabCase} from 'lodash'; -import {ComponentData, ParameterType} from "@ui5/webcomponents-wrapper"; +import {ComponentData} from "@ui5/webcomponents-wrapper"; const objectTypeMapper = (elementTagName: string, identifier: string) => { if (elementTagName === 'ui5-button') { diff --git a/libs/ui5-schema-parser/src/lib/api-json-parser/getImplementersAndSymbols.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/getImplementersAndSymbols.ts index faeb1c82..c9bc5522 100644 --- a/libs/ui5-schema-parser/src/lib/api-json-parser/getImplementersAndSymbols.ts +++ b/libs/ui5-schema-parser/src/lib/api-json-parser/getImplementersAndSymbols.ts @@ -1,4 +1,4 @@ -import {ParserConfiguration} from "./parser-configuration"; +import {ParserConfiguration} from "../parser-configuration"; import {SymbolObject} from "./symbol-types"; import {readFileSync} from "fs"; import {combinedProperties} from "./combined-properties"; @@ -18,7 +18,7 @@ export async function getImplementersAndSymbols(configuration: ParserConfigurati // const {default: getAllEntities} = await import('@ui5/tooling-webc/lib/generate/utils/getAllEntities.js'); // const de = getAllEntities((configuration.apiJsonPaths as string[]).map(f => readFileSync(require.resolve(f), "utf-8"))); const implementers: Record = {}; - const resolvedJsons = configuration.apiJsonPaths.map(pathToJson => { + const resolvedJsons = configuration.sources.map(pathToJson => { let apiJsonPath: string; let srcBasePath: string; diff --git a/libs/ui5-schema-parser/src/lib/api-json-parser/index.ts b/libs/ui5-schema-parser/src/lib/api-json-parser/index.ts index db78cc99..2c78d84c 100644 --- a/libs/ui5-schema-parser/src/lib/api-json-parser/index.ts +++ b/libs/ui5-schema-parser/src/lib/api-json-parser/index.ts @@ -1,4 +1,4 @@ -import {ParserConfiguration} from "./parser-configuration"; +import {ParserConfiguration} from "../parser-configuration"; import {getImplementersAndSymbols} from "./getImplementersAndSymbols"; import {getComponents} from "./get-components"; import { ComponentData } from "@ui5/webcomponents-wrapper"; diff --git a/libs/ui5-schema-parser/src/lib/custom-element-schema-parser/index.ts b/libs/ui5-schema-parser/src/lib/custom-element-schema-parser/index.ts new file mode 100644 index 00000000..e849b671 --- /dev/null +++ b/libs/ui5-schema-parser/src/lib/custom-element-schema-parser/index.ts @@ -0,0 +1,11 @@ +import { ComponentData } from "@ui5/webcomponents-wrapper"; +import { ParserConfiguration } from "../parser-configuration"; + +/** + * Parses the custom-elements.json files and returns the list of the component data + */ +export async function customElementSchemaParser(options: ParserConfiguration): Promise { + const components: ComponentData[] = []; + + return components; +} diff --git a/libs/ui5-schema-parser/src/lib/api-json-parser/parser-configuration.ts b/libs/ui5-schema-parser/src/lib/parser-configuration.ts similarity index 88% rename from libs/ui5-schema-parser/src/lib/api-json-parser/parser-configuration.ts rename to libs/ui5-schema-parser/src/lib/parser-configuration.ts index a510266e..e3de5cbc 100644 --- a/libs/ui5-schema-parser/src/lib/api-json-parser/parser-configuration.ts +++ b/libs/ui5-schema-parser/src/lib/parser-configuration.ts @@ -7,5 +7,5 @@ export interface ParserConfiguration { /** * The list of paths to the api.json files */ - apiJsonPaths: ApiJsonPath[]; + sources: ApiJsonPath[]; } From 638fe3c51c151c7b23cda9e7eb59127a3dd959dd Mon Sep 17 00:00:00 2001 From: Giorgi Cheishvili Date: Tue, 16 Jan 2024 16:37:49 +0400 Subject: [PATCH 3/8] chore: renamed the names --- MAINTAINERS.md | 2 +- apps/documentation/api-json.config.ts | 13 +- apps/documentation/stories-sync.conf.ts | 81 ----------- libs/angular-generator/README.md | 2 +- libs/angular-generator/src/index.ts | 2 - .../src/lib/angular-generated-file.ts | 2 +- .../src/lib/angular-generator-options.ts | 2 +- .../src/lib/angular-module-file.ts | 3 +- .../fundamental-generator.ts | 11 +- libs/angular-generator/src/lib/index-file.ts | 2 +- .../src/lib/ng-package-file.ts | 2 +- .../ui5-webcomponents/component-story-file.ts | 45 ------- .../component-wrapper-creator.ts | 2 +- .../src/lib/ui5-webcomponents/generic-cva.ts | 2 +- .../ui5-webcomponents/js-component-file.ts | 2 +- .../lib/ui5-webcomponents/metadata-tools.ts | 2 +- .../src/lib/ui5-webcomponents/output-type.ts | 2 +- .../output-types-import-data.ts | 2 +- .../storybook-files-generator-options.ts | 10 -- .../storybook-files-generator.ts | 12 -- .../ui5-webcomponents/ts-component-file.ts | 2 +- .../ui5-webcomponents/ui5componentsWrapper.ts | 28 ++-- .../src/lib/ui5-webcomponents/utils.ts | 2 +- .../src/lib/utils/get-exported.ts | 2 +- .../src/lib/utils/is-declaration.ts | 2 +- .../src/lib/utils/is-module.ts | 2 +- .../src/lib/utils/is-provider.ts | 2 +- libs/commit/fs-commit/CHANGELOG.md | 80 +++++------ libs/commit/fs-commit/package.json | 2 +- libs/commit/fs-commit/src/lib/fs-commit.ts | 2 +- .../src/lib/node-fs-implementation.ts | 2 +- .../fs-commit/src/lib/nx-fs-implementation.ts | 2 +- libs/fundamental-styles/theming.conf.ts | 10 +- libs/fundamental-styles/wrapper.conf.ts | 48 +++---- libs/{wrapper => transformer}/.eslintrc.json | 0 libs/{wrapper => transformer}/.lib.swcrc | 0 libs/{wrapper => transformer}/CHANGELOG.md | 76 +++++------ libs/{wrapper => transformer}/README.md | 4 +- libs/{wrapper => transformer}/package.json | 2 +- libs/{wrapper => transformer}/project.json | 0 libs/{wrapper => transformer}/src/index.ts | 4 +- .../src/lib/dependency-relative-path.ts | 0 .../src/lib/export-data.ts | 0 .../src/lib/generated-component-file.ts | 0 .../src/lib/generated-file.ts | 16 ++- .../src/lib/import-data.ts | 0 libs/transformer/src/lib/transformer.ts | 13 ++ .../src/lib/types/component-data.ts | 0 .../src/lib/types/fs.ts | 0 .../src/lib/types/transformer-config.ts | 13 ++ libs/{wrapper => transformer}/tsconfig.json | 0 .../tsconfig.lib.json | 0 libs/ui5-angular/theming.conf.ts | 10 +- libs/ui5-angular/wrapper.conf.ts | 127 +++++++++++------- .../src/lib/ui5-samples-parser.ts | 4 +- .../src/lib/api-json-parser/get-components.ts | 2 +- .../src/lib/api-json-parser/index.ts | 2 +- .../lib/custom-element-schema-parser/index.ts | 2 +- libs/webcomponents-nx/README.md | 4 +- .../src/executors/prepare/copySchematics.ts | 2 +- .../src/executors/sync/README.md | 2 +- .../src/executors/sync/executor.ts | 41 +++--- libs/wrapper/src/lib/types/wrapper-config.ts | 9 -- libs/wrapper/src/lib/wrapper.ts | 9 -- tsconfig.base.json | 10 +- 65 files changed, 315 insertions(+), 424 deletions(-) delete mode 100644 apps/documentation/stories-sync.conf.ts delete mode 100644 libs/angular-generator/src/lib/ui5-webcomponents/component-story-file.ts delete mode 100644 libs/angular-generator/src/lib/ui5-webcomponents/storybook-files-generator-options.ts delete mode 100644 libs/angular-generator/src/lib/ui5-webcomponents/storybook-files-generator.ts rename libs/{wrapper => transformer}/.eslintrc.json (100%) rename libs/{wrapper => transformer}/.lib.swcrc (100%) rename libs/{wrapper => transformer}/CHANGELOG.md (71%) rename libs/{wrapper => transformer}/README.md (96%) rename libs/{wrapper => transformer}/package.json (90%) rename libs/{wrapper => transformer}/project.json (100%) rename libs/{wrapper => transformer}/src/index.ts (77%) rename libs/{wrapper => transformer}/src/lib/dependency-relative-path.ts (100%) rename libs/{wrapper => transformer}/src/lib/export-data.ts (100%) rename libs/{wrapper => transformer}/src/lib/generated-component-file.ts (100%) rename libs/{wrapper => transformer}/src/lib/generated-file.ts (96%) rename libs/{wrapper => transformer}/src/lib/import-data.ts (100%) create mode 100644 libs/transformer/src/lib/transformer.ts rename libs/{wrapper => transformer}/src/lib/types/component-data.ts (100%) rename libs/{wrapper => transformer}/src/lib/types/fs.ts (100%) create mode 100644 libs/transformer/src/lib/types/transformer-config.ts rename libs/{wrapper => transformer}/tsconfig.json (100%) rename libs/{wrapper => transformer}/tsconfig.lib.json (100%) delete mode 100644 libs/wrapper/src/lib/types/wrapper-config.ts delete mode 100644 libs/wrapper/src/lib/wrapper.ts diff --git a/MAINTAINERS.md b/MAINTAINERS.md index f92af230..acdaa00e 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -20,7 +20,7 @@ but they can be omitted and the wrappers can be generated without using them. ## General overview of functionality -### Wrapper - @ui5/webcomponents-wrapper +### Wrapper - @ui5/webcomponents-transformer Wrapper is a library that contains core logic for wrapping the web components. It is a simple generic function which holds the logic and order of executing the methods for wrapping the web components. Steps are: diff --git a/apps/documentation/api-json.config.ts b/apps/documentation/api-json.config.ts index eaea961a..38df8e26 100644 --- a/apps/documentation/api-json.config.ts +++ b/apps/documentation/api-json.config.ts @@ -1,19 +1,20 @@ -import {ComponentData, GeneratedFile, WrapperConfig} from "@ui5/webcomponents-wrapper"; +import {ComponentData, GeneratedFile, TransformerConfig} from "@ui5/webcomponents-transformer"; import { apiJsonParser } from '@ui5/webcomponents-schema-parser'; import {stringify} from 'flatted'; export default { - getComponents: () => apiJsonParser({ + gatherer: () => apiJsonParser({ sources: [ '@ui5/webcomponents-base/dist/api.json', '@ui5/webcomponents-fiori/dist/api.json', '@ui5/webcomponents/dist/api.json', ] }), - generator: (c: ComponentData[]) => ({ - 'api.json': { + transformers: [ + (c: ComponentData[]) => ([{ path: 'api-json.json', getCode: () => stringify(c) } as GeneratedFile - }) -} as Partial>; + ]) + ] +} as Partial>; diff --git a/apps/documentation/stories-sync.conf.ts b/apps/documentation/stories-sync.conf.ts deleted file mode 100644 index e614d780..00000000 --- a/apps/documentation/stories-sync.conf.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { ComponentData, FileSystemInterface } from "@ui5/webcomponents-wrapper"; -import { ParsedSample, ui5SamplesParser } from "@ui5/webcomponents-samples-parser"; -import { apiJsonParser } from '@ui5/webcomponents-schema-parser'; -import { storybookFilesGenerator } from "@ui5/webcomponents-ngx-generator"; -import { snakeCase } from "lodash"; -import { Ui5NxWrapperConfig } from "@ui5/webcomponents-nx"; - -const getUi5Samples = (fsAdapter: FileSystemInterface) => async (): Promise<(ParsedSample & { componentData: ComponentData })[]> => { - const apiJson = await apiJsonParser({ - sources: [ - '@ui5/webcomponents-base/dist/api.json', - '@ui5/webcomponents-fiori/dist/api.json', - '@ui5/webcomponents/dist/api.json', - ] - }).then(components => { - return components.reduce((acc: Record, component: ComponentData) => { - acc[component.baseName] = component; - return acc; - }, {}); - }); - return ui5SamplesParser({ - sampleFiles: fsAdapter.queryFiles("apps/documentation/storybook-samples/**/*.sample.html", []), - getStorySections: (rootElement: Document) => { - return Array.from(rootElement.querySelectorAll('section')); - }, - getStoryName: (storySection): string => { - return storySection.querySelector(':scope > *:first-child')?.textContent as string; - }, - getStoryCode: (storySection): string => { - return storySection.querySelector('.snippet')?.innerHTML as string; - }, - }, fsAdapter).map(sample => { - const baseName = sample.sampleFilePath.toString().replace(/apps\/documentation\/storybook-samples\/(.*)\/(.*).sample.html$/, '$2'); - return { - ...sample, - componentData: apiJson[baseName] - } - }); -} - -export default ((fsAdapter) => ({ - getComponents: getUi5Samples(fsAdapter), - generator: (components: (ParsedSample & { componentData: ComponentData })[]) => { - const stories = storybookFilesGenerator(components, { - storyFileNameFactory: samplePath => { - return samplePath.replace(/apps\/documentation\/storybook-samples\/(.*).sample.html$/, 'app/stories/$1.stories.ts').toLowerCase(); - } - }); - Object.values(stories).forEach(story => { - story.addImport(['Ui5WebcomponentsModule', story.componentClassName()], '@ui5/webcomponents-ngx'); - story.addImport(['extractArgTypes'], "../../arg-type-tools"); - story.defaultExport = () => { - let description = story.sample.componentData.description; - const componentPath = story.sample.sampleFilePath.toString().replace(/apps\/documentation\/storybook-samples\/(.*).sample.html$/, '$1').split('/'); - - description = description.replace(/import "@ui5\/webcomponents-?(.*)\/dist\/(\w+)(.js)?"/, `import { ${story.componentClassName()} } from "@ui5/webcomponents-ngx/${componentPath.map(n => snakeCase(n).replace(/_/g, '-')).join('/')}"`); - return ` - const description = \`${description}\`; - export default { - title: 'UI5 Web Components / ${componentPath.map(n => n.charAt(0).toUpperCase() + n.slice(1)).join(' / ')}', - component: ${story.componentClassName()}, - decorators: [ - moduleMetadata({ - imports: [Ui5WebcomponentsModule], - }), - ], - parameters: { - docs: { - extractArgTypes, - description: { - component: description, - } - } - } - } as Meta; - ` - }; - }) - return stories; - }, -})) as Ui5NxWrapperConfig; diff --git a/libs/angular-generator/README.md b/libs/angular-generator/README.md index eaf6c7e5..6547c975 100644 --- a/libs/angular-generator/README.md +++ b/libs/angular-generator/README.md @@ -8,7 +8,7 @@ list of the [ComponentData](/libs/wrapper/src/lib/types/component-data.ts) items Lets say you have a list of the [ComponentData](/libs/wrapper/src/lib/types/component-data.ts) items: ```typescript -import {ComponentData, GeneratedFile, WrapperConfig} from "@ui5/webcomponents-wrapper"; +import {ComponentData, GeneratedFile, WrapperConfig} from "@ui5/webcomponents-transformer"; import apiJsonParser from "@ui5/webcomponents-schema-parser"; import { AngularExportSpecifierType, diff --git a/libs/angular-generator/src/index.ts b/libs/angular-generator/src/index.ts index 12f2efea..b7804f6f 100644 --- a/libs/angular-generator/src/index.ts +++ b/libs/angular-generator/src/index.ts @@ -3,8 +3,6 @@ export * from './lib/fundamental-styles/fundamental-generator'; export * from './lib/ui5-webcomponents/ui5componentsWrapper'; export * from './lib/ui5-webcomponents/ts-component-file'; export * from './lib/ui5-webcomponents/js-component-file'; -export * from './lib/ui5-webcomponents/storybook-files-generator'; export * from './lib/angular-generated-file'; export * from './lib/angular-module-file'; export * from './lib/ng-package-file'; -export * from "./lib/ui5-webcomponents/storybook-files-generator-options"; diff --git a/libs/angular-generator/src/lib/angular-generated-file.ts b/libs/angular-generator/src/lib/angular-generated-file.ts index 06092815..9262d768 100644 --- a/libs/angular-generator/src/lib/angular-generated-file.ts +++ b/libs/angular-generator/src/lib/angular-generated-file.ts @@ -1,4 +1,4 @@ -import {dependencyRelativePath, GeneratedFile} from "@ui5/webcomponents-wrapper"; +import {dependencyRelativePath, GeneratedFile} from "@ui5/webcomponents-transformer"; import {AngularExportSpecifierType} from "./angular-export-specifier-type"; import {ParsedPath} from "path"; diff --git a/libs/angular-generator/src/lib/angular-generator-options.ts b/libs/angular-generator/src/lib/angular-generator-options.ts index 227e1fa5..194ee55e 100644 --- a/libs/angular-generator/src/lib/angular-generator-options.ts +++ b/libs/angular-generator/src/lib/angular-generator-options.ts @@ -1,4 +1,4 @@ -import {ComponentData, InputType} from "@ui5/webcomponents-wrapper"; +import {ComponentData, InputType} from "@ui5/webcomponents-transformer"; import {AngularGeneratedFile} from "./angular-generated-file"; export interface ModuleDescription { diff --git a/libs/angular-generator/src/lib/angular-module-file.ts b/libs/angular-generator/src/lib/angular-module-file.ts index 4ab05bc9..52927176 100644 --- a/libs/angular-generator/src/lib/angular-module-file.ts +++ b/libs/angular-generator/src/lib/angular-module-file.ts @@ -102,8 +102,9 @@ export class AngularModuleFile extends AngularGeneratedFile { * @param shouldInitialize Whether the provider should be initialized in the constructor of the module. * @param providerInMetadata Whether the provider should be added to the `providers` array in the module metadata. */ - addProvider(file: AngularGeneratedFile, specifier: string, shouldInitialize = false, providerInMetadata = false): void { + addProvider(file: AngularGeneratedFile, specifier: string, shouldInitialize = false, providerInMetadata = false): AngularModuleFile { this.addImport(specifier, file.relativePathFrom); this.providers.set(specifier, {init: shouldInitialize, providersArray: providerInMetadata}); + return this; } } diff --git a/libs/angular-generator/src/lib/fundamental-styles/fundamental-generator.ts b/libs/angular-generator/src/lib/fundamental-styles/fundamental-generator.ts index 99c4ebd7..67abfe64 100644 --- a/libs/angular-generator/src/lib/fundamental-styles/fundamental-generator.ts +++ b/libs/angular-generator/src/lib/fundamental-styles/fundamental-generator.ts @@ -25,11 +25,8 @@ export function fundamentalGenerator(styles: string[], options: AngularGenerator }) const indexFile = new IndexFile(generatedFiles.filter(c => c.path.endsWith('.ts')), options); - return { - ...generatedFiles.reduce((f, g) => { - f[g.path] = g; - return f; - }, {}), - [indexFile.path]: indexFile - }; + return [ + ...generatedFiles, + indexFile + ]; } diff --git a/libs/angular-generator/src/lib/index-file.ts b/libs/angular-generator/src/lib/index-file.ts index 7e8ee840..4bdb30a3 100644 --- a/libs/angular-generator/src/lib/index-file.ts +++ b/libs/angular-generator/src/lib/index-file.ts @@ -1,5 +1,5 @@ import {AngularGeneratedFile} from "./angular-generated-file"; -import {GeneratedFile} from "@ui5/webcomponents-wrapper"; +import {GeneratedFile} from "@ui5/webcomponents-transformer"; import {AngularGeneratorOptions} from "./angular-generator-options"; /** diff --git a/libs/angular-generator/src/lib/ng-package-file.ts b/libs/angular-generator/src/lib/ng-package-file.ts index e6c048f3..ff7020c2 100644 --- a/libs/angular-generator/src/lib/ng-package-file.ts +++ b/libs/angular-generator/src/lib/ng-package-file.ts @@ -1,5 +1,5 @@ import {AngularGeneratedFile} from "./angular-generated-file"; -import {GeneratedFile} from "@ui5/webcomponents-wrapper"; +import {GeneratedFile} from "@ui5/webcomponents-transformer"; /** * The ng-package.json file generator. diff --git a/libs/angular-generator/src/lib/ui5-webcomponents/component-story-file.ts b/libs/angular-generator/src/lib/ui5-webcomponents/component-story-file.ts deleted file mode 100644 index 61c61522..00000000 --- a/libs/angular-generator/src/lib/ui5-webcomponents/component-story-file.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { ComponentData, dependencyRelativePath, GeneratedFile } from "@ui5/webcomponents-wrapper"; -import { StorybookFilesGeneratorOptions } from "./storybook-files-generator-options"; -import { format as prettierFormat } from "prettier"; -import { camelCase } from "lodash"; -import { PathLike } from "fs"; - -/** - * Component story file creator - * This is for creating stories, based on a component sample HTML file - */ -export class ComponentStoryFile extends GeneratedFile { - constructor(readonly sample: { sampleFilePath: PathLike, componentData: ComponentData, stories: { name: string, code: string }[] }, options: StorybookFilesGeneratorOptions) { - super(); - this.move(options.storyFileNameFactory(sample.sampleFilePath.toString())); - this.initializeImports(); - } - defaultExport!: () => string; - componentClassName: () => string = () => this.sample.componentData.baseName + 'Component'; - initializeImports() { - this.addImport(['Meta', 'Story', 'moduleMetadata'], '@storybook/angular'); - } - - override getCode(): string { - const stories: string[] = []; - this.sample.stories.forEach(story => { - if (!story.code || story.code.toString().indexOf('