{"version":3,"sources":["jsdelivr-header.js","/npm/vite-plugin-beautify@1.0.0/src/plugin.ts","/npm/vite-plugin-beautify@1.0.0/src/plugin.constants.ts","/npm/vite-plugin-beautify@1.0.0/src/index.ts"],"names":[],"mappings":"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","file":"/npm/vite-plugin-beautify@1.0.0/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/vite-plugin-beautify@1.0.0/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import fs from 'fs';\nimport path from 'path';\n\nimport glob from 'glob';\nimport beautify from 'js-beautify';\nimport type { Plugin } from 'vite';\n\nimport { DEFAULT_CONFIG } from './plugin.constants';\nimport { ConfigInput, PluginConfig, PluginFileConfig, PluginSupportedFileType } from './plugin.types';\n\n/**\n * @internal\n */\nfunction executeBeautify<T extends PluginSupportedFileType>(\n  type: T,\n  inDir: string,\n  config: PluginFileConfig<T>,\n) {\n  const files = glob.sync(path.resolve(process.cwd(), inDir, config.glob));\n  files.forEach((file) => {\n    try {\n      const content = fs.readFileSync(file, 'utf8');\n      const beautified = beautify[type](content, config.options);\n      fs.writeFileSync(file, beautified, 'utf8');\n    } catch (error) {\n      console.log('\\x1b[31m%s\\x1b[0m', `      - Failed to beautify \"${file}\"`);\n    }\n  });\n  return files;\n}\n\n/**\n * @internal\n */\nexport function resolveConfig(input: ConfigInput = {}): PluginConfig {\n  const inputConfig = typeof input === 'function' ? input(DEFAULT_CONFIG) : input;\n\n  return {\n    inDir: inputConfig.inDir || DEFAULT_CONFIG.inDir,\n    html: {\n      enabled: inputConfig.html?.enabled ?? DEFAULT_CONFIG.html.enabled,\n      glob: inputConfig.html?.glob ?? DEFAULT_CONFIG.html.glob,\n      options: inputConfig.html?.options ?? DEFAULT_CONFIG.html.options,\n    },\n    js: {\n      enabled: inputConfig.js?.enabled ?? DEFAULT_CONFIG.js.enabled,\n      glob: inputConfig.js?.glob ?? DEFAULT_CONFIG.js.glob,\n      options: inputConfig.js?.options ?? DEFAULT_CONFIG.js.options,\n    },\n    css: {\n      enabled: inputConfig.css?.enabled ?? DEFAULT_CONFIG.css.enabled,\n      glob: inputConfig.css?.glob ?? DEFAULT_CONFIG.css.glob,\n      options: inputConfig.css?.options ?? DEFAULT_CONFIG.css.options,\n    },\n  };\n}\n\n/**\n * Beautify `JS`, `CSS`, `HTML` files in build output using {@link https://github.com/beautify-web/js-beautify js-beautify}\n * @public\n *\n * @param config - the {@link ConfigInput} to configure the plugin\n * @returns vite {@link Plugin}\n */\nexport const vitePluginBeautify: (config?: ConfigInput) => Plugin = (config = {}) => {\n  return {\n    name: 'vite-plugin-beautify',\n    apply: 'build',\n    closeBundle() {\n      const rConfig = resolveConfig(config);\n\n      const { inDir, js, html, css } = rConfig;\n      console.log('\\x1b[36m%s\\x1b[0m', `Beautify - \"${inDir}\" folder`);\n      if (!fs.existsSync(inDir)) {\n        console.log('\\x1b[31m%s\\x1b[0m', `  - \"${inDir}\" folder does not exist!`);\n        return;\n      }\n\n      console.log('\\x1b[32m%s\\x1b[0m', '  - Executing beautify tasks:');\n\n      const configs: Array<[PluginSupportedFileType, PluginFileConfig<PluginSupportedFileType>]> = [\n        ['js', js],\n        ['html', html],\n        ['css', css],\n      ];\n      for (const [type, _config] of configs) {\n        if (_config.enabled) {\n          const files = executeBeautify(type, inDir, _config);\n          console.log(\n            '\\x1b[32m%s\\x1b[0m',\n            `    - Beautified ${files.length} [${type.toUpperCase()}] files`,\n          );\n        }\n      }\n      console.log('\\x1b[32m%s\\x1b[0m', '  - Done ✓.');\n    },\n  };\n};\n","import type { HTMLBeautifyOptions, JSBeautifyOptions, CSSBeautifyOptions } from 'js-beautify';\n\nimport type { PluginConfig } from './plugin.types';\n\nexport const DEFAULT_HTML_OPTIONS: HTMLBeautifyOptions = {\n  indent_size: 2,\n  end_with_newline: true,\n  preserve_newlines: false,\n  max_preserve_newlines: 0,\n  wrap_line_length: 0,\n  wrap_attributes_indent_size: 0,\n};\n\nexport const DEFAULT_CSS_OPTIONS: CSSBeautifyOptions = {\n  indent_char: ' ',\n  indent_size: 2,\n  indent_with_tabs: false,\n  end_with_newline: true,\n  newline_between_rules: true,\n  selector_separator_newline: false,\n};\n\nexport const DEFAULT_JS_OPTIONS: JSBeautifyOptions = {\n  indent_size: 2,\n  indent_char: ' ',\n  indent_level: 0,\n  indent_with_tabs: false,\n  preserve_newlines: true,\n  space_in_paren: false,\n  space_after_anon_function: false,\n  brace_style: 'collapse',\n  break_chained_methods: false,\n  keep_array_indentation: false,\n  space_before_conditional: true,\n  unescape_strings: false,\n  wrap_line_length: 0,\n  end_with_newline: true,\n  comma_first: false,\n};\n\nexport const DEFAULT_CONFIG: PluginConfig = {\n  inDir: 'build',\n  html: {\n    enabled: true,\n    glob: '**/*.html',\n    options: DEFAULT_HTML_OPTIONS,\n  },\n  js: {\n    enabled: true,\n    glob: '**/*.js',\n    options: DEFAULT_JS_OPTIONS,\n  },\n  css: {\n    enabled: true,\n    glob: '**/*.css',\n    options: DEFAULT_CSS_OPTIONS,\n  },\n};\n","// Copyright (c) Quang Phan. All rights reserved. Licensed under the MIT license.\n\nimport { vitePluginBeautify } from './plugin';\n\n/**\n * tailwind plugin for building triangle with border attributes\n *\n * @packageDocumentation\n */\n\nexport = vitePluginBeautify;\n"]}