Skip to content

Angular 12 Schematics throws error about required properties #20594

Closed
@mraible

Description

@mraible

🐞 Bug report

Command (mark with an x)

  • add

Is this a regression?

Yes.

Description

I created OktaDev Schematics as a way to add authentication with Okta to new apps that are created with a framework's respective CLI (e.g., Angular CLI, Create React App, Vue CLI, etc.).

Today, I discovered it doesn't work with Angular CLI ~12.0.0-next.9.

$ ng add @oktadev/schematics
ℹ Using package manager: npm
✔ Found compatible package version: @oktadev/[email protected].
✔ Package information loaded.

The package @oktadev/[email protected] will be installed and executed.
Would you like to proceed? Yes
✔ Package successfully installed.
? What is your OIDC app's issuer URL? https://dev-9323263.okta.com/oauth2/default
? What is your OIDC app's client ID? 0oambt69c4LNBiJ7u5d6
Schematic input does not validate against the Schema: {"project":"foo","clientId":"0oambt69c4LNBiJ7u5d6"}
Errors:

  Data path "" must have required property 'issuer'

🔬 Minimal Reproduction

Steps to reproduce:

npm i -g @angular/cli@next
ng new foo --routing --style css
ng add @oktadev/schematics

If I install Angular CLI v11.2.10, it works fine.

$ ng add @oktadev/schematics
ℹ Using package manager: npm
✔ Found compatible package version: @oktadev/[email protected].
✔ Package information loaded.
✔ Package successfully installed.
? What is your OIDC app's issuer URL? https://dev-9323263.okta.com/oauth2/default
? What is your OIDC app's client ID? 0oambt69c4LNBiJ7u5d6
            ✅️ Added '@okta/okta-angular' into dependencies
            🔍 Installing packages...
CREATE src/app/auth-routing.module.ts (1231 bytes)
CREATE src/app/home/home.component.html (186 bytes)
CREATE src/app/home/home.component.spec.ts (1027 bytes)
CREATE src/app/home/home.component.ts (638 bytes)
CREATE src/app/home/home.component.css (0 bytes)
CREATE src/app/shared/okta/auth.interceptor.ts (1019 bytes)
UPDATE src/app/app.module.ts (475 bytes)
UPDATE package.json (1274 bytes)
UPDATE src/app/app.component.spec.ts (1386 bytes)
UPDATE src/app/app.component.ts (603 bytes)
✔ Packages installed successfully.

🔥 Exception or Error


Schematic input does not validate against the Schema: {"project":"foo","clientId":"0oambt69c4LNBiJ7u5d6"}
Errors:

  Data path "" must have required property 'issuer'

🌍 Your Environment



     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/


Angular CLI: 12.0.0-next.9
Node: 14.15.0
OS: darwin x64

Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1200.0-next.9 (cli-only)
@angular-devkit/core         12.0.0-next.9 (cli-only)
@angular-devkit/schematics   12.0.0-next.9 (cli-only)
@schematics/angular          12.0.0-next.9 (cli-only)

Anything else relevant?

/cc @mgechev

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions