版博士V2.0程序
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

66 satır
1.9 KiB

  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. const fs = require('fs');
  4. const unplugin$1 = require('unplugin');
  5. const pluginutils = require('@rollup/pluginutils');
  6. const MagicString = require('magic-string');
  7. const context = require('./shared/unimport.5b263b90.cjs');
  8. require('mlly');
  9. require('./shared/unimport.49548f9c.cjs');
  10. require('pathe');
  11. require('strip-literal');
  12. require('local-pkg');
  13. require('os');
  14. require('pkg-types');
  15. require('fs/promises');
  16. require('fast-glob');
  17. require('scule');
  18. function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
  19. const MagicString__default = /*#__PURE__*/_interopDefaultCompat(MagicString);
  20. const defaultIncludes = [/\.[jt]sx?$/, /\.vue$/, /\.vue\?vue/, /\.svelte$/];
  21. const defaultExcludes = [/[\\/]node_modules[\\/]/, /[\\/]\.git[\\/]/];
  22. function toArray(x) {
  23. return x == null ? [] : Array.isArray(x) ? x : [x];
  24. }
  25. const unplugin = unplugin$1.createUnplugin((options = {}) => {
  26. const ctx = context.createUnimport(options);
  27. const filter = pluginutils.createFilter(
  28. toArray(options.include || []).length ? options.include : defaultIncludes,
  29. options.exclude || defaultExcludes
  30. );
  31. const dts = options.dts === true ? "unimport.d.ts" : options.dts;
  32. return {
  33. name: "unimport",
  34. enforce: "post",
  35. transformInclude(id) {
  36. return filter(id);
  37. },
  38. async transform(code, id) {
  39. const s = new MagicString__default(code);
  40. await ctx.injectImports(s, id);
  41. if (!s.hasChanged()) {
  42. return;
  43. }
  44. return {
  45. code: s.toString(),
  46. map: s.generateMap()
  47. };
  48. },
  49. async buildStart() {
  50. await ctx.init();
  51. if (dts) {
  52. return fs.promises.writeFile(dts, await ctx.generateTypeDeclarations(), "utf-8");
  53. }
  54. }
  55. };
  56. });
  57. exports.default = unplugin;
  58. exports.defaultExcludes = defaultExcludes;
  59. exports.defaultIncludes = defaultIncludes;