{"version":3,"file":"index.cjs","sources":["../src/options/janitor-options-lint.mts","../src/options/janitor-options.mts"],"sourcesContent":["/**\n * Represents options for linting in the zthunworks janitor system.\n */\nexport interface IZJanitorOptionsLint {\n  /**\n   * The path to the config file for eslint.\n   */\n  esConfig?: string;\n  /**\n   * The path to the config file for htmlhint.\n   */\n  htmlConfig?: string;\n  /**\n   * The path to the config file for markdownlint.\n   */\n  markdownConfig?: string;\n  /**\n   * The path to the config file for prettier.\n   */\n  prettyConfig?: string;\n  /**\n   * The path to the config file for cspell.\n   */\n  spellingConfig?: string;\n  /**\n   * The path to the config file for stylelint.\n   */\n  styleConfig?: string;\n\n  /**\n   * The file globs to lint with eslint.\n   */\n  esFiles?: string[];\n  /**\n   * The file globs to lint with htmlhint.\n   */\n  htmlFiles?: string[];\n  /**\n   * The file globs to lint with json.\n   */\n  jsonFiles?: string[];\n  /**\n   * The file globs to lint with markdownlint.\n   */\n  markdownFiles?: string[];\n  /**\n   * The file globs to lint with prettier.\n   */\n  prettyFiles?: string[];\n  /**\n   * The file globs to lint with cspell.\n   */\n  spellingFiles?: string[];\n  /**\n   * The file globs to lint with stylelint.\n   */\n  styleFiles?: string[];\n  /**\n   * The file globs to lint with yaml.\n   */\n  yamlFiles?: string[];\n\n  /**\n   * The files globs to exclude from linting with htmlhint.\n   */\n  htmlFilesExclude?: string[];\n  /**\n   * The files globs to exclude from linting with json.\n   */\n  jsonFilesExclude?: string[];\n  /**\n   * The files globs to exclude from linting with markdownlint.\n   */\n  markdownFilesExclude?: string[];\n  /**\n   * The files globs to exclude from linting with prettier.\n   */\n  prettyFilesExclude?: string[];\n  /**\n   * The files globs to exclude from linting with cspell.\n   */\n  spellingFilesExclude?: string[];\n  /**\n   * The files to exclude from linting with stylelint.\n   */\n  styleFilesExclude?: string[];\n  /**\n   * The files globs to exclude from linting with yaml.\n   */\n  yamlFilesExclude?: string[];\n}\n\n/**\n * A builder for creating linting options for the zthunworks janitor system.\n */\nexport class ZJanitorOptionsLintBuilder {\n  private lint: IZJanitorOptionsLint = {};\n\n  /**\n   * Sets the path to the config file for eslint.\n   *\n   * @param esConfig -\n   *        The path to the config file for eslint.\n   *\n   * @returns\n   *        This object.\n   */\n  public esConfig(esConfig: string): ZJanitorOptionsLintBuilder {\n    this.lint.esConfig = esConfig;\n    return this;\n  }\n\n  /**\n   * Sets the path to the config file for htmlhint.\n   *\n   * @param htmlConfig -\n   *        The path to the config file for htmlhint.\n   *\n   * @returns\n   *        This object.\n   */\n  public htmlConfig(htmlConfig: string): ZJanitorOptionsLintBuilder {\n    this.lint.htmlConfig = htmlConfig;\n    return this;\n  }\n\n  /**\n   * Sets the path to the config file for markdownlint.\n   *\n   * @param markdownConfig -\n   *        The path to the config file for markdownlint.\n   *\n   * @returns\n   *        This object.\n   */\n  public markdownConfig(markdownConfig: string): ZJanitorOptionsLintBuilder {\n    this.lint.markdownConfig = markdownConfig;\n    return this;\n  }\n\n  /**\n   * Sets the path to the config file for prettier.\n   *\n   * @param prettyConfig -\n   *        The path to the config file for prettier.\n   *\n   * @returns\n   *        This object.\n   */\n  public prettyConfig(prettyConfig: string): ZJanitorOptionsLintBuilder {\n    this.lint.prettyConfig = prettyConfig;\n    return this;\n  }\n\n  /**\n   * Sets the path to the config file for cspell.\n   *\n   * @param spellingConfig -\n   *        The path to the config file for cspell.\n   *\n   * @returns\n   *        This object.\n   */\n  public spellingConfig(spellingConfig: string): ZJanitorOptionsLintBuilder {\n    this.lint.spellingConfig = spellingConfig;\n    return this;\n  }\n\n  /**\n   * Sets the path to the config file for stylelint.\n   *\n   * @param styleConfig -\n   *        The path to the config file for stylelint.\n   *\n   * @returns\n   *        This object.\n   */\n  public styleConfig(styleConfig: string): ZJanitorOptionsLintBuilder {\n    this.lint.styleConfig = styleConfig;\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to lint with eslint.\n   *\n   * @param file -\n   *        The file globs to lint with eslint.\n   *\n   * @returns\n   *        This object.\n   */\n  public esFile(file: string | string[] = []) {\n    const files = this.lint.esFiles ?? [];\n    this.lint.esFiles = files.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to lint with htmlhint.\n   *\n   * @param file -\n   *        The file globs to lint with htmlhint.\n   *\n   * @returns\n   *        This object.\n   */\n  public htmlFile(file: string | string[] = []) {\n    const files = this.lint.htmlFiles ?? [];\n    this.lint.htmlFiles = files.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to lint with json.\n   *\n   * @param file -\n   *        The file globs to lint with json.\n   *\n   * @returns\n   *        This object.\n   */\n  public jsonFile(file: string | string[] = []) {\n    const files = this.lint.jsonFiles ?? [];\n    this.lint.jsonFiles = files.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to lint with markdownlint.\n   *\n   * @param file -\n   *        The globs to lint with markdownlint.\n   *\n   * @returns\n   *        This object.\n   */\n  public markdownFile(file: string | string[] = []) {\n    const files = this.lint.markdownFiles ?? [];\n    this.lint.markdownFiles = files.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to lint with prettier.\n   *\n   * @param file -\n   *        The globs to lint with prettier.\n   *\n   * @returns\n   *        This object.\n   */\n  public prettyFile(file: string | string[] = []) {\n    const files = this.lint.prettyFiles ?? [];\n    this.lint.prettyFiles = files.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to lint with cspell.\n   *\n   * @param file -\n   *        The file globs to lint with cspell.\n   *\n   * @returns\n   *        This object.\n   */\n  public spellingFile(file: string | string[] = []) {\n    const files = this.lint.spellingFiles ?? [];\n    this.lint.spellingFiles = files.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to lint with stylelint.\n   *\n   * @param file -\n   *        The file globs to lint with stylelint.\n   *\n   * @returns\n   *        This object.\n   */\n  public styleFile(file: string | string[] = []) {\n    const files = this.lint.styleFiles ?? [];\n    this.lint.styleFiles = files.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to lint with yaml.\n   *\n   * @param file -\n   *        The file globs to lint with yaml.\n   *\n   * @returns\n   *        This object.\n   */\n  public yamlFile(file: string | string[] = []) {\n    const files = this.lint.yamlFiles ?? [];\n    this.lint.yamlFiles = files.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to exclude from linting with htmlhint.\n   *\n   * @param files -\n   *        The file globs to exclude from linting with htmlhint.\n   *\n   * @returns\n   *        This object.\n   */\n  public htmlExclude(files: string | string[] = []) {\n    const excludes = this.lint.htmlFilesExclude ?? [];\n    this.lint.htmlFilesExclude = excludes.concat(files);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to exclude from linting with json.\n   *\n   * @param file -\n   *        The globs to exclude from linting with json.\n   *\n   * @returns\n   *        This object.\n   */\n  public jsonExclude(file: string | string[] = []) {\n    const excludes = this.lint.jsonFilesExclude ?? [];\n    this.lint.jsonFilesExclude = excludes.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to exclude from linting with markdownlint.\n   *\n   * @param file -\n   *        The globs to exclude from linting with markdownlint.\n   *\n   * @returns\n   *        This object.\n   */\n  public markdownExclude(file: string | string[] = []) {\n    const excludes = this.lint.markdownFilesExclude ?? [];\n    this.lint.markdownFilesExclude = excludes.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to exclude from linting with prettier.\n   *\n   * @param file -\n   *        The globs to exclude from linting with prettier.\n   *\n   * @returns\n   *        This object.\n   */\n  public prettyExclude(file: string | string[] = []) {\n    const excludes = this.lint.prettyFilesExclude ?? [];\n    this.lint.prettyFilesExclude = excludes.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to exclude from linting with cspell.\n   *\n   * @param file -\n   *        The globs to exclude from linting with cspell.\n   *\n   * @returns\n   *        This object.\n   */\n  public spellingExclude(file: string | string[] = []) {\n    const excludes = this.lint.spellingFilesExclude ?? [];\n    this.lint.spellingFilesExclude = excludes.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a list of globs to the list of files to exclude from linting with stylelint.\n   *\n   * @param file -\n   *        The globs to exclude from linting with stylelint.\n   *\n   * @returns\n   *        This object.\n   */\n  public styleExclude(file: string | string[] = []) {\n    const excludes = this.lint.styleFilesExclude ?? [];\n    this.lint.styleFilesExclude = excludes.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a single file glob to the list of files to exclude from linting with yaml.\n   *\n   * @param file -\n   *        The file glob to exclude from linting with yaml.\n   *\n   * @returns\n   *        This object.\n   */\n  public yamlExclude(file: string | string[] = []) {\n    const excludes = this.lint.yamlFilesExclude ?? [];\n    this.lint.yamlFilesExclude = excludes.concat(file);\n    return this;\n  }\n\n  /**\n   * Adds a file to all exclusion lists.\n   *\n   * @param file -\n   *        The file to exclude from all linting.\n   *\n   * @returns\n   *        This object.\n   */\n  public excludeAll(file: string | string[] = []) {\n    return this.htmlExclude(file)\n      .jsonExclude(file)\n      .markdownExclude(file)\n      .prettyExclude(file)\n      .spellingExclude(file)\n      .styleExclude(file)\n      .yamlExclude(file);\n  }\n\n  /**\n   * Generates the spelling files based on the other files that have been set.\n   *\n   * @returns\n   *        This object.\n   */\n  public generateSpellingFiles() {\n    return this.spellingFile(this.lint.esFiles)\n      .spellingFile(this.lint.htmlFiles)\n      .spellingFile(this.lint.jsonFiles)\n      .spellingFile(this.lint.markdownFiles)\n      .spellingFile(this.lint.styleFiles)\n      .spellingFile(this.lint.yamlFiles);\n  }\n\n  /**\n   * Generates the pretty files based on the other files that have been set.\n   *\n   * @returns\n   *        This object.\n   */\n  public generatePrettyFiles() {\n    return this.prettyFile(this.lint.esFiles)\n      .prettyFile(this.lint.htmlFiles)\n      .prettyFile(this.lint.jsonFiles)\n      .prettyFile(this.lint.markdownFiles)\n      .prettyFile(this.lint.styleFiles)\n      .prettyFile(this.lint.yamlFiles);\n  }\n\n  /**\n   * Adds conventional es files.\n   *\n   * @returns\n   *        This object\n   */\n  public commonEsFiles() {\n    const extensions = \"js,cjs,mjs,ts,mts,jsx,tsx\";\n\n    return this.esFile(`*.{${extensions}}`)\n      .esFile(`src/**/*.{${extensions}}`)\n      .esFile(`features/**/*.{${extensions}}`)\n      .esFile(`packages/**/src/**/*.{${extensions}}`)\n      .esFile(`packages/**/features/**/*.{${extensions}}`)\n      .esFile(`packages/*/vite.config.{${extensions}}`)\n      .esFile(`packages/*/vitest.config.{${extensions}}`)\n      .esFile(`.config/*.{${extensions}}`);\n  }\n\n  /**\n   * Adds conventional css files.\n   *\n   * @returns\n   *        This object.\n   */\n  public commonCssFiles() {\n    return this.styleFile(`src/**/*.css`)\n      .styleFile(`packages/**/*.css`)\n      .styleFile(\"styles/**/*.css\");\n  }\n\n  /**\n   * Adds conventional sass files.\n   *\n   * @returns\n   *        This object.\n   */\n  public commonSassFiles() {\n    return this.styleFile(`src/**/*.{sass,scss}`)\n      .styleFile(`packages/**/src/**/*.{sass,scss}`)\n      .styleFile(\"styles/**/*.{sass,scss}\");\n  }\n\n  /**\n   * Adds conventional less files.\n   *\n   * @returns\n   *        This object.\n   */\n  public commonLessFiles() {\n    return this.styleFile(`src/**/*.less`)\n      .styleFile(\"packages/**/src/**/*.less\")\n      .styleFile(\"styles/**/*.less\");\n  }\n\n  /**\n   * Adds conventional less files.\n   *\n   * @returns\n   *        This object.\n   */\n  public commonHtmlFiles() {\n    const extensions = \"html,htm\";\n    return this.htmlFile(`src/**/*.{${extensions}}`)\n      .htmlFile(`packages/**/src/**/*.{${extensions}}`)\n      .htmlFile(`src/*.{${extensions}}`)\n      .htmlFile(`packages/*/*.{${extensions}}`);\n  }\n\n  /**\n   * Adds conventional markdown files.\n   *\n   * @returns\n   *        This object.\n   */\n  public commonMarkdownFiles() {\n    return this.markdownFile(`*.md`)\n      .markdownFile(`src/**/*.md`)\n      .markdownFile(`packages/**/*.md`);\n  }\n\n  /**\n   * Add conventional json files.\n   *\n   * @returns\n   *        This object.\n   */\n  public commonJsonFiles() {\n    return this.jsonFile(\"*.json\")\n      .jsonFile(\"src/**/*.json\")\n      .jsonFile(\"packages/**/*.json\")\n      .jsonFile(\".config/*.json\");\n  }\n\n  /**\n   * Adds conventional yaml files.\n   *\n   * @returns\n   *        This object.\n   */\n  public commonYamlFiles() {\n    const extensions = \"yml,yaml\";\n    return this.yamlFile(`*.{${extensions}}`)\n      .yamlFile(`src/**/*.{${extensions}}`)\n      .yamlFile(`packages/**/*.{${extensions}}`)\n      .yamlFile(`.config/*.{${extensions}}`)\n      .yamlFile(`.circleci/*.{${extensions}}`);\n  }\n\n  /**\n   * Adds conventional exclude files.\n   *\n   * @returns\n   *        This object.\n   */\n  public commonExcludes() {\n    return this.excludeAll(\"**/CHANGELOG.md\")\n      .excludeAll(\"**/dist/**\")\n      .excludeAll(\"**/node_modules/**\")\n      .excludeAll(\"package-lock.json\")\n      .excludeAll(\"lerna.json\")\n      .excludeAll(\"**/cspell.json\");\n  }\n\n  /**\n   * Returns the built linting options object.\n   *\n   * @returns\n   *        A clone of the current linting options object.\n   */\n  public build() {\n    return structuredClone(this.lint);\n  }\n}\n","import type { IZJanitorOptionsLint } from \"./janitor-options-lint.mjs\";\n\n/**\n * Options for the zthunworks janitor system.\n */\nexport interface IZJanitorOptions {\n  /**\n   * Linting options for janitor-lint.\n   */\n  lint?: IZJanitorOptionsLint;\n}\n\n/**\n * A builder for creating janitor options.\n */\nexport class ZJanitorOptionsBuilder {\n  private options: IZJanitorOptions = {};\n\n  /**\n   * Sets the linting options for the janitor system.\n   *\n   * @param lint -\n   *        The linting options to set.\n   *\n   * @returns\n   *        This object.\n   */\n  public lint(lint: IZJanitorOptionsLint): ZJanitorOptionsBuilder {\n    this.options.lint = lint;\n    return this;\n  }\n\n  /**\n   * Builds the options object.\n   *\n   * @returns\n   *       A clone of the current options object.\n   */\n  public build(): IZJanitorOptions {\n    return structuredClone(this.options);\n  }\n}\n"],"names":["_define_property","ZJanitorOptionsLintBuilder","esConfig","lint","htmlConfig","markdownConfig","prettyConfig","spellingConfig","styleConfig","esFile","file","files","esFiles","concat","htmlFile","htmlFiles","jsonFile","jsonFiles","markdownFile","markdownFiles","prettyFile","prettyFiles","spellingFile","spellingFiles","styleFile","styleFiles","yamlFile","yamlFiles","htmlExclude","excludes","htmlFilesExclude","jsonExclude","jsonFilesExclude","markdownExclude","markdownFilesExclude","prettyExclude","prettyFilesExclude","spellingExclude","spellingFilesExclude","styleExclude","styleFilesExclude","yamlExclude","yamlFilesExclude","excludeAll","generateSpellingFiles","generatePrettyFiles","commonEsFiles","extensions","commonCssFiles","commonSassFiles","commonLessFiles","commonHtmlFiles","commonMarkdownFiles","commonJsonFiles","commonYamlFiles","commonExcludes","build","structuredClone","ZJanitorOptionsBuilder","options"],"mappings":"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"}