eslint-plugin-sf-plugin
Version:
Helpful eslint rules for sf plugins.
171 lines (170 loc) • 9.85 kB
JavaScript
"use strict";
/*
* Copyright (c) 2020, salesforce.com, inc.
* All rights reserved.
* Licensed under the BSD 3-Clause license.
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
*/
const no_duplicate_short_characters_1 = require("./rules/no-duplicate-short-characters");
const flag_min_max_default_1 = require("./rules/flag-min-max-default");
const flag_summary_1 = require("./rules/flag-summary");
const flag_casing_1 = require("./rules/flag-casing");
const extract_message_flags_1 = require("./rules/extract-message-flags");
const flag_cross_references_1 = require("./rules/flag-cross-references");
const command_summary_1 = require("./rules/command-summary");
const command_example_1 = require("./rules/command-example");
const extract_message_command_1 = require("./rules/extract-message-command");
const no_json_flag_1 = require("./rules/no-json-flag");
const dash_h_1 = require("./rules/dash-h");
const no_sfdx_command_import_1 = require("./rules/migration/no-sfdx-command-import");
const sfdx_flags_property_1 = require("./rules/migration/sfdx-flags-property");
const use_sf_command_flags_1 = require("./rules/migration/use-sf-command-flags");
const no_this_ux_1 = require("./rules/migration/no-this-ux");
const no_this_org_1 = require("./rules/migration/no-this-org");
const run_matches_class_type_1 = require("./rules/run-matches-class-type");
const no_deprecated_properties_1 = require("./rules/migration/no-deprecated-properties");
const should_parse_flags_1 = require("./rules/migration/should-parse-flags");
const no_this_flags_1 = require("./rules/migration/no-this-flags");
const get_connections_with_version_1 = require("./rules/get-connections-with-version");
const no_oclif_flags_command_import_1 = require("./rules/no-oclif-flags-command-import");
const no_builtin_flags_1 = require("./rules/migration/no-builtin-flags");
const dash_o_1 = require("./rules/dash-o");
const read_only_properties_1 = require("./rules/read-only-properties");
const no_time_flags_1 = require("./rules/migration/no-time-flags");
const id_flag_suggestions_1 = require("./rules/id-flag-suggestions");
const no_id_flags_1 = require("./rules/migration/no-id-flags");
const no_filepath_flags_1 = require("./rules/migration/no-filepath-flags");
const no_number_flags_1 = require("./rules/migration/no-number-flags");
const no_split_examples_1 = require("./rules/no-split-examples");
const no_username_properties_1 = require("./rules/migration/no-username-properties");
const no_unnecessary_properties_1 = require("./rules/no-unnecessary-properties");
const encourage_alias_deprecation_1 = require("./rules/migration/encourage-alias-deprecation");
const no_unnecessary_aliases_1 = require("./rules/no-unnecessary-aliases");
const no_missing_messages_1 = require("./rules/no-missing-messages");
const no_args_parse_without_strict_false_1 = require("./rules/no-args-parse-without-strict-false");
const no_hyphens_aliases_1 = require("./rules/no-hyphens-aliases");
const no_classes_in_command_return_type_1 = require("./rules/no-classes-in-command-return-type");
const no_execCmd_double_quotes_1 = require("./rules/no-execCmd-double-quotes");
const no_messages_load_1 = require("./rules/no-messages-load");
const esm_message_import_1 = require("./rules/esm-message-import");
const no_default_depends_on_flags_1 = require("./rules/no-default-depends-on-flags");
const only_extend_sfCommand_1 = require("./rules/only-extend-sfCommand");
const spread_base_flags_1 = require("./rules/spread-base-flags");
const no_depends_on_boolean_flags_1 = require("./rules/no-depends-on-boolean-flags");
const library = {
plugins: ['sf-plugin'],
rules: {
'sf-plugin/esm-message-import': 'error',
'sf-plugin/no-missing-messages': 'error',
'sf-plugin/no-messages-load': 'error',
'sf-plugin/no-execcmd-double-quotes': 'off',
},
};
const recommended = {
plugins: ['sf-plugin'],
rules: {
...library.rules,
'sf-plugin/command-example': 'warn',
'sf-plugin/flag-min-max-default': 'warn',
'sf-plugin/no-hardcoded-messages-flags': 'warn',
'sf-plugin/no-hardcoded-messages-commands': 'warn',
'sf-plugin/get-connection-with-version': 'warn',
'sf-plugin/dash-o': 'warn',
'sf-plugin/command-summary': 'error',
'sf-plugin/no-duplicate-short-characters': 'error',
'sf-plugin/no-h-short-char': 'error',
'sf-plugin/flag-case': 'error',
'sf-plugin/flag-summary': 'error',
'sf-plugin/flag-cross-references': 'error',
'sf-plugin/no-json-flag': 'error',
'sf-plugin/run-matches-class-type': 'error',
'sf-plugin/no-oclif-flags-command-import': 'error',
'sf-plugin/read-only-properties': 'warn',
'sf-plugin/id-flag-suggestions': 'warn',
'sf-plugin/no-split-examples': 'error',
'sf-plugin/no-unnecessary-properties': 'warn',
'sf-plugin/no-unnecessary-aliases': 'error',
'sf-plugin/no-args-parse-without-strict-false': 'error',
'sf-plugin/no-hyphens-aliases': 'error',
'sf-plugin/no-classes-in-command-return-type': 'error',
'sf-plugin/no-default-and-depends-on-flags': 'error',
'sf-plugin/only-extend-SfCommand': 'warn',
'sf-plugin/spread-base-flags': 'warn',
'sf-plugin/no-depends-on-boolean-flag': 'warn',
},
};
module.exports = {
configs: {
recommended,
library,
migration: {
plugins: ['sf-plugin'],
rules: {
...recommended.rules,
'sf-plugin/no-sfdx-command-import': 'error',
'sf-plugin/sfdx-flags-property': 'error',
'sf-plugin/use-sf-command-flags': 'error',
'sf-plugin/no-this-ux': 'error',
'sf-plugin/no-deprecated-properties': 'error',
'sf-plugin/should-parse-flags': 'error',
'sf-plugin/no-this-org': 'error',
'sf-plugin/no-this-flags': 'error',
'sf-plugin/no-builtin-flags': 'error',
'sf-plugin/no-time-flags': 'error',
'sf-plugin/no-id-flags': 'error',
'sf-plugin/no-username-properties': 'error',
'sf-plugin/no-default-and-depends-on-flags': 'error',
'sf-plugin/only-extend-SfCommand': 'warn',
'sf-plugin/spread-base-flags': 'error',
},
},
},
rules: {
'esm-message-import': esm_message_import_1.esmMessageImport,
'no-h-short-char': dash_h_1.dashH,
'no-default-and-depends-on-flags': no_default_depends_on_flags_1.noDefaultDependsOnFlags,
'only-extend-SfCommand': only_extend_sfCommand_1.onlyExtendSfCommand,
'no-depends-on-boolean-flag': no_depends_on_boolean_flags_1.noDependsOnBooleanFlags,
'spread-base-flags': spread_base_flags_1.spreadBaseFlags,
'no-duplicate-short-characters': no_duplicate_short_characters_1.noDuplicateShortCharacters,
'run-matches-class-type': run_matches_class_type_1.runMatchesClassType,
'flag-case': flag_casing_1.flagCasing,
'flag-summary': flag_summary_1.flagSummary,
'no-hardcoded-messages-flags': extract_message_flags_1.extractMessageFlags,
'no-hardcoded-messages-commands': extract_message_command_1.extractMessageCommand,
'flag-cross-references': flag_cross_references_1.flagCrossReferences,
'command-summary': command_summary_1.commandSummary,
'command-example': command_example_1.commandExamples,
'no-json-flag': no_json_flag_1.jsonFlag,
'flag-min-max-default': flag_min_max_default_1.flagMinMaxDefault,
'no-sfdx-command-import': no_sfdx_command_import_1.noSfdxCommandImport,
'sfdx-flags-property': sfdx_flags_property_1.sfdxFlagsProperty,
'use-sf-command-flags': use_sf_command_flags_1.useSfCommandFlags,
'no-this-ux': no_this_ux_1.noThisUx,
'no-deprecated-properties': no_deprecated_properties_1.noDeprecatedProperties,
'should-parse-flags': should_parse_flags_1.shouldParseFlags,
'no-this-org': no_this_org_1.noThisOrg,
'no-this-flags': no_this_flags_1.noThisFlags,
'get-connection-with-version': get_connections_with_version_1.getConnectionWithVersion,
'no-oclif-flags-command-import': no_oclif_flags_command_import_1.noOclifFlagsCommandImport,
'no-builtin-flags': no_builtin_flags_1.noBuiltinFlags,
'dash-o': dash_o_1.dashO,
'read-only-properties': read_only_properties_1.readOnlyProperties,
'no-time-flags': no_time_flags_1.noTimeFlags,
'id-flag-suggestions': id_flag_suggestions_1.idFlagSuggestions,
'no-id-flags': no_id_flags_1.noIdFlags,
'no-filepath-flags': no_filepath_flags_1.noFilepathFlags,
'no-number-flags': no_number_flags_1.noNumberFlags,
'no-split-examples': no_split_examples_1.noSplitExamples,
'no-username-properties': no_username_properties_1.noUsernameProperties,
'no-unnecessary-properties': no_unnecessary_properties_1.noUnnecessaryProperties,
'encourage-alias-deprecation': encourage_alias_deprecation_1.encourageAliasDeprecation,
'no-unnecessary-aliases': no_unnecessary_aliases_1.noUnnecessaryAliases,
'no-missing-messages': no_missing_messages_1.noMissingMessages,
'no-args-parse-without-strict-false': no_args_parse_without_strict_false_1.noArgsParseWithoutStrictFalse,
'no-hyphens-aliases': no_hyphens_aliases_1.noHyphenAliases,
'no-classes-in-command-return-type': no_classes_in_command_return_type_1.noClassesInCommandReturnType,
'no-execcmd-double-quotes': no_execCmd_double_quotes_1.noExecCmdDoubleQuotes,
'no-messages-load': no_messages_load_1.noMessagesLoad,
},
};