Skip to content

Comments

feat: support object style hooks#9634

Merged
patak-dev merged 21 commits intomainfrom
feat/plugin-object-hooks
Aug 22, 2022
Merged

feat: support object style hooks#9634
patak-dev merged 21 commits intomainfrom
feat/plugin-object-hooks

Conversation

@antfu
Copy link
Member

@antfu antfu commented Aug 11, 2022

Description

Vite support for rollup/rollup#4600

Additional context

This PR should await rollup/rollup#4600 to get shipped and probably should release as a minor version bump.

Progress

  • Dev plugin container support for object hooks
  • Plugin format validation in dev? (e.g. missing handler or not function etc.). We don't have it previously.
  • Object hooks for Vite extended hooks (configureServer, configResolved, etc).
  • Align interface of transformIndexHtml - feat: align object interface for transformIndexHtml hook #9669

What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

@patak-dev patak-dev added the p3-significant High priority enhancement (priority) label Aug 11, 2022
@antfu antfu marked this pull request as ready for review August 14, 2022 15:02
@antfu
Copy link
Member Author

antfu commented Aug 14, 2022

This one it ready

} as Plugin['transform']
} else {
return handler
}
Copy link
Member

Choose a reason for hiding this comment

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

Maybe it is worth extracting a helper for these three functions to avoid repeating the function or object handling?

}
}
await Promise.all(parallelPromises)
}
Copy link
Member

Choose a reason for hiding this comment

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

Neat. Not for this PR, but a helper like this one for hookSequential could be good too.

@patak-dev
Copy link
Member

Looks great! I think we should merge this in 3.1 as you suggest. We shouldn't restrict the rollup version in a patch. It will also help plugin authors with their required ranges.
We have a few PRs from @bluwy in the pipeline, maybe we could start a beta for 3.1 soon? It has been one month since the 3.0 release, and things look stable enough.

@patak-dev patak-dev added this to the 3.1 milestone Aug 14, 2022
zzmrl added a commit to boatproject/editor that referenced this pull request Aug 17, 2022
based on recent [recent changes](rollup/rollup#4600) and upcoming [PR](vitejs/vite#9634)
@patak-dev patak-dev merged commit 757a92f into main Aug 22, 2022
@patak-dev patak-dev deleted the feat/plugin-object-hooks branch August 22, 2022 09:51
await Promise.all([
...resolved
.getSortedPluginHooks('configResolved')
.map((hook) => hook(resolved)),
Copy link
Member

@csr632 csr632 Sep 7, 2022

Choose a reason for hiding this comment

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

this inside the hook no loger points to the plugin object:
#10031

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

p3-significant High priority enhancement (priority)

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants