Varför skapar openapi-generator inte en package.json med typescript-angular?
Jag genererar kod för typescript-angular med openapi-generator-maven-plugin så här:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<build>
<plugins>
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>4.2.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/../my_server/openapi.json</inputSpec>
<generatorName>typescript-angular</generatorName>
<output>${project.basedir}</output>
<npmName>myClientRest</npmName>
<npmRepository>http://localhost:8444/repository/npm-releases/</npmRepository>
<providedInRoot>true</providedInRoot>
<apiModulePrefix>my</apiModulePrefix>
<stringEnums>true</stringEnums>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Det jag saknar nu är en package.json-fil så att jag kan göra en npm install. Från några äldre swagger-exempel ser det ut som att med swagger-pluginet genererades en package.json-fil.
Så min fråga är varför package.json-filen inte genereras och vad jag kan göra för att få en?
Utdata från generatorn ser okej ut för mig:
[INFO] --- openapi-generator-maven-plugin:4.2.0:generate (standard) @ klient ---
[INFO] OpenAPI Generator: typescript-angular (klient)
[INFO] Generator 'typescript-angular' anses vara stabil.
[INFO] Tips: Miljövariabeln 'TS_POST_PROCESS_FILE' (valfri) är inte definierad. T.ex. för att formatera källkoden, försök 'export TS_POST_PROCESS_FILE="/usr/local/bin/prettier --write"' (Linux/Mac)
[INFO] Obs: För att aktivera filpostbehandling måste 'enablePostProcessFile' vara inställt på
true(--enable-post-process-file för CLI).[INFO] genererar kod för Angular 8.0.0 ...
[INFO] (du kan välja Angular-versionen genom att ställa in ytterligare egenskap ngVersion)
[INFO] skriver fil C:\my-client-rest\api\default.service.ts
[INFO] skriver fil C:\my-client-rest\model\models.ts
[INFO] skriver fil C:\my-client-rest\api\api.ts
[INFO] skriver fil C:\my-client-rest\index.ts
[INFO] skriver fil C:\my-client-rest\api.module.ts
[INFO] skriver fil C:\my-client-rest\configuration.ts
[INFO] skriver fil C:\my-client-rest\variables.ts
[INFO] skriver fil C:\my-client-rest\encoder.ts
[INFO] skriver filen C:\my-client-rest.gitignore
[INFO] skriver fil C:\my-client-rest\git_push.sh
[INFO] skriver fil C:\my-client-rest\README.md
[INFO] skriver fil C:\my-client-rest.openapi-generator\VERSION
Svar #1
Det verkar som om beskrivningen av plug-inet inte är särskilt tydlig (åtminstone för mig), eftersom det verkar som:
<configuration>
<npmName>myClientRest</npmName>
</configuration>
är fel och bör ersättas med:
<configuration>
<additionalProperties>npmName=myClientRest</additionalProperties>
</configuration>
eller med:
<configuration>
<configOptions>
<npmName>tmsClientRest</npmName>
</configOptions>
</configuration>
att få genereringen av package.json och tsconfig.json att fungera.
Så mitt ursprungliga exempel bör ändras till:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<build>
<plugins>
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>4.2.1</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/../my_server/openapi.json</inputSpec>
<generatorName>typescript-angular</generatorName>
<output>${project.basedir}</output>
<configOptions>
<npmName>tmsClientRest</npmName>
<npmRepository>http://www.test-tms-archiv-net.de:8444/repository/npm-releases/</npmRepository>
<providedInRoot>true</providedInRoot>
<apiModulePrefix>tms</apiModulePrefix>
<stringEnums>true</stringEnums>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
