UNPKG

@serverless-guru/prettier-plugin-import-order

Version:

A prettier plugin to sort TS/JS import declarations by provided Regular Expression order

93 lines (92 loc) 3.4 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var parser_babel_1 = require("prettier/parser-babel"); var parser_flow_1 = require("prettier/parser-flow"); var parser_html_1 = require("prettier/parser-html"); var parser_typescript_1 = require("prettier/parser-typescript"); var default_processor_1 = require("./preprocessors/default-processor"); var vue_preprocessor_1 = require("./preprocessors/vue-preprocessor"); var options = { importOrder: { type: 'path', category: 'Global', array: true, default: [{ value: [] }], description: 'Provide an order to sort imports.', }, importOrderCaseInsensitive: { type: 'boolean', category: 'Global', default: false, description: 'Provide a case sensitivity boolean flag', }, importOrderTypeImportsToTop: { type: 'boolean', category: 'Global', default: false, description: 'Move all the imports that start with the `type` keyword to top', }, importOrderTypeImportsToBottom: { type: 'boolean', category: 'Global', default: false, description: 'Move all the imports that start with the `type` to bottom', }, importOrderParserPlugins: { type: 'path', category: 'Global', array: true, default: [{ value: ['typescript', 'jsx'] }], description: 'Provide a list of plugins for special syntax', }, importOrderSeparation: { type: 'boolean', category: 'Global', default: false, description: 'Should imports be separated by new line?', }, importOrderNamespaceImportsToGroupTop: { type: 'boolean', category: 'Global', default: false, description: 'Should namespace specifiers be grouped at the top of their group?', }, importOrderSortIndividualImports: { type: 'boolean', category: 'Global', default: false, description: 'Should objects imported from a module be sorted?', }, importOrderBuiltinModulesToTop: { type: 'boolean', category: 'Global', default: false, description: 'Should node-builtins be hoisted to the top?', }, importOrderMergeDuplicateImports: { type: 'boolean', category: 'Global', default: false, description: 'Should duplicate imports be merged?', }, }; module.exports = { parsers: { babel: __assign(__assign({}, parser_babel_1.parsers.babel), { preprocess: default_processor_1.defaultPreprocessor }), flow: __assign(__assign({}, parser_flow_1.parsers.flow), { preprocess: default_processor_1.defaultPreprocessor }), typescript: __assign(__assign({}, parser_typescript_1.parsers.typescript), { preprocess: default_processor_1.defaultPreprocessor }), vue: __assign(__assign({}, parser_html_1.parsers.vue), { preprocess: vue_preprocessor_1.vuePreprocessor }), }, options: options, };