Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add API Gateway generator #49

Merged
merged 7 commits into from
Aug 2, 2022
Merged

Add API Gateway generator #49

merged 7 commits into from
Aug 2, 2022

Conversation

domjtalbot
Copy link
Owner

@domjtalbot domjtalbot commented Aug 2, 2022

Create a GraphQL Mesh API Gateway application for Nx.

nx generate @domjtalbot/nx-plugin-graphql-mesh:application my-api-gateway

# Shorthand
nx generate @domjtalbot/nx-plugin-graphql-mesh:app my-api-gateway

Example Output

>  NX  Generating @domjtalbot/nx-plugin-graphql-mesh:application

CREATE apps/my-api-gateway/.meshrc.yml
CREATE apps/my-api-gateway/tsconfig.app.json
CREATE apps/my-api-gateway/tsconfig.json
CREATE apps/my-api-gateway/project.json
UPDATE workspace.json
CREATE apps/my-api-gateway-e2e/cypress.json
CREATE apps/my-api-gateway-e2e/src/fixtures/example.json
CREATE apps/my-api-gateway-e2e/src/integration/app.spec.ts
CREATE apps/my-api-gateway-e2e/src/support/app.po.ts
CREATE apps/my-api-gateway-e2e/src/support/commands.ts
CREATE apps/my-api-gateway-e2e/src/support/index.ts
CREATE apps/my-api-gateway-e2e/tsconfig.json
CREATE apps/my-api-gateway-e2e/project.json
CREATE apps/my-api-gateway-e2e/.eslintrc.json
CREATE apps/my-api-gateway/jest.config.ts
CREATE apps/my-api-gateway/tsconfig.spec.json
CREATE apps/my-api-gateway/.eslintrc.json

Options

Name Alias Type Required Default Description
name - string true - What name would you like to use for the application?
directory d string false apps/ The directory of the new application.
meshConfig mc cjs, js, json, yml false yml Which config format would you like to use?
linter - eslint, tslint false eslint The tool to use for running lint checks
babelJest - boolean false false Use babel instead of ts-jest?
skipFormat - boolean false false Skip formatting files.
skipWorkspaceJson - boolean false false Skip updating workspace.json with default options based on values provided to this app (e.g. babel).
unitTestRunner - jest, none false jest Test runner to use for unit tests.
e2eTestRunner - cypress, none false cypress Test runner to use for end to end (E2E) tests.
tags t string false - Add tags to the application (used for linting).
setParserOptionsProject - boolean false false Whether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.
standaloneConfig - boolean false false Split the project configuration into <projectRoot>/project.json rather than including it inside workspace.json

@nx-cloud
Copy link

nx-cloud bot commented Aug 2, 2022

Nx Cloud Report

CI is running for commit 368c3f3.

📂 Click to track the progress, see the status, the terminal output, and the build insights.


Sent with 💌 from NxCloud.

@changeset-bot
Copy link

changeset-bot bot commented Aug 2, 2022

🦋 Changeset detected

Latest commit: 368c3f3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
nx-plugin-graphql-mesh Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@domjtalbot domjtalbot self-assigned this Aug 2, 2022
@domjtalbot domjtalbot added the feature Indicates new functionality label Aug 2, 2022
@domjtalbot domjtalbot added this to the v1.0.0 milestone Aug 2, 2022
@domjtalbot domjtalbot linked an issue Aug 2, 2022 that may be closed by this pull request
@domjtalbot domjtalbot merged commit 68e8380 into main Aug 2, 2022
@domjtalbot domjtalbot deleted the feature/generate-gateway-app branch August 2, 2022 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Indicates new functionality
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Generate a Mesh Gateway app
1 participant