This repository was archived by the owner on May 22, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 35
feat!: refactor enums and export types #1392
Merged
+220
−197
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
⏱ Benchmark resultsComparing with 4a8f058 largeDepsEsbuild: 2.1s⬆️ 2.61% increase vs. 4a8f058
largeDepsNft: 8.1s⬆️ 6.32% increase vs. 4a8f058
largeDepsZisi: 15.5s⬆️ 0.44% increase vs. 4a8f058
|
3 tasks
@danez thanks! |
`ZipFunctionOptions`, `ZipFunctionsOption`, `Config`, and `FunctionConfig` are now exported BREAKING CHANGE: The exported typescript types for `NodeBundlerType`, `RuntimeType`, and `ModuleFormat` are not enums anymore but unions of strings. Use the newly exported `NODE_BUNDLER`, `RUNTIME`, and `MODULE_FORMAT` for constants. Also the types `NodeBundlerType` and `RuntimeType` were renamed to `NodeBundlerName` and `RuntimeName` respectively.
lukasholzer
reviewed
Apr 20, 2023
export { Archiver as ZipArchive } from 'archiver' | ||
|
||
// TODO make enum | ||
export type ArchiveFormat = 'none' | 'zip' | ||
export const ARCHIVE_FORMAT = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you could use an const enum ARCHIVE_FORMAT
as well then the type would be easier to construct ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But then we cannot export the type for external use. const enum
does not exist at runtime.
lukasholzer
approved these changes
Apr 20, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Skn0tt
pushed a commit
to netlify/build
that referenced
this pull request
May 21, 2024
`ZipFunctionOptions`, `ZipFunctionsOption`, `Config`, and `FunctionConfig` are now exported BREAKING CHANGE: The exported typescript types for `NodeBundlerType`, `RuntimeType`, and `ModuleFormat` are not enums anymore but unions of strings. Use the newly exported `NODE_BUNDLER`, `RUNTIME`, and `MODULE_FORMAT` for constants. Also the types `NodeBundlerType` and `RuntimeType` were renamed to `NodeBundlerName` and `RuntimeName` respectively.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ZipFunctionOptions
,ZipFunctionsOption
,Config
, andFunctionConfig
are now exported because they are needed in build.Inspired by this Video https://www.youtube.com/watch?v=jjMbPt_H3RQ and by the reported issue in #1382 this is an attempt to fix the issue by removing enums altogether and instead use const objects.
This allows strings to be supplied in the config while also keeping the grouped constants for the different usecases.
BREAKING CHANGE: The exported typescript types for
NodeBundlerType
,RuntimeType
, andModuleFormat
are not enums anymore but unions of strings. Use the newly exportedNODE_BUNDLER
,RUNTIME
, andMODULE_FORMAT
for constants. Also the typesNodeBundlerType
andRuntimeType
were renamed toNodeBundlerName
andRuntimeName
respectively.
Fixes #1381
For us to review and ship your PR efficiently, please perform the following steps:
This ensures we can discuss the changes and get feedback from everyone that should be involved. If you`re fixing
a typo or something that`s on fire 🔥 (e.g. incident related), you can skip this step.
passes our tests.
A picture of a cute animal (not mandatory, but encouraged)