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

Separate dts generator for ace-code and ace-builds #5427

Open
wants to merge 26 commits into
base: master
Choose a base branch
from

Conversation

mkslanc
Copy link
Contributor

@mkslanc mkslanc commented Dec 15, 2023

Issue #, if available: #4640

Description of changes:
This pull request introduces changes that enable the generation of a comprehensive TypeScript declaration file, designed to be utilized as a public API. These modifications ensure that the generated declaration file accurately reflects the structure of both ace-builds and ace-code packages, providing a seamless integration for developers.

Key Features:

  • Unified Declaration: Consolidates type definitions across ace-builds and ace-code, facilitating easier maintenance and usage.
  • Project Structure Compliance: Adheres to the respective project structures, ensuring that the generated file is both accurate and functional.
  • All internal statements (started with $ or marked as private or @internal in jsDoc comment) would be filtered from final declaration

Disclaimer: For ace-builds, all internal module paths are modified to follow the ace-builds-internal/module structure, which could be used as completion items in IDE's.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Copy link

github-actions bot commented Apr 8, 2024

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

github-actions bot commented Apr 8, 2024

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

1 similar comment
Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

@akoreman
Copy link
Contributor

akoreman commented Jun 8, 2024

Cool stuff!

It seems that by automatically generating the declaration files, we're potentially adding stuff to our public contract (the *.d.ts files) that were previously unexposed to users. Did we go through the new declaration files and check that everything newly exposed is properly marked as private?

@mkslanc
Copy link
Contributor Author

mkslanc commented Jun 10, 2024

Cool stuff!

It seems that by automatically generating the declaration files, we're potentially adding stuff to our public contract (the *.d.ts files) that were previously unexposed to users. Did we go through the new declaration files and check that everything newly exposed is properly marked as private?

I am removing all nodes marked as @private (/**@private*/) and all identifiers starting with $ (as this format is used to mark private methods/properties). Therefore, if something needs to be removed, we can easily add the @private modifier in the documentation comment.

@mkslanc
Copy link
Contributor Author

mkslanc commented Jun 10, 2024

I have generated a list of newly exposed entities, which you can find here. This should help in deciding which ones to make private.

Disclaimer: This comparison only includes entities within the Ace namespace. If whole class was missing in old ace.d.ts it would have only top-level identifier.

@InspiredGuy
Copy link
Contributor

@mkslanc there were some additions to the declaration files in the PRs merged lately, could you please rebase/merge and resolve conflicts?

# Conflicts:
#	ace-internal.d.ts
#	ace.d.ts
Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

@mkslanc
Copy link
Contributor Author

mkslanc commented Jun 18, 2024

@mkslanc there were some additions to the declaration files in the PRs merged lately, could you please rebase/merge and resolve conflicts?

Done! + I improved filtering mechanism, now any node (function/property) marked with /** @internal */ would be removed from public API

Copy link

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Copy link

github-actions bot commented Sep 9, 2024

One of the public type files has been updated, plase make sure there are no backwards incompatible changes done in the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants