@asyncapi/generator 2.5.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +146 -0
- package/Dockerfile +7 -8
- package/cli.js +7 -0
- package/docs/api.md +12 -3
- package/docs/asyncapi-document.md +2 -1
- package/docs/configuration-file.md +112 -33
- package/docs/file-templates.md +2 -0
- package/docs/generator-template-java.md +560 -0
- package/docs/generator-template.md +62 -29
- package/docs/hooks.md +3 -3
- package/docs/installation-guide.md +5 -51
- package/docs/migration-cli.md +70 -0
- package/docs/migration-nunjucks-react.md +144 -0
- package/docs/nunjucks-render-engine.md +6 -2
- package/docs/template.md +2 -2
- package/docs/usage.md +14 -32
- package/docs/versioning.md +3 -1
- package/lib/conditionalGeneration.js +162 -0
- package/lib/filtersRegistry.js +5 -1
- package/lib/generator.js +96 -43
- package/lib/hooksRegistry.js +8 -1
- package/lib/logMessages.js +6 -1
- package/lib/parser.js +10 -0
- package/lib/renderer/nunjucks.js +2 -2
- package/lib/templateConfigValidator.js +30 -1
- package/package.json +4 -6
- package/test/generator.test.js +1 -1
- package/test/hooksRegistry.test.js +173 -0
- package/test/integration.test.js +51 -4
- package/test/parser.test.js +100 -2
- package/test/templateConfigValidator.test.js +18 -1
- package/test/test-project/README.md +5 -1
- package/test/test-project/docker-compose.yml +7 -15
- package/test/test-project/package.json +0 -1
- package/test/test-project/test-project.test.js +6 -2
- package/test/test-project/test-registry.test.js +7 -2
- package/test/test-project/test.sh +6 -1
- package/test/test-project/verdaccio/config.yaml +6 -0
- package/test/test-templates/nunjucks-template/package-lock.json +110 -183
- package/test/test-templates/react-template/.ageneratorrc +33 -0
- package/test/test-templates/react-template/package.json +5 -20
- package/test/test-templates/react-template/template/conditionalFile.txt +0 -0
- package/test/test-templates/react-template/template/conditionalFolder/conditionalFile.txt +0 -0
- package/test/test-templates/react-template/template/conditionalFolder2/input.txt +0 -0
- package/test/test-templates/react-template/template/models.js +6 -0
- package/test/utils.test.js +53 -0
- package/test/test-project/test-entrypoint.sh +0 -12
- package/test/test-templates/react-template/__transpiled/test-file.md.js +0 -24
- package/test/test-templates/react-template/__transpiled/test-file.md.js.map +0 -1
- package/test/test-templates/react-template/package-lock.json +0 -4135
|
@@ -93,11 +93,11 @@
|
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
"node_modules/@asyncapi/parser": {
|
|
96
|
-
"version": "3.
|
|
97
|
-
"resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.
|
|
98
|
-
"integrity": "sha512-
|
|
96
|
+
"version": "3.4.0",
|
|
97
|
+
"resolved": "https://registry.npmjs.org/@asyncapi/parser/-/parser-3.4.0.tgz",
|
|
98
|
+
"integrity": "sha512-Sxn74oHiZSU6+cVeZy62iPZMFMvKp4jupMFHelSICCMw1qELmUHPvuZSr+ZHDmNGgHcEpzJM5HN02kR7T4g+PQ==",
|
|
99
99
|
"dependencies": {
|
|
100
|
-
"@asyncapi/specs": "^6.
|
|
100
|
+
"@asyncapi/specs": "^6.8.0",
|
|
101
101
|
"@openapi-contrib/openapi-schema-to-json-schema": "~3.2.0",
|
|
102
102
|
"@stoplight/json": "3.21.0",
|
|
103
103
|
"@stoplight/json-ref-readers": "^1.2.2",
|
|
@@ -114,24 +114,26 @@
|
|
|
114
114
|
"ajv-formats": "^2.1.1",
|
|
115
115
|
"avsc": "^5.7.5",
|
|
116
116
|
"js-yaml": "^4.1.0",
|
|
117
|
-
"jsonpath-plus": "^
|
|
117
|
+
"jsonpath-plus": "^10.0.0",
|
|
118
118
|
"node-fetch": "2.6.7"
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
121
|
"node_modules/@asyncapi/specs": {
|
|
122
|
-
"version": "6.
|
|
123
|
-
"resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.
|
|
124
|
-
"integrity": "sha512-
|
|
122
|
+
"version": "6.8.0",
|
|
123
|
+
"resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.8.0.tgz",
|
|
124
|
+
"integrity": "sha512-1i6xs8+IOh6U5T7yH+bCMGQBF+m7kP/NpwyAlt++XaDQutoGCgACf24mQBgcDVqDWWoY81evQv+9ABvw0BviVg==",
|
|
125
125
|
"dependencies": {
|
|
126
126
|
"@types/json-schema": "^7.0.11"
|
|
127
127
|
}
|
|
128
128
|
},
|
|
129
129
|
"node_modules/@babel/code-frame": {
|
|
130
|
-
"version": "7.
|
|
131
|
-
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.
|
|
132
|
-
"integrity": "sha512-
|
|
130
|
+
"version": "7.26.2",
|
|
131
|
+
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
|
|
132
|
+
"integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
|
|
133
|
+
"license": "MIT",
|
|
133
134
|
"dependencies": {
|
|
134
|
-
"@babel/
|
|
135
|
+
"@babel/helper-validator-identifier": "^7.25.9",
|
|
136
|
+
"js-tokens": "^4.0.0",
|
|
135
137
|
"picocolors": "^1.0.0"
|
|
136
138
|
},
|
|
137
139
|
"engines": {
|
|
@@ -436,17 +438,19 @@
|
|
|
436
438
|
}
|
|
437
439
|
},
|
|
438
440
|
"node_modules/@babel/helper-string-parser": {
|
|
439
|
-
"version": "7.
|
|
440
|
-
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.
|
|
441
|
-
"integrity": "sha512-
|
|
441
|
+
"version": "7.25.9",
|
|
442
|
+
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
|
|
443
|
+
"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
|
|
444
|
+
"license": "MIT",
|
|
442
445
|
"engines": {
|
|
443
446
|
"node": ">=6.9.0"
|
|
444
447
|
}
|
|
445
448
|
},
|
|
446
449
|
"node_modules/@babel/helper-validator-identifier": {
|
|
447
|
-
"version": "7.
|
|
448
|
-
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.
|
|
449
|
-
"integrity": "sha512-
|
|
450
|
+
"version": "7.25.9",
|
|
451
|
+
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
|
|
452
|
+
"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
|
|
453
|
+
"license": "MIT",
|
|
450
454
|
"engines": {
|
|
451
455
|
"node": ">=6.9.0"
|
|
452
456
|
}
|
|
@@ -473,36 +477,26 @@
|
|
|
473
477
|
}
|
|
474
478
|
},
|
|
475
479
|
"node_modules/@babel/helpers": {
|
|
476
|
-
"version": "7.
|
|
477
|
-
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.
|
|
478
|
-
"integrity": "sha512-
|
|
480
|
+
"version": "7.26.10",
|
|
481
|
+
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz",
|
|
482
|
+
"integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==",
|
|
483
|
+
"license": "MIT",
|
|
479
484
|
"dependencies": {
|
|
480
|
-
"@babel/template": "^7.
|
|
481
|
-
"@babel/
|
|
482
|
-
"@babel/types": "^7.24.0"
|
|
485
|
+
"@babel/template": "^7.26.9",
|
|
486
|
+
"@babel/types": "^7.26.10"
|
|
483
487
|
},
|
|
484
488
|
"engines": {
|
|
485
489
|
"node": ">=6.9.0"
|
|
486
490
|
}
|
|
487
491
|
},
|
|
488
|
-
"node_modules/@babel/
|
|
489
|
-
"version": "7.
|
|
490
|
-
"resolved": "https://registry.npmjs.org/@babel/
|
|
491
|
-
"integrity": "sha512-
|
|
492
|
+
"node_modules/@babel/parser": {
|
|
493
|
+
"version": "7.26.10",
|
|
494
|
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz",
|
|
495
|
+
"integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==",
|
|
496
|
+
"license": "MIT",
|
|
492
497
|
"dependencies": {
|
|
493
|
-
"@babel/
|
|
494
|
-
"chalk": "^2.4.2",
|
|
495
|
-
"js-tokens": "^4.0.0",
|
|
496
|
-
"picocolors": "^1.0.0"
|
|
498
|
+
"@babel/types": "^7.26.10"
|
|
497
499
|
},
|
|
498
|
-
"engines": {
|
|
499
|
-
"node": ">=6.9.0"
|
|
500
|
-
}
|
|
501
|
-
},
|
|
502
|
-
"node_modules/@babel/parser": {
|
|
503
|
-
"version": "7.24.4",
|
|
504
|
-
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz",
|
|
505
|
-
"integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==",
|
|
506
500
|
"bin": {
|
|
507
501
|
"parser": "bin/babel-parser.js"
|
|
508
502
|
},
|
|
@@ -1728,9 +1722,10 @@
|
|
|
1728
1722
|
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
|
|
1729
1723
|
},
|
|
1730
1724
|
"node_modules/@babel/runtime": {
|
|
1731
|
-
"version": "7.
|
|
1732
|
-
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.
|
|
1733
|
-
"integrity": "sha512-
|
|
1725
|
+
"version": "7.26.10",
|
|
1726
|
+
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz",
|
|
1727
|
+
"integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==",
|
|
1728
|
+
"license": "MIT",
|
|
1734
1729
|
"dependencies": {
|
|
1735
1730
|
"regenerator-runtime": "^0.14.0"
|
|
1736
1731
|
},
|
|
@@ -1739,13 +1734,14 @@
|
|
|
1739
1734
|
}
|
|
1740
1735
|
},
|
|
1741
1736
|
"node_modules/@babel/template": {
|
|
1742
|
-
"version": "7.
|
|
1743
|
-
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.
|
|
1744
|
-
"integrity": "sha512-
|
|
1737
|
+
"version": "7.26.9",
|
|
1738
|
+
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz",
|
|
1739
|
+
"integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==",
|
|
1740
|
+
"license": "MIT",
|
|
1745
1741
|
"dependencies": {
|
|
1746
|
-
"@babel/code-frame": "^7.
|
|
1747
|
-
"@babel/parser": "^7.
|
|
1748
|
-
"@babel/types": "^7.
|
|
1742
|
+
"@babel/code-frame": "^7.26.2",
|
|
1743
|
+
"@babel/parser": "^7.26.9",
|
|
1744
|
+
"@babel/types": "^7.26.9"
|
|
1749
1745
|
},
|
|
1750
1746
|
"engines": {
|
|
1751
1747
|
"node": ">=6.9.0"
|
|
@@ -1772,13 +1768,13 @@
|
|
|
1772
1768
|
}
|
|
1773
1769
|
},
|
|
1774
1770
|
"node_modules/@babel/types": {
|
|
1775
|
-
"version": "7.
|
|
1776
|
-
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.
|
|
1777
|
-
"integrity": "sha512
|
|
1771
|
+
"version": "7.26.10",
|
|
1772
|
+
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz",
|
|
1773
|
+
"integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==",
|
|
1774
|
+
"license": "MIT",
|
|
1778
1775
|
"dependencies": {
|
|
1779
|
-
"@babel/helper-string-parser": "^7.
|
|
1780
|
-
"@babel/helper-validator-identifier": "^7.
|
|
1781
|
-
"to-fast-properties": "^2.0.0"
|
|
1776
|
+
"@babel/helper-string-parser": "^7.25.9",
|
|
1777
|
+
"@babel/helper-validator-identifier": "^7.25.9"
|
|
1782
1778
|
},
|
|
1783
1779
|
"engines": {
|
|
1784
1780
|
"node": ">=6.9.0"
|
|
@@ -1827,10 +1823,21 @@
|
|
|
1827
1823
|
"@jridgewell/sourcemap-codec": "^1.4.14"
|
|
1828
1824
|
}
|
|
1829
1825
|
},
|
|
1826
|
+
"node_modules/@jsep-plugin/assignment": {
|
|
1827
|
+
"version": "1.3.0",
|
|
1828
|
+
"resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz",
|
|
1829
|
+
"integrity": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==",
|
|
1830
|
+
"engines": {
|
|
1831
|
+
"node": ">= 10.16.0"
|
|
1832
|
+
},
|
|
1833
|
+
"peerDependencies": {
|
|
1834
|
+
"jsep": "^0.4.0||^1.0.0"
|
|
1835
|
+
}
|
|
1836
|
+
},
|
|
1830
1837
|
"node_modules/@jsep-plugin/regex": {
|
|
1831
|
-
"version": "1.0.
|
|
1832
|
-
"resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.
|
|
1833
|
-
"integrity": "sha512-
|
|
1838
|
+
"version": "1.0.4",
|
|
1839
|
+
"resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.4.tgz",
|
|
1840
|
+
"integrity": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==",
|
|
1834
1841
|
"engines": {
|
|
1835
1842
|
"node": ">= 10.16.0"
|
|
1836
1843
|
},
|
|
@@ -1839,9 +1846,9 @@
|
|
|
1839
1846
|
}
|
|
1840
1847
|
},
|
|
1841
1848
|
"node_modules/@jsep-plugin/ternary": {
|
|
1842
|
-
"version": "1.1.
|
|
1843
|
-
"resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.
|
|
1844
|
-
"integrity": "sha512-
|
|
1849
|
+
"version": "1.1.4",
|
|
1850
|
+
"resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.4.tgz",
|
|
1851
|
+
"integrity": "sha512-ck5wiqIbqdMX6WRQztBL7ASDty9YLgJ3sSAK5ZpBzXeySvFGCzIvM6UiAI4hTZ22fEcYQVV/zhUbNscggW+Ukg==",
|
|
1845
1852
|
"engines": {
|
|
1846
1853
|
"node": ">= 10.16.0"
|
|
1847
1854
|
},
|
|
@@ -1980,34 +1987,34 @@
|
|
|
1980
1987
|
}
|
|
1981
1988
|
},
|
|
1982
1989
|
"node_modules/@stoplight/spectral-core": {
|
|
1983
|
-
"version": "1.
|
|
1984
|
-
"resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.
|
|
1985
|
-
"integrity": "sha512-
|
|
1990
|
+
"version": "1.19.4",
|
|
1991
|
+
"resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.19.4.tgz",
|
|
1992
|
+
"integrity": "sha512-8hnZXfssTlV99SKo8J8BwMt5LsiBFHkCh0V3P7j8IPcCNl//bpG92U4TpYy7AwmUms/zCLX7sxNQC6AZ+bkfzg==",
|
|
1986
1993
|
"dependencies": {
|
|
1987
1994
|
"@stoplight/better-ajv-errors": "1.0.3",
|
|
1988
1995
|
"@stoplight/json": "~3.21.0",
|
|
1989
1996
|
"@stoplight/path": "1.3.2",
|
|
1990
1997
|
"@stoplight/spectral-parsers": "^1.0.0",
|
|
1991
|
-
"@stoplight/spectral-ref-resolver": "^1.0.
|
|
1992
|
-
"@stoplight/spectral-runtime": "^1.
|
|
1998
|
+
"@stoplight/spectral-ref-resolver": "^1.0.4",
|
|
1999
|
+
"@stoplight/spectral-runtime": "^1.1.2",
|
|
1993
2000
|
"@stoplight/types": "~13.6.0",
|
|
1994
2001
|
"@types/es-aggregate-error": "^1.0.2",
|
|
1995
2002
|
"@types/json-schema": "^7.0.11",
|
|
1996
|
-
"ajv": "^8.
|
|
2003
|
+
"ajv": "^8.17.1",
|
|
1997
2004
|
"ajv-errors": "~3.0.0",
|
|
1998
2005
|
"ajv-formats": "~2.1.0",
|
|
1999
2006
|
"es-aggregate-error": "^1.0.7",
|
|
2000
|
-
"jsonpath-plus": "
|
|
2007
|
+
"jsonpath-plus": "10.2.0",
|
|
2001
2008
|
"lodash": "~4.17.21",
|
|
2002
2009
|
"lodash.topath": "^4.5.2",
|
|
2003
2010
|
"minimatch": "3.1.2",
|
|
2004
|
-
"nimma": "0.2.
|
|
2005
|
-
"pony-cause": "^1.
|
|
2006
|
-
"simple-eval": "1.0.
|
|
2007
|
-
"tslib": "^2.
|
|
2011
|
+
"nimma": "0.2.3",
|
|
2012
|
+
"pony-cause": "^1.1.1",
|
|
2013
|
+
"simple-eval": "1.0.1",
|
|
2014
|
+
"tslib": "^2.8.1"
|
|
2008
2015
|
},
|
|
2009
2016
|
"engines": {
|
|
2010
|
-
"node": "^
|
|
2017
|
+
"node": "^16.20 || ^18.18 || >= 20.17"
|
|
2011
2018
|
}
|
|
2012
2019
|
},
|
|
2013
2020
|
"node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": {
|
|
@@ -2022,18 +2029,10 @@
|
|
|
2022
2029
|
"node": "^12.20 || >=14.13"
|
|
2023
2030
|
}
|
|
2024
2031
|
},
|
|
2025
|
-
"node_modules/@stoplight/spectral-core/node_modules/jsonpath-plus": {
|
|
2026
|
-
"version": "7.1.0",
|
|
2027
|
-
"resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.1.0.tgz",
|
|
2028
|
-
"integrity": "sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==",
|
|
2029
|
-
"engines": {
|
|
2030
|
-
"node": ">=12.0.0"
|
|
2031
|
-
}
|
|
2032
|
-
},
|
|
2033
2032
|
"node_modules/@stoplight/spectral-core/node_modules/tslib": {
|
|
2034
|
-
"version": "2.
|
|
2035
|
-
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.
|
|
2036
|
-
"integrity": "sha512-
|
|
2033
|
+
"version": "2.8.1",
|
|
2034
|
+
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
|
2035
|
+
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
|
|
2037
2036
|
},
|
|
2038
2037
|
"node_modules/@stoplight/spectral-formats": {
|
|
2039
2038
|
"version": "1.6.0",
|
|
@@ -2307,17 +2306,6 @@
|
|
|
2307
2306
|
}
|
|
2308
2307
|
}
|
|
2309
2308
|
},
|
|
2310
|
-
"node_modules/ansi-styles": {
|
|
2311
|
-
"version": "3.2.1",
|
|
2312
|
-
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
|
2313
|
-
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
|
2314
|
-
"dependencies": {
|
|
2315
|
-
"color-convert": "^1.9.0"
|
|
2316
|
-
},
|
|
2317
|
-
"engines": {
|
|
2318
|
-
"node": ">=4"
|
|
2319
|
-
}
|
|
2320
|
-
},
|
|
2321
2309
|
"node_modules/argparse": {
|
|
2322
2310
|
"version": "2.0.1",
|
|
2323
2311
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
|
@@ -2360,9 +2348,9 @@
|
|
|
2360
2348
|
}
|
|
2361
2349
|
},
|
|
2362
2350
|
"node_modules/astring": {
|
|
2363
|
-
"version": "1.
|
|
2364
|
-
"resolved": "https://registry.npmjs.org/astring/-/astring-1.
|
|
2365
|
-
"integrity": "sha512-
|
|
2351
|
+
"version": "1.9.0",
|
|
2352
|
+
"resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz",
|
|
2353
|
+
"integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==",
|
|
2366
2354
|
"bin": {
|
|
2367
2355
|
"astring": "bin/astring"
|
|
2368
2356
|
}
|
|
@@ -2520,32 +2508,6 @@
|
|
|
2520
2508
|
}
|
|
2521
2509
|
]
|
|
2522
2510
|
},
|
|
2523
|
-
"node_modules/chalk": {
|
|
2524
|
-
"version": "2.4.2",
|
|
2525
|
-
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
|
2526
|
-
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
|
2527
|
-
"dependencies": {
|
|
2528
|
-
"ansi-styles": "^3.2.1",
|
|
2529
|
-
"escape-string-regexp": "^1.0.5",
|
|
2530
|
-
"supports-color": "^5.3.0"
|
|
2531
|
-
},
|
|
2532
|
-
"engines": {
|
|
2533
|
-
"node": ">=4"
|
|
2534
|
-
}
|
|
2535
|
-
},
|
|
2536
|
-
"node_modules/color-convert": {
|
|
2537
|
-
"version": "1.9.3",
|
|
2538
|
-
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
|
2539
|
-
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
|
2540
|
-
"dependencies": {
|
|
2541
|
-
"color-name": "1.1.3"
|
|
2542
|
-
}
|
|
2543
|
-
},
|
|
2544
|
-
"node_modules/color-name": {
|
|
2545
|
-
"version": "1.1.3",
|
|
2546
|
-
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
|
2547
|
-
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
|
|
2548
|
-
},
|
|
2549
2511
|
"node_modules/concat-map": {
|
|
2550
2512
|
"version": "0.0.1",
|
|
2551
2513
|
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
|
@@ -2825,14 +2787,6 @@
|
|
|
2825
2787
|
"node": ">=6"
|
|
2826
2788
|
}
|
|
2827
2789
|
},
|
|
2828
|
-
"node_modules/escape-string-regexp": {
|
|
2829
|
-
"version": "1.0.5",
|
|
2830
|
-
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
|
2831
|
-
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
|
|
2832
|
-
"engines": {
|
|
2833
|
-
"node": ">=0.8.0"
|
|
2834
|
-
}
|
|
2835
|
-
},
|
|
2836
2790
|
"node_modules/estree-walker": {
|
|
2837
2791
|
"version": "1.0.1",
|
|
2838
2792
|
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
|
|
@@ -3007,14 +2961,6 @@
|
|
|
3007
2961
|
"url": "https://github.com/sponsors/ljharb"
|
|
3008
2962
|
}
|
|
3009
2963
|
},
|
|
3010
|
-
"node_modules/has-flag": {
|
|
3011
|
-
"version": "3.0.0",
|
|
3012
|
-
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
|
3013
|
-
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
|
|
3014
|
-
"engines": {
|
|
3015
|
-
"node": ">=4"
|
|
3016
|
-
}
|
|
3017
|
-
},
|
|
3018
2964
|
"node_modules/has-property-descriptors": {
|
|
3019
2965
|
"version": "1.0.2",
|
|
3020
2966
|
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
|
|
@@ -3315,9 +3261,9 @@
|
|
|
3315
3261
|
}
|
|
3316
3262
|
},
|
|
3317
3263
|
"node_modules/jsep": {
|
|
3318
|
-
"version": "1.
|
|
3319
|
-
"resolved": "https://registry.npmjs.org/jsep/-/jsep-1.
|
|
3320
|
-
"integrity": "sha512-
|
|
3264
|
+
"version": "1.4.0",
|
|
3265
|
+
"resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz",
|
|
3266
|
+
"integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==",
|
|
3321
3267
|
"engines": {
|
|
3322
3268
|
"node": ">= 10.16.0"
|
|
3323
3269
|
}
|
|
@@ -3355,11 +3301,20 @@
|
|
|
3355
3301
|
"integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w=="
|
|
3356
3302
|
},
|
|
3357
3303
|
"node_modules/jsonpath-plus": {
|
|
3358
|
-
"version": "
|
|
3359
|
-
"resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-
|
|
3360
|
-
"integrity": "sha512-
|
|
3304
|
+
"version": "10.2.0",
|
|
3305
|
+
"resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.2.0.tgz",
|
|
3306
|
+
"integrity": "sha512-T9V+8iNYKFL2n2rF+w02LBOT2JjDnTjioaNFrxRy0Bv1y/hNsqR/EBK7Ojy2ythRHwmz2cRIls+9JitQGZC/sw==",
|
|
3307
|
+
"dependencies": {
|
|
3308
|
+
"@jsep-plugin/assignment": "^1.3.0",
|
|
3309
|
+
"@jsep-plugin/regex": "^1.0.4",
|
|
3310
|
+
"jsep": "^1.4.0"
|
|
3311
|
+
},
|
|
3312
|
+
"bin": {
|
|
3313
|
+
"jsonpath": "bin/jsonpath-cli.js",
|
|
3314
|
+
"jsonpath-plus": "bin/jsonpath-cli.js"
|
|
3315
|
+
},
|
|
3361
3316
|
"engines": {
|
|
3362
|
-
"node": ">=
|
|
3317
|
+
"node": ">=18.0.0"
|
|
3363
3318
|
}
|
|
3364
3319
|
},
|
|
3365
3320
|
"node_modules/jsonpointer": {
|
|
@@ -3429,9 +3384,9 @@
|
|
|
3429
3384
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
|
3430
3385
|
},
|
|
3431
3386
|
"node_modules/nimma": {
|
|
3432
|
-
"version": "0.2.
|
|
3433
|
-
"resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.
|
|
3434
|
-
"integrity": "sha512-
|
|
3387
|
+
"version": "0.2.3",
|
|
3388
|
+
"resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.3.tgz",
|
|
3389
|
+
"integrity": "sha512-1ZOI8J+1PKKGceo/5CT5GfQOG6H8I2BencSK06YarZ2wXwH37BSSUWldqJmMJYA5JfqDqffxDXynt6f11AyKcA==",
|
|
3435
3390
|
"dependencies": {
|
|
3436
3391
|
"@jsep-plugin/regex": "^1.0.1",
|
|
3437
3392
|
"@jsep-plugin/ternary": "^1.0.2",
|
|
@@ -3442,19 +3397,10 @@
|
|
|
3442
3397
|
"node": "^12.20 || >=14.13"
|
|
3443
3398
|
},
|
|
3444
3399
|
"optionalDependencies": {
|
|
3445
|
-
"jsonpath-plus": "^6.0.1",
|
|
3400
|
+
"jsonpath-plus": "^6.0.1 || ^10.1.0",
|
|
3446
3401
|
"lodash.topath": "^4.5.2"
|
|
3447
3402
|
}
|
|
3448
3403
|
},
|
|
3449
|
-
"node_modules/nimma/node_modules/jsonpath-plus": {
|
|
3450
|
-
"version": "6.0.1",
|
|
3451
|
-
"resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz",
|
|
3452
|
-
"integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==",
|
|
3453
|
-
"optional": true,
|
|
3454
|
-
"engines": {
|
|
3455
|
-
"node": ">=10.0.0"
|
|
3456
|
-
}
|
|
3457
|
-
},
|
|
3458
3404
|
"node_modules/node-fetch": {
|
|
3459
3405
|
"version": "2.6.7",
|
|
3460
3406
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
|
@@ -3800,11 +3746,11 @@
|
|
|
3800
3746
|
}
|
|
3801
3747
|
},
|
|
3802
3748
|
"node_modules/simple-eval": {
|
|
3803
|
-
"version": "1.0.
|
|
3804
|
-
"resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.
|
|
3805
|
-
"integrity": "sha512-
|
|
3749
|
+
"version": "1.0.1",
|
|
3750
|
+
"resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.1.tgz",
|
|
3751
|
+
"integrity": "sha512-LH7FpTAkeD+y5xQC4fzS+tFtaNlvt3Ib1zKzvhjv/Y+cioV4zIuw4IZr2yhRLu67CWL7FR9/6KXKnjRoZTvGGQ==",
|
|
3806
3752
|
"dependencies": {
|
|
3807
|
-
"jsep": "^1.
|
|
3753
|
+
"jsep": "^1.3.6"
|
|
3808
3754
|
},
|
|
3809
3755
|
"engines": {
|
|
3810
3756
|
"node": ">=12"
|
|
@@ -3873,17 +3819,6 @@
|
|
|
3873
3819
|
"url": "https://github.com/sponsors/ljharb"
|
|
3874
3820
|
}
|
|
3875
3821
|
},
|
|
3876
|
-
"node_modules/supports-color": {
|
|
3877
|
-
"version": "5.5.0",
|
|
3878
|
-
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
|
3879
|
-
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
|
3880
|
-
"dependencies": {
|
|
3881
|
-
"has-flag": "^3.0.0"
|
|
3882
|
-
},
|
|
3883
|
-
"engines": {
|
|
3884
|
-
"node": ">=4"
|
|
3885
|
-
}
|
|
3886
|
-
},
|
|
3887
3822
|
"node_modules/supports-preserve-symlinks-flag": {
|
|
3888
3823
|
"version": "1.0.0",
|
|
3889
3824
|
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
|
@@ -3895,14 +3830,6 @@
|
|
|
3895
3830
|
"url": "https://github.com/sponsors/ljharb"
|
|
3896
3831
|
}
|
|
3897
3832
|
},
|
|
3898
|
-
"node_modules/to-fast-properties": {
|
|
3899
|
-
"version": "2.0.0",
|
|
3900
|
-
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
|
3901
|
-
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
|
|
3902
|
-
"engines": {
|
|
3903
|
-
"node": ">=4"
|
|
3904
|
-
}
|
|
3905
|
-
},
|
|
3906
3833
|
"node_modules/tr46": {
|
|
3907
3834
|
"version": "0.0.3",
|
|
3908
3835
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
renderer: react
|
|
2
|
+
apiVersion: v3
|
|
3
|
+
hooks:
|
|
4
|
+
"@asyncapi/generator-hooks": createAsyncapiFile
|
|
5
|
+
parameters:
|
|
6
|
+
version:
|
|
7
|
+
description: "Custom version to be used"
|
|
8
|
+
mode:
|
|
9
|
+
description: "development or production"
|
|
10
|
+
asyncapiFileDir:
|
|
11
|
+
description: >
|
|
12
|
+
This template by default also outputs the AsyncAPI document that was passed as input.
|
|
13
|
+
You can specify with this parameter what should be the location of this AsyncAPI document,
|
|
14
|
+
relative to specified template output.
|
|
15
|
+
singleFile:
|
|
16
|
+
description: "Allow to generate conditionalGeneration file only if singleFile is set to false"
|
|
17
|
+
singleFolder:
|
|
18
|
+
description: "Allow to generate conditionalGeneration folder only if singleFolder is set to false"
|
|
19
|
+
conditionalGeneration:
|
|
20
|
+
conditionalFolder:
|
|
21
|
+
parameter: singleFolder
|
|
22
|
+
validation:
|
|
23
|
+
not:
|
|
24
|
+
const: "true"
|
|
25
|
+
conditionalFile.txt:
|
|
26
|
+
parameter: singleFile
|
|
27
|
+
validation:
|
|
28
|
+
not:
|
|
29
|
+
const: "true"
|
|
30
|
+
conditionalFolder2/input.txt:
|
|
31
|
+
parameter: singleFile
|
|
32
|
+
validation:
|
|
33
|
+
enum: ["false"]
|
|
@@ -3,27 +3,12 @@
|
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"description": "Simple react-based template that showcases different generator features that we can test in integration tests",
|
|
5
5
|
"scripts": {
|
|
6
|
-
|
|
7
|
-
},
|
|
8
|
-
"generator": {
|
|
9
|
-
"renderer": "react",
|
|
10
|
-
"apiVersion": "v3",
|
|
11
|
-
"hooks": {
|
|
12
|
-
"@asyncapi/generator-hooks": "createAsyncapiFile"
|
|
13
|
-
},
|
|
14
|
-
"parameters": {
|
|
15
|
-
"version": {
|
|
16
|
-
"description": "Custom version to be used"
|
|
17
|
-
},
|
|
18
|
-
"mode": {
|
|
19
|
-
"description": "development or production"
|
|
20
|
-
},
|
|
21
|
-
"asyncapiFileDir": {
|
|
22
|
-
"description": "This template by default also outputs the AsyncAPI document that was passed as input. You can specify with this parameter what should be the location of this AsyncAPI document, relative to specified template output."
|
|
23
|
-
}
|
|
24
|
-
}
|
|
6
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
25
7
|
},
|
|
26
8
|
"dependencies": {
|
|
27
|
-
"@asyncapi/generator-react-sdk": "^1.1.2"
|
|
9
|
+
"@asyncapi/generator-react-sdk": "^1.1.2",
|
|
10
|
+
"@asyncapi/generator-components": "1.0.0"
|
|
28
11
|
}
|
|
29
12
|
}
|
|
13
|
+
|
|
14
|
+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//TODO: at the moment this template as devDependency set to "@asyncapi/generator-components": "*" in generator root but this is temporary to not complicate one PR too much. We still need to explore concept of having just one dependency in the template pointing to @asyncapi/generator and noting else, and components, react sdks and others should be just part of @asyncapi/generator dependency
|
|
2
|
+
import { Models } from '@asyncapi/generator-components';
|
|
3
|
+
|
|
4
|
+
export default async function({ asyncapi }) {
|
|
5
|
+
return await Models({asyncapi, language: 'csharp'});
|
|
6
|
+
}
|
package/test/utils.test.js
CHANGED
|
@@ -73,4 +73,57 @@ describe('Utils', () => {
|
|
|
73
73
|
expect(exists).toBeFalsy();
|
|
74
74
|
});
|
|
75
75
|
});
|
|
76
|
+
|
|
77
|
+
describe('#isJsFile',() => {
|
|
78
|
+
it('should return true if file extension is .js', () => {
|
|
79
|
+
const isJsFile = utils.isJsFile('./valid-file.js');
|
|
80
|
+
expect(isJsFile).toBeTruthy();
|
|
81
|
+
});
|
|
82
|
+
it('should return true if file extension is .jsx', () => {
|
|
83
|
+
const isJsFile = utils.isJsFile('./valid-file.jsx');
|
|
84
|
+
expect(isJsFile).toBeTruthy();
|
|
85
|
+
});
|
|
86
|
+
it('should return true if file extension is .cjs', () => {
|
|
87
|
+
const isJsFile = utils.isJsFile('./valid-file.cjs');
|
|
88
|
+
expect(isJsFile).toBeTruthy();
|
|
89
|
+
});
|
|
90
|
+
it('should return false if it is not a JS file', () => {
|
|
91
|
+
const isJsFile = utils.isJsFile('./invalid-file.txt');
|
|
92
|
+
expect(isJsFile).toBeFalsy();
|
|
93
|
+
});
|
|
94
|
+
it('should return false if it is not a JS file', () => {
|
|
95
|
+
const isJsFile = utils.isJsFile('./invalid-file');
|
|
96
|
+
expect(isJsFile).toBeFalsy();
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
describe('#isReactTemplate', () => {
|
|
101
|
+
it('should return true if it is a react template', () => {
|
|
102
|
+
const templateConfig = {
|
|
103
|
+
renderer: 'react'
|
|
104
|
+
};
|
|
105
|
+
const isReactTemplate = utils.isReactTemplate(templateConfig);
|
|
106
|
+
expect(isReactTemplate).toBeTruthy();
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it('should return false if it is not a react template', () => {
|
|
110
|
+
const templateConfig = {
|
|
111
|
+
renderer: 'nunjucks'
|
|
112
|
+
};
|
|
113
|
+
const isReactTemplate = utils.isReactTemplate(templateConfig);
|
|
114
|
+
expect(isReactTemplate).toBeFalsy();
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
it('should return false if template config is not specified', () => {
|
|
118
|
+
const templateConfig = {};
|
|
119
|
+
const isReactTemplate = utils.isReactTemplate(templateConfig);
|
|
120
|
+
expect(isReactTemplate).toBeFalsy();
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it('should return false if template config is undefined', () => {
|
|
124
|
+
const templateConfig = undefined;
|
|
125
|
+
const isReactTemplate = utils.isReactTemplate(templateConfig);
|
|
126
|
+
expect(isReactTemplate).toBeFalsy();
|
|
127
|
+
});
|
|
128
|
+
});
|
|
76
129
|
});
|