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

fix(deploy): ensure import map or config file is included in the manifest #326

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

magurotuna
Copy link
Member

@magurotuna magurotuna commented Aug 11, 2024

This commit adds a check before uploading assets if an import map specified in --import-map option or a config file (e.g. deno.json) is included in the manifest. This will help users understand why import maps don't get applied during deployment.

case 1: import map not included

If the specified import map is not included in the manifest due to --include and/or --exclude settings, this is a config conflict and most likely a wrong setup. So in this case, deployctl will error out with a specific error message:

import_map.json not included in the manifest

case 2: deno.json not included

In this case, we can't necessarily say that this is a wrong setup, because deployctl usually infers the config file location and the config file may not have imports property. So instead of immediately erroring out, it shows a warning message that tells users that any import map settings in the config file won't be used:

deno.json not included in the manifest

Closes #324

@magurotuna magurotuna marked this pull request as ready for review August 11, 2024 12:05
@magurotuna magurotuna requested a review from a team August 11, 2024 12:05
return containsEntryInManifest(entry.entries, relativePath);
}
default:
unreachable();
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note to self: replace this with assertNever once this is released
denoland/std#5690

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.

The deployment failed: Relative import path, but import path was specified in deno.json imports section
1 participant