Skip to content

Commit 1dad59b

Browse files
authored
Merge pull request #95 from netlify/new-js-strategey
New js strategey
2 parents aaf78fa + 6c75bdb commit 1dad59b

File tree

197 files changed

+126
-50979
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

197 files changed

+126
-50979
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
*.iml
22
vendor
33
*node_modules
4+
ui
5+
js

Makefile

-4
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,9 @@ deps: ## Download dependencies.
1717

1818
generate: validate ## Generate the API Go client and the JSON document for the UI.
1919
swagger generate client -A netlify -f swagger.yml -t go -c plumbing
20-
swagger generate spec -i swagger.yml -o ui/swagger.json
2120

2221
test: ## Test the go code.
2322
cd ./go && go test -v $(CHECK_FILES)
2423

2524
validate: ## Check that the swagger spec is valid.
2625
swagger validate swagger.yml
27-
28-
node: ## Generate the node module.
29-
swagger-codegen generate -i ./swagger.yml -l javascript -o ./node/

README.md

+20-18
Original file line numberDiff line numberDiff line change
@@ -28,32 +28,34 @@ You can use this command to generate the Go client:
2828

2929
You may first want to edit swagger.yml to add your field or endpoint definitions.
3030

31-
## Node Client
31+
## JS Client
3232

33-
In order to generate the Node client, you must install Java 8 and the swagger-codegen tool.
33+
Swagger's JS client can dynamically create a client from a spec either from a URL or spec object.
3434

35-
1. You will need java8 (or 7) to run the code-gen
35+
See [swagger-js](https://github.com/swagger-api/swagger-js)
3636

37-
```bash
38-
# install java 8 via homebrew
39-
brew cask install homebrew/cask-versions/java8
40-
```
4137

38+
### Usage
39+
```js
40+
<script src='browser/swagger-client.js' type='text/javascript'></script>
41+
<script>
42+
var swaggerClient = new SwaggerClient('https://open-api.netlify.com/swagger.json');
43+
</script>
44+
```
4245

43-
2. Then install swagger codegen
46+
You can also consume the swagger spec as an npm module:
4447

45-
```bash
46-
# install code-gen via homebrew
47-
brew install swagger-codegen
48-
```
48+
```console
49+
$ npm install @netlify/open-api
50+
# or
51+
$ yarn add @netlify/open-api
52+
```
4953

50-
3. Generate the library
54+
```js
55+
import spec from '@netlify/open-api' // import the spec object into your project
56+
```
5157

52-
```console
53-
$ make node
54-
```
55-
56-
The `swagger-codegen` generates an entire module in the `node` folder. You can publish new versions of the client from that folder with `npm publish`.
58+
The module also ships a copy of the original `yml` spec file at `@netlify/open-api/swagger.yml`.
5759

5860
## Explore API
5961

netlify.toml

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
[build]
22
publish = "ui"
3+
command = "npm run build"

node/.swagger-codegen-ignore

-23
This file was deleted.

node/.swagger-codegen/VERSION

-1
This file was deleted.

node/.travis.yml

-7
This file was deleted.

node/README.md

-262
This file was deleted.

node/docs/AccessToken.md

-12
This file was deleted.

node/docs/AccountMembership.md

-23
This file was deleted.

node/docs/AccountMembershipCapabilities.md

-9
This file was deleted.

node/docs/AccountSetup.md

-23
This file was deleted.

node/docs/AccountType.md

-15
This file was deleted.

node/docs/AccountUpdateSetup.md

-15
This file was deleted.

node/docs/AccountUsageCapability.md

-9
This file was deleted.

node/docs/Asset.md

-19
This file was deleted.

node/docs/AssetForm.md

-9
This file was deleted.

node/docs/AssetPublicSignature.md

-8
This file was deleted.

node/docs/AssetSignature.md

-9
This file was deleted.

node/docs/AuditLog.md

-10
This file was deleted.

node/docs/Build.md

-13
This file was deleted.

node/docs/BuildHook.md

-13
This file was deleted.

node/docs/BuildLogMsg.md

-9
This file was deleted.

0 commit comments

Comments
 (0)