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

Milestone/v2.0.0 #5

Merged
merged 72 commits into from
Apr 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
7131bc6
chore: generator minor changes
pviti Mar 27, 2024
832c925
fix: fix action payload
pviti Apr 3, 2024
ab1627d
breaking: remove axios and support to node <20
pviti Apr 4, 2024
de3f118
Merge pull request #6 from commercelayer/fetch
pviti Apr 4, 2024
c175aed
chore(release): 2.0.0-beta.1 [skip ci]
semantic-release-bot Apr 4, 2024
2f9d2fa
fix: fix types export
pviti Apr 4, 2024
d9e8682
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 4, 2024
55dca7f
chore(release): 2.0.0-beta.2 [skip ci]
semantic-release-bot Apr 4, 2024
493a40b
fix: fix sortable fields
pviti Apr 4, 2024
a0eeb36
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 4, 2024
50d01e4
chore(release): 2.0.0-beta.3 [skip ci]
semantic-release-bot Apr 4, 2024
a49c437
fix: fix package exports
pviti Apr 8, 2024
8372f6d
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 8, 2024
05a1d1a
chore(release): 2.0.0-beta.4 [skip ci]
semantic-release-bot Apr 8, 2024
6d17340
feat: add resource fields examples
pviti Apr 8, 2024
ae45c9b
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 8, 2024
3c55eee
chore(release): 2.0.0-beta.5 [skip ci]
semantic-release-bot Apr 8, 2024
a768d05
fix: fix plubic resources url
pviti Apr 8, 2024
7dce3ca
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 8, 2024
7ae0d50
chore(release): 2.0.0-beta.6 [skip ci]
semantic-release-bot Apr 8, 2024
81fc03f
Merge branch 'main' into milestone/v2.0.0
pviti Apr 8, 2024
34d5f4a
fix: fix fetch response type
pviti Apr 9, 2024
56e6201
chore(release): 2.0.0-beta.7 [skip ci]
semantic-release-bot Apr 9, 2024
616cda4
fix: fix query params export
pviti Apr 9, 2024
7857389
chore(release): 2.0.0-beta.8 [skip ci]
semantic-release-bot Apr 9, 2024
45c2c50
fix: fix query types
pviti Apr 9, 2024
f919dd8
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 9, 2024
e4cbec6
chore(release): 2.0.0-beta.9 [skip ci]
semantic-release-bot Apr 9, 2024
17b6e8b
fix: fix package exports
pviti Apr 9, 2024
4c22c64
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 9, 2024
2307938
chore(release): 2.0.0-beta.10 [skip ci]
semantic-release-bot Apr 9, 2024
b6d656d
fix: fix query generics
pviti Apr 9, 2024
a890212
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 9, 2024
bd757e8
chore(release): 2.0.0-beta.11 [skip ci]
semantic-release-bot Apr 9, 2024
553bef9
fix: fix query filters generics
pviti Apr 9, 2024
44e5c8e
chore(release): 2.0.0-beta.12 [skip ci]
semantic-release-bot Apr 9, 2024
e6e6057
fix: fix ListResponse type
pviti Apr 9, 2024
73f3b60
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 9, 2024
940a76f
chore(release): 2.0.0-beta.13 [skip ci]
semantic-release-bot Apr 9, 2024
ec89120
fix: fix Nullable type import
pviti Apr 10, 2024
fc7507a
fix: fix generator for Nullable type
pviti Apr 10, 2024
45629d6
chore(release): 2.0.0-beta.14 [skip ci]
semantic-release-bot Apr 10, 2024
a10cf8e
fix: update public resources url
pviti Apr 10, 2024
e9547f2
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 10, 2024
c1b5494
chore(release): 2.0.0-beta.15 [skip ci]
semantic-release-bot Apr 10, 2024
c785999
chore: remove unused backup file
pviti Apr 10, 2024
37a3d52
Merge branch 'beta' of https://github.com/commercelayer/provisioning-…
pviti Apr 10, 2024
8541850
fix: fix query types export
pviti Apr 10, 2024
a7518c0
chore(release): 2.0.0-beta.16 [skip ci]
semantic-release-bot Apr 10, 2024
1fde5e0
fix: fix schema parser and source code generator
pviti Apr 12, 2024
707125f
chore(release): 2.0.0-beta.17 [skip ci]
semantic-release-bot Apr 12, 2024
823176f
chore: add prerelease branch
pviti Apr 12, 2024
3a78661
Merge branch 'beta' into milestone/v2.0.0
pviti Apr 12, 2024
5bec912
chore(release): 2.0.0-rc.1 [skip ci]
semantic-release-bot Apr 12, 2024
03f1e1d
chore: change branch release config
pviti Apr 12, 2024
741c75d
Merge branch 'prerelease' of https://github.com/commercelayer/provisi…
pviti Apr 12, 2024
d64b284
chore(release): 2.0.0-rc.1 [skip ci]
semantic-release-bot Apr 12, 2024
98a862b
fix: fix jsonapi import types
pviti Apr 12, 2024
f966109
Merge branch 'prerelease' of https://github.com/commercelayer/provisi…
pviti Apr 12, 2024
e4e83ba
chore(release): 2.0.0-rc.1 [skip ci]
semantic-release-bot Apr 12, 2024
95f70c5
fix: fix release config
pviti Apr 12, 2024
88e807e
chore(release): 2.0.0-rc.2 [skip ci]
semantic-release-bot Apr 12, 2024
bc87e57
chore: update dependencies
pviti Apr 15, 2024
c211e1a
chore: update dependencies
pviti Apr 16, 2024
703f600
chore: fix changelog
pviti Apr 16, 2024
aa082a2
chore: update dependencies
pviti Apr 22, 2024
79dfb2e
Merge pull request #8 from commercelayer/prerelease
pviti Apr 22, 2024
36d6a82
Merge branch 'main' into milestone/v2.0.0
pviti Apr 22, 2024
fa57eec
chore: remove lock file
pviti Apr 22, 2024
92ec1be
Merge branch 'milestone/v2.0.0' of https://github.com/commercelayer/p…
pviti Apr 22, 2024
3c22be7
fix: update dependencies
pviti Apr 22, 2024
539d74a
fix: fix codeql language
pviti Apr 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: "CodeQL"

on:
push:
branches: [ main ]
branches: [ main, beta ]
pull_request:
branches: [ main ]
schedule:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/semantic-release.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Release
on:
push:
branches: [ main, beta ]
branches: [ main, beta, prerelease ]
pull_request:
branches: [ main ]
jobs:
Expand All @@ -10,16 +10,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Install pnpm
uses: pnpm/action-setup@v2
uses: pnpm/action-setup@v3
with:
version: latest
- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'pnpm'
Expand Down
5 changes: 3 additions & 2 deletions .releaserc
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@
"branches": [
{ "name": "main", "channel": "latest" },
"+([0-9])?(.{+([0-9]),x}).x",
{ "name": "beta", "prerelease": true }
{ "name": "beta", "prerelease": true },
{ "name": "prerelease", "prerelease": "rc" }
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/github",
"@semantic-release/npm",
"@semantic-release/github",
["@semantic-release/changelog", {
"changelogFile": "CHANGELOG.md"
}],
Expand Down
167 changes: 28 additions & 139 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,158 +1,47 @@
# [1.1.0](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.5...v1.1.0) (2024-04-22)


### Features

* update resources to schema v1.0.4 ([fbd74ca](https://github.com/commercelayer/provisioning-sdk/commit/fbd74caa90ae05253bf67080baa94c4210bdcd77))

## [1.0.5](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.4...v1.0.5) (2024-03-12)


### Bug Fixes

* migrate from ts-node to tsx and update dependencies ([0243330](https://github.com/commercelayer/provisioning-sdk/commit/02433307746d7847132c7ac09a18282fb6621986))

## [1.0.4](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.3...v1.0.4) (2024-03-12)


### Bug Fixes

* fix circular inclusion ([4120ec7](https://github.com/commercelayer/provisioning-sdk/commit/4120ec7f63872cbbc913fd89dba3c8f90ec28c63))

## [1.0.3](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.2...v1.0.3) (2024-03-04)


### Bug Fixes

* fix import/export config ([5ba0083](https://github.com/commercelayer/provisioning-sdk/commit/5ba008381ff8a25884d1be17e2fd82e9f97e6c2b))

## [1.0.2](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.1...v1.0.2) (2024-03-01)


### Bug Fixes

* fix api esm export ([ba275ff](https://github.com/commercelayer/provisioning-sdk/commit/ba275ffe5b8e92af9528efd41d69cd7091cc8d16))
* fix env secrets ([04d6e39](https://github.com/commercelayer/provisioning-sdk/commit/04d6e393b2a4fbb7ea542a62090fe123883d5f52))
* fix package exports ([17d9c4a](https://github.com/commercelayer/provisioning-sdk/commit/17d9c4ae01170dabd36bdc103a69017ecc07e136))
* fix package exports ([ab753f0](https://github.com/commercelayer/provisioning-sdk/commit/ab753f0dc194b8d882562a03a5f3e5325815707f))
* fix spot test ([b09a833](https://github.com/commercelayer/provisioning-sdk/commit/b09a83313798c871821943771b91ff1ddbbccb5c))
* fix test env ([dff0a7a](https://github.com/commercelayer/provisioning-sdk/commit/dff0a7a79100581b47a973b39a033dfa7a10e104))

## [1.0.1](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0...v1.0.1) (2024-02-27)


### Bug Fixes

* fix esm export ([50c6f7d](https://github.com/commercelayer/provisioning-sdk/commit/50c6f7d5d02b5e721b4befdadaa20e7fbf1e2718))

# 1.0.0 (2024-01-26)


### Bug Fixes

* **doc:** fix readme ([50bf2b6](https://github.com/commercelayer/provisioning-sdk/commit/50bf2b6debd921e1ca4936ac5acc669b191116ac))
* fix custom user agent option ([75f5f97](https://github.com/commercelayer/provisioning-sdk/commit/75f5f97e3dade5dd43905deba81f6c4ed46ca21b))
* fix heading empty lines ([a24e997](https://github.com/commercelayer/provisioning-sdk/commit/a24e9976b89387f6130d4b95930aa9b65e784113))
* fix release script and update dependencies ([a597c75](https://github.com/commercelayer/provisioning-sdk/commit/a597c7513a16d92842f7fddf74517af1fd4a0f9c))
* fix singleton patch with body id ([e923c9c](https://github.com/commercelayer/provisioning-sdk/commit/e923c9ce69f5b5ea43698bd1df67f26783010d1e))
* fix singleton spec ([5c617a8](https://github.com/commercelayer/provisioning-sdk/commit/5c617a8af5c7682a38e645cf86607214c4cbd1de))
* release script ([006a747](https://github.com/commercelayer/provisioning-sdk/commit/006a74784c4f2fe302d4d4b0b96673df0067f8a1))
* singleton import ([9578382](https://github.com/commercelayer/provisioning-sdk/commit/9578382b671629d4891e77f39658ab66828eb357))
* update dependencies and fix lint errors ([8e39135](https://github.com/commercelayer/provisioning-sdk/commit/8e3913557a272b3b31d168b3c54ced26128ed7c3))
* update schema ([9e569c7](https://github.com/commercelayer/provisioning-sdk/commit/9e569c7484896ea666f5f8079ee0833ed9dc87aa))


### Features

* add auto generation of special actions ([08cd9ff](https://github.com/commercelayer/provisioning-sdk/commit/08cd9ffdae53c80d7b52f841c2da319488a9ee85))
* add custom user agent ([fe2050d](https://github.com/commercelayer/provisioning-sdk/commit/fe2050d4088adbdce4d8e30d6773ebf3fef28e3e))
* add singleton update ([71e0e7b](https://github.com/commercelayer/provisioning-sdk/commit/71e0e7b3a10ec3210da8363ccb5bc9986a4673a1))
* add singletons functions to client instance ([ca338e6](https://github.com/commercelayer/provisioning-sdk/commit/ca338e63574b1c0aa8301d2de2676b4e32e991cd))
* add singletons list and functions ([5f5d4f1](https://github.com/commercelayer/provisioning-sdk/commit/5f5d4f1c8be9ae70db4765bc8e6f519597db7b17))
* first commit of provisioning sdk ([b067f12](https://github.com/commercelayer/provisioning-sdk/commit/b067f123ed9f2e0fce53673306b05fcf479c17f0))
* update resources to schema v1.0.1 ([686e24a](https://github.com/commercelayer/provisioning-sdk/commit/686e24ae6f3c63a2a07d9e5fac8047161d7b462c))
* update resources to schema v1.0.2 ([87dd737](https://github.com/commercelayer/provisioning-sdk/commit/87dd7370897b65e730b69c8bed3c5e4a23de94a4))

# [1.0.0-beta.11](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.10...v1.0.0-beta.11) (2024-01-10)
# [2.0.0-rc.2](https://github.com/commercelayer/provisioning-sdk/compare/v2.0.0-rc.1...v2.0.0-rc.2) (2024-04-12)


### Bug Fixes

* update dependencies and fix lint errors ([8e39135](https://github.com/commercelayer/provisioning-sdk/commit/8e3913557a272b3b31d168b3c54ced26128ed7c3))
* fix jsonapi import types ([98a862b](https://github.com/commercelayer/provisioning-sdk/commit/98a862bbd721b724aeb3afa526769ef50a639e7a))
* fix release config ([95f70c5](https://github.com/commercelayer/provisioning-sdk/commit/95f70c58701169dc0449654a4d166999c166638c))

# [1.0.0-beta.10](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.9...v1.0.0-beta.10) (2023-12-20)
# [2.0.0-rc.1](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.5...v2.0.0-rc.1) (2024-04-12)


### Bug Fixes

* fix singleton patch with body id ([e923c9c](https://github.com/commercelayer/provisioning-sdk/commit/e923c9ce69f5b5ea43698bd1df67f26783010d1e))

# [1.0.0-beta.9](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.8...v1.0.0-beta.9) (2023-12-20)


### Features

* add singletons functions to client instance ([ca338e6](https://github.com/commercelayer/provisioning-sdk/commit/ca338e63574b1c0aa8301d2de2676b4e32e991cd))
* add singletons list and functions ([5f5d4f1](https://github.com/commercelayer/provisioning-sdk/commit/5f5d4f1c8be9ae70db4765bc8e6f519597db7b17))

# [1.0.0-beta.8](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2023-12-20)


### Bug Fixes

* fix singleton spec ([5c617a8](https://github.com/commercelayer/provisioning-sdk/commit/5c617a8af5c7682a38e645cf86607214c4cbd1de))


### Features

* add singleton update ([71e0e7b](https://github.com/commercelayer/provisioning-sdk/commit/71e0e7b3a10ec3210da8363ccb5bc9986a4673a1))

# [1.0.0-beta.7](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2023-12-13)


### Features
### breaking

* add auto generation of special actions ([08cd9ff](https://github.com/commercelayer/provisioning-sdk/commit/08cd9ffdae53c80d7b52f841c2da319488a9ee85))

# [1.0.0-beta.6](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2023-12-12)


### Bug Fixes

* fix custom user agent option ([75f5f97](https://github.com/commercelayer/provisioning-sdk/commit/75f5f97e3dade5dd43905deba81f6c4ed46ca21b))

# [1.0.0-beta.5](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2023-12-07)


### Bug Fixes

* singleton import ([9578382](https://github.com/commercelayer/provisioning-sdk/commit/9578382b671629d4891e77f39658ab66828eb357))
* update schema ([9e569c7](https://github.com/commercelayer/provisioning-sdk/commit/9e569c7484896ea666f5f8079ee0833ed9dc87aa))

# [1.0.0-beta.4](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.3...v1.0.0-beta.4) (2023-11-30)
* remove axios and support to node <20 ([ab1627d](https://github.com/commercelayer/provisioning-sdk/commit/ab1627d9d7ab79ddedfd1eb4031afc05341a592a))


### Bug Fixes

* release script ([006a747](https://github.com/commercelayer/provisioning-sdk/commit/006a74784c4f2fe302d4d4b0b96673df0067f8a1))

# [1.0.0-beta.3](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2023-11-30)
* fix action payload ([832c925](https://github.com/commercelayer/provisioning-sdk/commit/832c92588ebf137f681e2a3a7e4ccd40e202210e))
* fix fetch response type ([34d5f4a](https://github.com/commercelayer/provisioning-sdk/commit/34d5f4a5910d94983dbf817974b9a5e2dd13018a))
* fix generator for Nullable type ([fc7507a](https://github.com/commercelayer/provisioning-sdk/commit/fc7507a1fea6e1bd875694cd16005b9d05ff9d6e))
* fix jsonapi import types ([98a862b](https://github.com/commercelayer/provisioning-sdk/commit/98a862bbd721b724aeb3afa526769ef50a639e7a))
* fix ListResponse type ([e6e6057](https://github.com/commercelayer/provisioning-sdk/commit/e6e605760f581d70a173ec29e6a7f6bd0bf0481d))
* fix Nullable type import ([ec89120](https://github.com/commercelayer/provisioning-sdk/commit/ec8912018c7094d8c5900dcd93e39d15702ea6de))
* fix package exports ([17b6e8b](https://github.com/commercelayer/provisioning-sdk/commit/17b6e8ba2520bc5a50fae69e228680f0c28a5ccc))
* fix package exports ([a49c437](https://github.com/commercelayer/provisioning-sdk/commit/a49c4379b39c1cd1b02b52375dd76a58371fd0b8))
* fix plubic resources url ([a768d05](https://github.com/commercelayer/provisioning-sdk/commit/a768d050bc402ef0dc9881d98b4a99d483a5f22e))
* fix query filters generics ([553bef9](https://github.com/commercelayer/provisioning-sdk/commit/553bef9859c8fa6ce0e185ac825c835ad7e83d2e))
* fix query generics ([b6d656d](https://github.com/commercelayer/provisioning-sdk/commit/b6d656d155bff7c1b4200ba7dbd9f22d741399bf))
* fix query params export ([616cda4](https://github.com/commercelayer/provisioning-sdk/commit/616cda43b0937877083a1ae043fee031cf46c870))
* fix query types ([45c2c50](https://github.com/commercelayer/provisioning-sdk/commit/45c2c5072c7b7cc977a66ab96bee355459c4b95e))
* fix query types export ([8541850](https://github.com/commercelayer/provisioning-sdk/commit/8541850c4653e07ed50a72819dba678767589228))
* fix schema parser and source code generator ([1fde5e0](https://github.com/commercelayer/provisioning-sdk/commit/1fde5e0a2284684cbf7d9583701e1eca0c6086c4))
* fix sortable fields ([493a40b](https://github.com/commercelayer/provisioning-sdk/commit/493a40bcf427e0e21101325a91e4482be6d0d7cb))
* fix types export ([2f9d2fa](https://github.com/commercelayer/provisioning-sdk/commit/2f9d2fa44419f65e216987d62d32ff3bb4c2836e))
* update public resources url ([a10cf8e](https://github.com/commercelayer/provisioning-sdk/commit/a10cf8e1346554fe0b00a50be7cc718399d3025c))


### Features

* add custom user agent ([fe2050d](https://github.com/commercelayer/provisioning-sdk/commit/fe2050d4088adbdce4d8e30d6773ebf3fef28e3e))

# [1.0.0-beta.2](https://github.com/commercelayer/provisioning-sdk/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2023-10-31)


### Bug Fixes

* **doc:** fix readme ([50bf2b6](https://github.com/commercelayer/provisioning-sdk/commit/50bf2b6debd921e1ca4936ac5acc669b191116ac))

# 1.0.0-beta.1 (2023-10-31)
* add resource fields examples ([6d17340](https://github.com/commercelayer/provisioning-sdk/commit/6d173404e76a4903edf69ed64df164e367049a65))
* update resources to schema v1.0.4 ([fbd74ca](https://github.com/commercelayer/provisioning-sdk/commit/fbd74caa90ae05253bf67080baa94c4210bdcd77))


### Features
### BREAKING CHANGES

* first commit of provisioning sdk ([b067f12](https://github.com/commercelayer/provisioning-sdk/commit/b067f123ed9f2e0fce53673306b05fcf479c17f0))
* remove axios and support to node <20
1 change: 1 addition & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

| Version | Supported |
| ------- | ------------------ |
| 2.x.x | :white_check_mark: |
| 1.x.x | :white_check_mark: |
| < 1.0.0 | :x: |

Expand Down
63 changes: 57 additions & 6 deletions gen/fixer.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
/* eslint-disable no-console */
import { ApiSchema } from './schema'
import resSchema from './resources.js'
import { sortObjectFields } from '../src/util'
import { inspect } from 'util'
import Inflector from './inflector.js'
import { CONFIG } from './generator.js'



Expand Down Expand Up @@ -30,24 +32,69 @@ const fixRedundantComponents = (schema: ApiSchema): ApiSchema => {
res.components = sortObjectFields(res.components)

})

console.log('Redundant components have been replaced')

return schema

}


const fixSchema = (schema: ApiSchema): ApiSchema => {
const fixSchema = async (schema: ApiSchema): Promise<ApiSchema> => {

console.log('Fixing parsed schema...')
const fixedSchema = fixRedundantComponents(schema)

let fixedSchema = schema
fixedSchema = fixRedundantComponents(fixedSchema)
fixedSchema = await enrichSchema(fixedSchema)

console.log('Schema fixed.')

return fixedSchema

}


export default fixSchema
const enrichSchema = async (schema: ApiSchema): Promise<ApiSchema> => {

const resourcesInfo = CONFIG.LOCAL? resSchema.load() : await resSchema.download()

if (!resourcesInfo) {
console.log('Error reading reasources data')
process.exit()
}

Object.entries(schema.components).forEach(([key, val]) => {
const resId = Inflector.snakeCase(key)
const resFields = resSchema.getResourceFields(resourcesInfo, resId)
if (resFields) Object.entries(val.attributes).forEach(([name, info]) => {
const field = resFields[name]
if (!field) console.log(`Warning, field not found in resources data: ${resId}.${name}`)
info.sortable = field?.sortable || false
info.filterable = field?.filterable || false
})
})


Object.values(schema.resources).forEach(r => {
Object.entries(r.components).forEach(([key, val]) => {
const resId = Inflector.snakeCase(key)
const resFields = resSchema.getResourceFields(resourcesInfo, resId)
if (resFields) Object.entries(val.attributes).forEach(([name, info]) => {
const field = resFields[name]
if (!field) console.log(`Warning, field not found in resources data: ${resId}.${name}`)
info.sortable = field?.sortable || false
info.filterable = field?.filterable || false
})
})
})


console.log('Api schema has been enriched with resources data')

return schema

}


const fixHeadingEmptyLines = (lines: string[]): string[] => {
Expand All @@ -62,4 +109,8 @@ const fixHeadingEmptyLines = (lines: string[]): string[] => {
}


export { fixHeadingEmptyLines }

export default {
fixSchema,
fixHeadingEmptyLines
}
Loading