module.mjs 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. import { defineNuxtModule, createResolver, useLogger, hasNuxtModule, addImports, addPlugin } from '@nuxt/kit';
  2. import { defu } from 'defu';
  3. const module = defineNuxtModule({
  4. meta: {
  5. name: "pinia-plugin-persistedstate",
  6. configKey: "piniaPluginPersistedstate",
  7. compatibility: {
  8. nuxt: ">=3.0.0"
  9. }
  10. },
  11. defaults: {},
  12. setup(options, nuxt) {
  13. const resolver = createResolver(import.meta.url);
  14. const logger = useLogger();
  15. if (!hasNuxtModule("pinia", nuxt)) {
  16. logger.warn("The `@pinia/nuxt` module was not found, `pinia-plugin-persistedstate/nuxt` will not work.");
  17. return;
  18. }
  19. nuxt.options.build.transpile.push(resolver.resolve("./runtime"));
  20. nuxt.options.runtimeConfig.public.piniaPluginPersistedstate = defu(nuxt.options.runtimeConfig.public.piniaPluginPersistedstate, options);
  21. addImports({
  22. name: "storages",
  23. from: resolver.resolve("./runtime/storages"),
  24. as: "piniaPluginPersistedstate"
  25. });
  26. addPlugin(resolver.resolve("./runtime/plugin"));
  27. }
  28. });
  29. export { module as default };