Skip to content

Conversation

@mttrbrts
Copy link
Member

@mttrbrts mttrbrts commented Nov 19, 2023

A working branch for all breaking changes that are queued up for the v4.0 release as per the Roadmap.

Changes

Flags

  • The PR contains multiple breaking changes.
  • See the PR notes for individual changes for details
  • This PR should NOT be squashed.

To do

  • Fix Windows build
  • Fix publish of linter (v1.0.0)
  • Cut a v3 branch for future fixes
  • Documentation update
  • Update GH rules for blocking checks (Node v20 -> Node v22/24)

Author Checklist

  • Ensure you provide a DCO sign-off for your commits using the --signoff option of git commit.
  • Vital features and changes captured in unit and/or integration tests
  • Commits messages follow AP format
  • Extend the documentation, if necessary
  • Merging to main from fork:branchname

* v4.0.0-alpha.0

* feat!(*): strict by default

Signed-off-by: Matt Roberts <[email protected]>

* test(*): version everything

Signed-off-by: Matt Roberts <[email protected]>

* test(*): fix more tests

Signed-off-by: Matt Roberts <[email protected]>

* refactor(core): modelfile logic for isImportedType

Signed-off-by: Matt Roberts <[email protected]>

---------

Signed-off-by: Matt Roberts <[email protected]>
@mttrbrts mttrbrts added this to the v4.0 milestone Nov 19, 2023
* chore!(core): migrate to TS project

Signed-off-by: Matt Roberts <[email protected]>

* chore!(*): migrate vocab, util and cto packages to TS projects

Signed-off-by: Matt Roberts <[email protected]>

* fix(deps): npm-run-all

Signed-off-by: Matt Roberts <[email protected]>

* fix(*): code coverage

Signed-off-by: Matt Roberts <[email protected]>

* chore(*): migrate to npm workspaces

Signed-off-by: Matt Roberts <[email protected]>

---------

Signed-off-by: Matt Roberts <[email protected]>

fix(*): fix buggy merge conflicts

Signed-off-by: Matt Roberts <[email protected]>

fix(build): topological sort of packages

Signed-off-by: Matt Roberts <[email protected]>

fix(build): topological sort of package names 2

Signed-off-by: Matt Roberts <[email protected]>
* fix(core): detect ambiguous imports / declarations

Signed-off-by: Matt Roberts <[email protected]>

* fix(lint): assetdeclaration

Signed-off-by: Matt Roberts <[email protected]>

---------

Signed-off-by: Matt Roberts <[email protected]>
@mttrbrts mttrbrts mentioned this pull request Mar 6, 2024
mttrbrts and others added 23 commits October 8, 2025 19:54
* fix(build): include unions in index

Signed-off-by: Matt Roberts <[email protected]>

* chore(deps): upgrade codegen to latest release

Signed-off-by: Matt Roberts <[email protected]>

---------

Signed-off-by: Matt Roberts <[email protected]>

* fix(class): throw error when class is extending itself (#767)

* fix(parser): throw error when concept is extending itself in CTO

Signed-off-by: Stefan Blaginov <[email protected]>
Signed-off-by: Stefan Blaginov <[email protected]>

* fix(parser): throw error when concept is extending itself in JSON metamodel form

Signed-off-by: Stefan Blaginov <[email protected]>
Signed-off-by: Stefan Blaginov <[email protected]>

* fix(parser): throw error when concept is extending itself in the AST

Signed-off-by: Stefan Blaginov <[email protected]>
Signed-off-by: Stefan Blaginov <[email protected]>

* refactor(validation): alphabetical rearrangement

Signed-off-by: Stefan Blaginov <[email protected]>
Signed-off-by: Stefan Blaginov <[email protected]>

* test(self-extending): remove redundant tests (codepath covered in concerto-cto)

Signed-off-by: Stefan Blaginov <[email protected]>
Signed-off-by: Stefan Blaginov <[email protected]>

* test(fix): remove unneeded import

Signed-off-by: Stefan Blaginov <[email protected]>
Signed-off-by: Stefan Blaginov <[email protected]>

---------

Signed-off-by: Stefan Blaginov <[email protected]>
Signed-off-by: Stefan Blaginov <[email protected]>
Co-authored-by: Stefan Blaginov <[email protected]>

* fix(class-declaration): throw with undefined ast properties (#771)

Signed-off-by: Ertugrul Karademir <[email protected]>

* fix(error): adding type to error in string validator in introspect (#773)

* fix(error): adding type to error in string validator in introspect

Signed-off-by: Santanu Roy <[email protected]>
Co-authored-by: Santanu Roy <[email protected]>

* refactor(declarations): move declaration uniqueness check to model file (#794)

* refactor(declarations): Move unique name check to model file.

Signed-off-by: Ertugrul Karademir <[email protected]>

* refactor(test): move validation checks for duplicate class to model file

Signed-off-by: Ertugrul Karademir <[email protected]>

* test: empty commit to trigger test

Signed-off-by: Ertugrul Karademir <[email protected]>

---------

Signed-off-by: Ertugrul Karademir <[email protected]>

* perf(core): don't use arrays to check uniqueness (#802)

refactor: don't use arrays to check uniqueness

Signed-off-by: Ertugrul Karademir <[email protected]>

* perf(core): remove usage of arrays while forming duplicate item errors (#804)

* refactor: don't use arrays to check uniqueness

Signed-off-by: Ertugrul Karademir <[email protected]>

* refactor: also refactor unique property name check

Signed-off-by: Ertugrul Karademir <[email protected]>

* refactor: remove array for decorator uniqueness check

Signed-off-by: Ertugrul Karademir <[email protected]>

* refactor: remove uniqueness check from scalar declarations as well

Signed-off-by: Ertugrul Karademir <[email protected]>

---------

Signed-off-by: Ertugrul Karademir <[email protected]>

---------

Signed-off-by: Matt Roberts <[email protected]>
Signed-off-by: Stefan Blaginov <[email protected]>
Signed-off-by: Stefan Blaginov <[email protected]>
Signed-off-by: Ertugrul Karademir <[email protected]>
Signed-off-by: Santanu Roy <[email protected]>
Co-authored-by: Stefan Blaginov <[email protected]>
Co-authored-by: Stefan Blaginov <[email protected]>
Co-authored-by: Ertugrul Karademir <[email protected]>
Co-authored-by: Santanu Roy <[email protected]>
Co-authored-by: Santanu Roy <[email protected]>
fix(cto): allow imports with semver build and prerelease parts

Signed-off-by: Matt Roberts <[email protected]>
… true (#998)

* made strictQualifiedDateTimes default to true

Signed-off-by: fuyalasmit <[email protected]>

* changed respective test file

Signed-off-by: fuyalasmit <[email protected]>

---------

Signed-off-by: fuyalasmit <[email protected]>
* feat(concerto-cto): Migrate package to TypeScript

Signed-off-by: Fenil Jikadara <[email protected]>

* fix(concerto-cto): use interfaces from concerto-types package

Signed-off-by: Fenil Jikadara <[email protected]>

* chore: add @types/node to all packages for TypeScript compatibility

Signed-off-by: Fenil Jikadara <[email protected]>

* refactor(cto): migrate JavaScript files to TypeScript and fix type issues

Signed-off-by: Fenil Jikadara <[email protected]>

* refactor(typescript): improve typings and remove redundant declaration files

Signed-off-by: Fenil Jikadara <[email protected]>

* fix(build): Resolve TypeScript compilation errors and improve test coverage

Signed-off-by: Fenil Jikadara <[email protected]>

* fix(ci): resolve npm EUSAGE error and ensure dependency consistency

Signed-off-by: Fenil Jikadara <[email protected]>

* test(cto): improve branch coverage

Signed-off-by: Matt Roberts <[email protected]>

---------

Signed-off-by: Fenil Jikadara <[email protected]>
Signed-off-by: Matt Roberts <[email protected]>
Co-authored-by: Matt Roberts <[email protected]>
Signed-off-by: Sanket Shevkar <[email protected]>
Co-authored-by: Sanket Shevkar <[email protected]>
* perf(core): avoid unnecessary re-serialisation

Signed-off-by: Matt Roberts <[email protected]>

* perf(core): avoid unnecessary re-serialisation

Signed-off-by: Matt Roberts <[email protected]>

---------

Signed-off-by: Matt Roberts <[email protected]>
fix(core): private accept methods in introspect classes - I839

Signed-off-by: Apoorv Saxena <[email protected]>
* fix(core): missing serializer option in typedef

Signed-off-by: Matt Roberts <[email protected]>

* chore(core): update api.txt

Signed-off-by: Matt Roberts <[email protected]>

---------

Signed-off-by: Matt Roberts <[email protected]>
#837)

* Fixed no such file error

Signed-off-by: Subhajit Ghosh <[email protected]>

* Join the  directory and path of the file using path.join

Signed-off-by: Subhajit Ghosh <[email protected]>

* Added comma seperated list arguement into path.join function

Signed-off-by: Subhajit Ghosh <[email protected]>

* Update packages/concerto-core/test/decoratormanager.js

---------

Signed-off-by: Subhajit Ghosh <[email protected]>
Co-authored-by: Matt Roberts <[email protected]>
* fix(core): falsy default values

Signed-off-by: Matt Roberts <[email protected]>

* fix(analysis): add compare for implict optional via falsy default

Signed-off-by: Matt Roberts <[email protected]>

* refactor(core): more isNull util to concerto-util package

Signed-off-by: Matt Roberts <[email protected]>

---------

Signed-off-by: Matt Roberts <[email protected]>
Signed-off-by: Matt Roberts <[email protected]>
* feat: Alias Import rules added

* Rules for AliasedIdentifier and Types added.
* aliasedTypes filtered in callback of ImportTypes

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat: Grammar rules updated

- as token defined for aliasing types in the import statements
- as is defined local reserved word
- AST made backward compatible

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat: Printer updated

- Printer now handles the aliased types.
- Test case added for parser and printer.

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import): Printer and parser test cases

- Test case added containing alias import

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import): test cases for updated grammar

- test cases added for both parser and printer
- bad test cases added as well for the parser

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import): PR changes

- renamed the Types rule to IdentifierTypeExpression
- Indentation fixed
- Extra white spaces removed

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias): Minor fixes

- Code changes made on suggestion.

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias): disabled aliasing to primitive types

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias): handle pr comments

- Test cases added
- pr comments handled

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias): variables renamed and code cleaned

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import): printer code refactored

- printer code refactored
- coverage 100% tested locally

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import): Updated concerto-metamodel version

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import): Pr suggestion : code refactor

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias):package-lock.json fixed

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias): fixing pr

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

---------

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>
* fix(core): new pathway to apply namespace targeted decorators

Signed-off-by: sanketshevkar <[email protected]>

* fix(core): apply suggested changes

Signed-off-by: sanketshevkar <[email protected]>

* fix(util): browser polyfill for process.emitWarning

Signed-off-by: sanketshevkar <[email protected]>

---------

Signed-off-by: sanketshevkar <[email protected]>
* feat(dcs): optimize decorate models

Signed-off-by: Sanket Shevkar <[email protected]>

* refactor(core): optimized decorateModels added

Signed-off-by: sanketshevkar <[email protected]>

* chore(core): code refactor and cleanup

Signed-off-by: sanketshevkar <[email protected]>

* chore(core): code refactor and cleanup

Signed-off-by: sanketshevkar <[email protected]>

* chore(core): new test added for validation of new and old methods used to decorate models

Signed-off-by: sanketshevkar <[email protected]>

* chore(core): code refactor

Signed-off-by: sanketshevkar <[email protected]>

* chore(core): resolve review comments and suggestions

Signed-off-by: sanketshevkar <[email protected]>

* chore(*): resolve PR suggestions and comments

Signed-off-by: sanketshevkar <[email protected]>

* chore(*): resolve PR suggestions and comments

Signed-off-by: sanketshevkar <[email protected]>

---------

Signed-off-by: Sanket Shevkar <[email protected]>
Signed-off-by: sanketshevkar <[email protected]>
…rators from model (#888)

* feat(extractor): added new methods to extract vocab or non-vocab decorators from model and fixed some bugs

Signed-off-by: Dibyam Agrawal <[email protected]>

* refactor: added description for action

Signed-off-by: Dibyam Agrawal <[email protected]>

* fix: static variable related issues

Signed-off-by: Dibyam Agrawal <[email protected]>

* fix: remove decorator issue

Signed-off-by: Dibyam Agrawal <[email protected]>

* fix: corrected the version number

Signed-off-by: Dibyam Agrawal <[email protected]>

* fix: updated method from public to private

Signed-off-by: Dibyam Agrawal <[email protected]>

* fix: updated param name

Signed-off-by: Dibyam Agrawal <[email protected]>

* fix: made action an optional param

Signed-off-by: Dibyam Agrawal <[email protected]>

* fix: map decorator issue and updated validateLocale method

Signed-off-by: Dibyam Agrawal <[email protected]>

* fix: added a null check on model decorator

Signed-off-by: Dibyam Agrawal <[email protected]>

* refactor: code refactor and updated tests

Signed-off-by: Dibyam Agrawal <[email protected]>

* refactor: test case changes

Signed-off-by: Dibyam Agrawal <[email protected]>

* fix: used startwith instead of regex

Signed-off-by: Dibyam Agrawal <[email protected]>

* refactor: minor code refactor

Signed-off-by: Dibyam Agrawal <[email protected]>

* refactor: added comment to code for more clearity

Signed-off-by: Dibyam Agrawal <[email protected]>

* refactor: updated filterdecorators function

Signed-off-by: Dibyam Agrawal <[email protected]>

---------

Signed-off-by: Dibyam Agrawal <[email protected]>
* feat(i889): added the api

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(i889): added unit test-cases

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(i889): api.txt and changelog updated

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(i889): converage updated

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import): function renamed

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(api):changelog updated

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

---------

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>
Co-authored-by: Jaskeerat Singh Saluja <[email protected]>
* feat(alias-import): added test case for introspector

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import):Pr fix

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import):Pr fixes

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias import): Pr changes

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(import alias): Field renamed

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias-import): additional check to verify alias import

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias-import): Types updated

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias-import): reverting change-log file

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

---------

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>
Co-authored-by: Jaskeerat Singh Saluja <[email protected]>
* feat(import-alias):patch change for aliased imported types

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias-import): Test cases added

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(import-alias):Test cases fixed

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(import-alias): Changelog updated

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias-import): ENV IMPORT_ALIASING added

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias-import): PR suggestions

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

* feat(alias-import): Pr suggestions

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>

---------

Signed-off-by: Jaskeerat Singh Saluja <[email protected]>
Co-authored-by: Jaskeerat Singh Saluja <[email protected]>
@mttrbrts mttrbrts marked this pull request as ready for review October 15, 2025 21:08
@mttrbrts mttrbrts closed this Oct 15, 2025
@github-project-automation github-project-automation bot moved this from In Progress to Done in Concerto Roadmap Oct 15, 2025
@mttrbrts mttrbrts reopened this Oct 15, 2025
@mttrbrts mttrbrts self-assigned this Oct 15, 2025
@mttrbrts mttrbrts moved this from Done to In Progress in Concerto Roadmap Oct 20, 2025
@mttrbrts mttrbrts requested a review from dselman October 22, 2025 12:09
rockaxorb13 and others added 3 commits January 7, 2026 11:18
Fix 15 typos in comments, JSDoc, and error messages:

concerto-core/src:
- modelfile.js: Wilcard -> Wildcard (error message)
- relationship.js: Contructs -> Constructs, compatability -> compatibility (2x)
- typed.js: hierachy -> hierarchy, Overriden -> Overridden
- serializer.js: resouce -> resource
- instancegenerator.js: Primitve -> Primitive
- jsonpopulator.js: primitve -> primitive
- resourcevalidator.js: Resouce -> Resource, $identifer -> $identifier (2x), resouce -> resource (2x)

concerto-util/src:
- warning.js: pollyfilled -> polyfilled

Closes #1110

Signed-off-by: Shubh-Raj <[email protected]>
- Upgrade actions/setup-node from v1 to v4
- Upgrade peter-evans/create-pull-request from v3 to v7

The v3 version of create-pull-request no longer works with current
GitHub Actions token permissions, causing the 'Create PR to increment
version' step to fail when pushing branches.

Closes #1112

Signed-off-by: Shubh-Raj <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.