This repository was archived by the owner on Apr 4, 2025. It is now read-only.
Repository navigation
Schematics #1
Merged
Merged
Schematics #1
Changes from 1 commit
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
6cf93ab
refactor: various housekeeping stuff
hansl 6cfd8ca
build: add sdk-admin binary, bootstrap-local, ...
hansl 9f618a1
feat(@angular/schematics): implement the schematics library
hansl 4a53268
feat(@angular/schematics-cli): Implement the first version of the Sch…
hansl b48f616
build: implement the first bazel configuration for DevKit
hansl a46c64e
refactor: add license headers to Schematics
hansl d422f9b
docs(@angular/schematics): add documentation for schematics
hansl 2fe2836
refactor: refactor interfaces
hansl 3f93cdc
fix(@angular/schematics-cli): fix component schematics options
hansl 62043f7
fix(@angular/schematics): fix the null protocol for node-modules-engi…
hansl bd11991
refactor: build multiple engine-host to help with use cases
hansl 09b5cff
refactor: resolve comments from Mike and Ben
hansl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
feat(@angular/schematics-cli): Implement the first version of the Sch…
…ematics CLI
- Loading branch information
commit 4a53268cf5a9eabfa5d4aea62ac85a7ed794f558
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| #!/usr/bin/env node | ||
| 'use strict'; | ||
| require('../lib/bootstrap-local'); | ||
| const packages = require('../lib/packages').packages; | ||
|
|
||
| require(packages['@angular/schematics-cli'].bin['schematics']); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| #!/usr/bin/env node | ||
| require('../src/cli'); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| { | ||
| "name": "@angular/schematics-cli", | ||
| "version": "0.0.0", | ||
| "description": "CLI tool for Angular", | ||
| "main": "src/cli.js", | ||
| "bin": { | ||
| "schematics": "./bin/schematics.js" | ||
| }, | ||
| "keywords": [ | ||
| "angular", | ||
| "sdk", | ||
| "blueprints", | ||
| "code generation", | ||
| "schematics", | ||
| "cli", | ||
| "Angular SDK" | ||
| ], | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/angular/sdk.git" | ||
| }, | ||
| "engines": { | ||
| "node": ">= 6.9.0", | ||
| "npm": ">= 3.0.0" | ||
| }, | ||
| "author": "Angular Authors", | ||
| "license": "MIT", | ||
| "bugs": { | ||
| "url": "https://github.com/angular/sdk/issues" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. devkit, not sdk
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done. |
||
| }, | ||
| "schematics": "./schematics/collection.json", | ||
| "homepage": "https://github.com/angular/sdk", | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. devkit, not sdk
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done. |
||
| "dependencies": { | ||
| "@angular/schematics": "0.0.0" | ||
| } | ||
| } | ||
13 changes: 13 additions & 0 deletions
13
packages/schematics_cli/schematics/angular-app/files/.editorconfig
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # Editor configuration, see http://editorconfig.org | ||
| root = true | ||
|
|
||
| [*] | ||
| charset = utf-8 | ||
| indent_style = space | ||
| indent_size = 2 | ||
| insert_final_newline = true | ||
| trim_trailing_whitespace = true | ||
|
|
||
| [*.md] | ||
| max_line_length = off | ||
| trim_trailing_whitespace = false |
28 changes: 28 additions & 0 deletions
28
packages/schematics_cli/schematics/angular-app/files/README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| # <%= utils.classify(name) %> | ||
|
|
||
| This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version <%= version %>. | ||
|
|
||
| ## Development server | ||
|
|
||
| Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. | ||
|
|
||
| ## Code scaffolding | ||
|
|
||
| Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|module`. | ||
|
|
||
| ## Build | ||
|
|
||
| Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build. | ||
|
|
||
| ## Running unit tests | ||
|
|
||
| Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). | ||
|
|
||
| ## Running end-to-end tests | ||
|
|
||
| Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). | ||
| Before running the tests make sure you are serving the app via `ng serve`. | ||
|
|
||
| ## Further help | ||
|
|
||
| To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). |
15 changes: 15 additions & 0 deletions
15
packages/schematics_cli/schematics/angular-app/files/__path__/app/app-routing.module.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| import { NgModule } from '@angular/core'; | ||
| import { Routes, RouterModule } from '@angular/router'; | ||
|
|
||
| const routes: Routes = [ | ||
| { | ||
| path: '', | ||
| children: [] | ||
| } | ||
| ]; | ||
|
|
||
| @NgModule({ | ||
| imports: [RouterModule.forRoot(routes)], | ||
| exports: [RouterModule] | ||
| }) | ||
| export class AppRoutingModule { } |
Empty file.
4 changes: 4 additions & 0 deletions
4
packages/schematics_cli/schematics/angular-app/files/__path__/app/app.component.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| <h1> | ||
| {{title}} | ||
| </h1><% if (routing) { %> | ||
| <router-outlet></router-outlet><% } %> |
36 changes: 36 additions & 0 deletions
36
packages/schematics_cli/schematics/angular-app/files/__path__/app/app.component.spec.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| import { TestBed, async } from '@angular/core/testing';<% if (routing) { %> | ||
| import { RouterTestingModule } from '@angular/router/testing';<% } %> | ||
|
|
||
| import { AppComponent } from './app.component'; | ||
|
|
||
| describe('AppComponent', () => { | ||
| beforeEach(async(() => { | ||
| TestBed.configureTestingModule({<% if (routing) { %> | ||
| imports: [ | ||
| RouterTestingModule | ||
| ],<% } %> | ||
| declarations: [ | ||
| AppComponent | ||
| ], | ||
| }).compileComponents(); | ||
| })); | ||
|
|
||
| it('should create the app', async(() => { | ||
| const fixture = TestBed.createComponent(AppComponent); | ||
| const app = fixture.debugElement.componentInstance; | ||
| expect(app).toBeTruthy(); | ||
| })); | ||
|
|
||
| it(`should have as title '<%= prefix %> works!'`, async(() => { | ||
| const fixture = TestBed.createComponent(AppComponent); | ||
| const app = fixture.debugElement.componentInstance; | ||
| expect(app.title).toEqual('<%= prefix %> works!'); | ||
| })); | ||
|
|
||
| it('should render title in a h1 tag', async(() => { | ||
| const fixture = TestBed.createComponent(AppComponent); | ||
| fixture.detectChanges(); | ||
| const compiled = fixture.debugElement.nativeElement; | ||
| expect(compiled.querySelector('h1').textContent).toContain('<%= prefix %> works!'); | ||
| })); | ||
| }); |
17 changes: 17 additions & 0 deletions
17
packages/schematics_cli/schematics/angular-app/files/__path__/app/app.component.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| import { Component } from '@angular/core'; | ||
|
|
||
| @Component({ | ||
| selector: '<%= prefix %>-root',<% if (inlineTemplate) { %> | ||
| template: ` | ||
| <h1> | ||
| {{title}} | ||
| </h1><% if (routing) { %> | ||
| <router-outlet></router-outlet><% } %> | ||
| `,<% } else { %> | ||
| templateUrl: './app.component.html',<% } %><% if (inlineStyle) { %> | ||
| styles: []<% } else { %> | ||
| styleUrls: ['./app.component.<%= styleext %>']<% } %> | ||
| }) | ||
| export class AppComponent { | ||
| title = '<%= prefix %> works!'; | ||
| } |
22 changes: 22 additions & 0 deletions
22
packages/schematics_cli/schematics/angular-app/files/__path__/app/app.module.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| import { BrowserModule } from '@angular/platform-browser'; | ||
| import { NgModule } from '@angular/core'; | ||
| import { FormsModule } from '@angular/forms'; | ||
| import { HttpModule } from '@angular/http'; | ||
| <% if (routing) { %> | ||
| import { AppRoutingModule } from './app-routing.module';<% } %> | ||
| import { AppComponent } from './app.component'; | ||
|
|
||
| @NgModule({ | ||
| declarations: [ | ||
| AppComponent | ||
| ], | ||
| imports: [ | ||
| BrowserModule, | ||
| FormsModule, | ||
| HttpModule<% if (routing) { %>, | ||
| AppRoutingModule<% } %> | ||
| ], | ||
| providers: [], | ||
| bootstrap: [AppComponent] | ||
| }) | ||
| export class AppModule { } |
Empty file.
3 changes: 3 additions & 0 deletions
3
...ges/schematics_cli/schematics/angular-app/files/__path__/environments/environment.prod.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| export const environment = { | ||
| production: true | ||
| }; |
8 changes: 8 additions & 0 deletions
8
packages/schematics_cli/schematics/angular-app/files/__path__/environments/environment.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| // The file contents for the current environment will overwrite these during build. | ||
| // The build system defaults to the dev environment which uses `environment.ts`, but if you do | ||
| // `ng build --env=prod` then `environment.prod.ts` will be used instead. | ||
| // The list of which env maps to which file can be found in `.angular-cli.json`. | ||
|
|
||
| export const environment = { | ||
| production: false | ||
| }; |
Binary file added
BIN
+5.3 KB
packages/schematics_cli/schematics/angular-app/files/__path__/favicon.ico
Binary file not shown.
14 changes: 14 additions & 0 deletions
14
packages/schematics_cli/schematics/angular-app/files/__path__/index.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| <!doctype html> | ||
| <html> | ||
| <head> | ||
| <meta charset="utf-8"> | ||
| <title><%= utils.classify(name) %></title> | ||
| <base href="/"> | ||
|
|
||
| <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
| <link rel="icon" type="image/x-icon" href="favicon.ico"> | ||
| </head> | ||
| <body> | ||
| <<%= prefix %>-root>Loading...</<%= prefix %>-root> | ||
| </body> | ||
| </html> |
11 changes: 11 additions & 0 deletions
11
packages/schematics_cli/schematics/angular-app/files/__path__/main.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| import { enableProdMode } from '@angular/core'; | ||
| import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; | ||
|
|
||
| import { AppModule } from './app/app.module'; | ||
| import { environment } from './environments/environment'; | ||
|
|
||
| if (environment.production) { | ||
| enableProdMode(); | ||
| } | ||
|
|
||
| platformBrowserDynamic().bootstrapModule(AppModule); |
68 changes: 68 additions & 0 deletions
68
packages/schematics_cli/schematics/angular-app/files/__path__/polyfills.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| /** | ||
| * This file includes polyfills needed by Angular and is loaded before the app. | ||
| * You can add your own extra polyfills to this file. | ||
| * | ||
| * This file is divided into 2 sections: | ||
| * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. | ||
| * 2. Application imports. Files imported after ZoneJS that should be loaded before your main | ||
| * file. | ||
| * | ||
| * The current setup is for so-called "evergreen" browsers; the last versions of browsers that | ||
| * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), | ||
| * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. | ||
| * | ||
| * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html | ||
| */ | ||
|
|
||
| /*************************************************************************************************** | ||
| * BROWSER POLYFILLS | ||
| */ | ||
|
|
||
| /** IE9, IE10 and IE11 requires all of the following polyfills. **/ | ||
| // import 'core-js/es6/symbol'; | ||
| // import 'core-js/es6/object'; | ||
| // import 'core-js/es6/function'; | ||
| // import 'core-js/es6/parse-int'; | ||
| // import 'core-js/es6/parse-float'; | ||
| // import 'core-js/es6/number'; | ||
| // import 'core-js/es6/math'; | ||
| // import 'core-js/es6/string'; | ||
| // import 'core-js/es6/date'; | ||
| // import 'core-js/es6/array'; | ||
| // import 'core-js/es6/regexp'; | ||
| // import 'core-js/es6/map'; | ||
| // import 'core-js/es6/set'; | ||
|
|
||
| /** IE10 and IE11 requires the following for NgClass support on SVG elements */ | ||
| // import 'classlist.js'; // Run `npm install --save classlist.js`. | ||
|
|
||
| /** IE10 and IE11 requires the following to support `@angular/animation`. */ | ||
| // import 'web-animations-js'; // Run `npm install --save web-animations-js`. | ||
|
|
||
|
|
||
| /** Evergreen browsers require these. **/ | ||
| import 'core-js/es6/reflect'; | ||
| import 'core-js/es7/reflect'; | ||
|
|
||
|
|
||
| /** ALL Firefox browsers require the following to support `@angular/animation`. **/ | ||
| // import 'web-animations-js'; // Run `npm install --save web-animations-js`. | ||
|
|
||
|
|
||
|
|
||
| /*************************************************************************************************** | ||
| * Zone JS is required by Angular itself. | ||
| */ | ||
| import 'zone.js/dist/zone'; // Included with Angular CLI. | ||
|
|
||
|
|
||
|
|
||
| /*************************************************************************************************** | ||
| * APPLICATION IMPORTS | ||
| */ | ||
|
|
||
| /** | ||
| * Date, currency, decimal and percent pipes. | ||
| * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 | ||
| */ | ||
| // import 'intl'; // Run `npm install --save intl`. |
1 change: 1 addition & 0 deletions
1
packages/schematics_cli/schematics/angular-app/files/__path__/styles.__styleext__
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| /* You can add global styles to this file, and also import other style files */ |
32 changes: 32 additions & 0 deletions
32
packages/schematics_cli/schematics/angular-app/files/__path__/test.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| // This file is required by karma.conf.js and loads recursively all the .spec and framework files | ||
|
|
||
| import 'zone.js/dist/long-stack-trace-zone'; | ||
| import 'zone.js/dist/proxy.js'; | ||
| import 'zone.js/dist/sync-test'; | ||
| import 'zone.js/dist/jasmine-patch'; | ||
| import 'zone.js/dist/async-test'; | ||
| import 'zone.js/dist/fake-async-test'; | ||
| import { getTestBed } from '@angular/core/testing'; | ||
| import { | ||
| BrowserDynamicTestingModule, | ||
| platformBrowserDynamicTesting | ||
| } from '@angular/platform-browser-dynamic/testing'; | ||
|
|
||
| // Unfortunately there's no typing for the `__karma__` variable. Just declare it as any. | ||
| declare var __karma__: any; | ||
| declare var require: any; | ||
|
|
||
| // Prevent Karma from running prematurely. | ||
| __karma__.loaded = function () {}; | ||
|
|
||
| // First, initialize the Angular testing environment. | ||
| getTestBed().initTestEnvironment( | ||
| BrowserDynamicTestingModule, | ||
| platformBrowserDynamicTesting() | ||
| ); | ||
| // Then we find all the tests. | ||
| const context = require.context('./', true, /\.spec\.ts$/); | ||
| // And load the modules. | ||
| context.keys().map(context); | ||
| // Finally, start Karma to run the tests. | ||
| __karma__.start(); |
13 changes: 13 additions & 0 deletions
13
packages/schematics_cli/schematics/angular-app/files/__path__/tsconfig.app.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| { | ||
| "extends": "<%= path.split('/').map(x => '..').join('/') %>/tsconfig.json", | ||
| "compilerOptions": { | ||
| "outDir": "<%= path.split('/').map(x => '..').join('/') %>/out-tsc/app", | ||
| "module": "es2015", | ||
| "baseUrl": "", | ||
| "types": [] | ||
| }, | ||
| "exclude": [ | ||
| "test.ts", | ||
| "**/*.spec.ts" | ||
| ] | ||
| } |
20 changes: 20 additions & 0 deletions
20
packages/schematics_cli/schematics/angular-app/files/__path__/tsconfig.spec.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| { | ||
| "extends": "<%= path.split('/').map(x => '..').join('/') %>/tsconfig.json", | ||
| "compilerOptions": { | ||
| "outDir": "<%= path.split('/').map(x => '..').join('/') %>/out-tsc/spec", | ||
| "module": "commonjs", | ||
| "target": "es5", | ||
| "baseUrl": "", | ||
| "types": [ | ||
| "jasmine", | ||
| "node" | ||
| ] | ||
| }, | ||
| "files": [ | ||
| "test.ts" | ||
| ], | ||
| "include": [ | ||
| "**/*.spec.ts", | ||
| "**/*.d.ts" | ||
| ] | ||
| } |
5 changes: 5 additions & 0 deletions
5
packages/schematics_cli/schematics/angular-app/files/__path__/typings.d.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| /* SystemJS module definition */ | ||
| declare var module: NodeModule; | ||
| interface NodeModule { | ||
| id: string; | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
devkit, not sdk
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.