@getjerry/oxfmt-config 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,80 @@
1
+ # @getjerry/oxfmt-config
2
+
3
+ ## Usage
4
+
5
+ ### Install
6
+
7
+ ```bash
8
+ pnpm i -D @getjerry/oxfmt-config
9
+ ```
10
+
11
+ ### Create a config file
12
+
13
+ In `oxfmt.config.ts`:
14
+
15
+ ```ts
16
+ import { getjerry } from '@getjerry/oxfmt-config';
17
+
18
+ export default getjerry({
19
+ ignorePatterns: ['pnpm-lock.yaml', '**/CHANGELOG.md'],
20
+ // override default options
21
+ });
22
+ ```
23
+
24
+ ### Add scripts in package.json
25
+
26
+ ```json
27
+ {
28
+ "scripts": {
29
+ "format": "oxfmt --check",
30
+ "format:fix": "oxfmt"
31
+ }
32
+ }
33
+ ```
34
+
35
+ Work together with `eslint`:
36
+
37
+ ```json
38
+ {
39
+ "scripts": {
40
+ "lint": "eslint . && oxfmt --check",
41
+ "lint:fix": "eslint --fix . && oxfmt"
42
+ }
43
+ }
44
+ ```
45
+
46
+ ## Customizations
47
+
48
+ ### Override default config
49
+
50
+ ```ts
51
+ import { getjerry } from '@getjerry/oxfmt-config';
52
+
53
+ export default getjerry({
54
+ // override default rules (not recommended, better to keep prettier config consistent among projects)
55
+ quoteProps: 'consistent',
56
+ });
57
+ ```
58
+
59
+ ## Editor Integration
60
+
61
+ ### VSCode settings
62
+
63
+ Add the following settings to your `.vscode/settings.json`:
64
+
65
+ ```jsonc
66
+ {
67
+ "editor.defaultFormatter": "oxc.oxc-vscode",
68
+ "editor.formatOnSave": true,
69
+ "editor.insertSpaces": true,
70
+ "editor.tabSize": 2,
71
+
72
+ "files.encoding": "utf8",
73
+ "files.eol": "\n",
74
+ "files.trimFinalNewlines": true,
75
+ "files.trimTrailingWhitespace": true,
76
+ "[markdown]": {
77
+ "files.trimTrailingWhitespace": false,
78
+ },
79
+ }
80
+ ```
package/dist/index.cjs ADDED
@@ -0,0 +1,79 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/config.ts
3
+ /**
4
+ * Oxfmt Config
5
+ *
6
+ * @see https://oxc.rs/docs/guide/usage/formatter/config-file-reference
7
+ */
8
+ const config = {
9
+ arrowParens: "always",
10
+ bracketSameLine: false,
11
+ bracketSpacing: true,
12
+ embeddedLanguageFormatting: "auto",
13
+ endOfLine: "lf",
14
+ htmlWhitespaceSensitivity: "css",
15
+ ignorePatterns: [],
16
+ insertFinalNewline: true,
17
+ jsxSingleQuote: false,
18
+ objectWrap: "preserve",
19
+ printWidth: 120,
20
+ proseWrap: "preserve",
21
+ quoteProps: "as-needed",
22
+ semi: true,
23
+ singleAttributePerLine: false,
24
+ singleQuote: true,
25
+ sortImports: {
26
+ customGroups: [],
27
+ groups: [
28
+ "builtin",
29
+ "external",
30
+ ["internal", "subpath"],
31
+ [
32
+ "parent",
33
+ "sibling",
34
+ "index"
35
+ ],
36
+ "style",
37
+ "unknown"
38
+ ],
39
+ ignoreCase: true,
40
+ internalPattern: ["~/", "@/"],
41
+ newlinesBetween: true,
42
+ order: "asc",
43
+ partitionByComment: false,
44
+ partitionByNewline: false,
45
+ sortSideEffects: false
46
+ },
47
+ sortPackageJson: { sortScripts: false },
48
+ sortTailwindcss: {
49
+ attributes: [],
50
+ functions: [],
51
+ preserveDuplicates: false,
52
+ preserveWhitespace: false
53
+ },
54
+ tabWidth: 2,
55
+ trailingComma: "all",
56
+ useTabs: false,
57
+ vueIndentScriptAndStyle: false
58
+ };
59
+ //#endregion
60
+ //#region src/getjerry.ts
61
+ const getjerry = (userConfig) => ({
62
+ ...config,
63
+ ...userConfig,
64
+ sortImports: {
65
+ ...config.sortImports,
66
+ ...userConfig?.sortImports
67
+ },
68
+ sortPackageJson: typeof userConfig?.sortPackageJson !== "boolean" ? {
69
+ ...config.sortPackageJson,
70
+ ...userConfig?.sortPackageJson
71
+ } : userConfig.sortPackageJson,
72
+ sortTailwindcss: userConfig?.sortTailwindcss ? {
73
+ ...config.sortTailwindcss,
74
+ ...userConfig.sortTailwindcss
75
+ } : void 0
76
+ });
77
+ //#endregion
78
+ exports.config = config;
79
+ exports.getjerry = getjerry;
@@ -0,0 +1,55 @@
1
+ import { OxfmtConfig } from "oxfmt";
2
+
3
+ //#region src/config.d.ts
4
+ /**
5
+ * Oxfmt Config
6
+ *
7
+ * @see https://oxc.rs/docs/guide/usage/formatter/config-file-reference
8
+ */
9
+ declare const config: {
10
+ arrowParens: "always";
11
+ bracketSameLine: false;
12
+ bracketSpacing: true;
13
+ embeddedLanguageFormatting: "auto";
14
+ endOfLine: "lf";
15
+ htmlWhitespaceSensitivity: "css";
16
+ ignorePatterns: never[];
17
+ insertFinalNewline: true;
18
+ jsxSingleQuote: false;
19
+ objectWrap: "preserve";
20
+ printWidth: number;
21
+ proseWrap: "preserve";
22
+ quoteProps: "as-needed";
23
+ semi: true;
24
+ singleAttributePerLine: false;
25
+ singleQuote: true;
26
+ sortImports: {
27
+ customGroups: never[];
28
+ groups: (string | string[])[];
29
+ ignoreCase: true;
30
+ internalPattern: string[];
31
+ newlinesBetween: true;
32
+ order: "asc";
33
+ partitionByComment: false;
34
+ partitionByNewline: false;
35
+ sortSideEffects: false;
36
+ };
37
+ sortPackageJson: {
38
+ sortScripts: false;
39
+ };
40
+ sortTailwindcss: {
41
+ attributes: never[];
42
+ functions: never[];
43
+ preserveDuplicates: false;
44
+ preserveWhitespace: false;
45
+ };
46
+ tabWidth: number;
47
+ trailingComma: "all";
48
+ useTabs: false;
49
+ vueIndentScriptAndStyle: false;
50
+ };
51
+ //#endregion
52
+ //#region src/getjerry.d.ts
53
+ declare const getjerry: (userConfig?: Partial<OxfmtConfig>) => OxfmtConfig;
54
+ //#endregion
55
+ export { config, getjerry };
@@ -0,0 +1,55 @@
1
+ import { OxfmtConfig } from "oxfmt";
2
+
3
+ //#region src/config.d.ts
4
+ /**
5
+ * Oxfmt Config
6
+ *
7
+ * @see https://oxc.rs/docs/guide/usage/formatter/config-file-reference
8
+ */
9
+ declare const config: {
10
+ arrowParens: "always";
11
+ bracketSameLine: false;
12
+ bracketSpacing: true;
13
+ embeddedLanguageFormatting: "auto";
14
+ endOfLine: "lf";
15
+ htmlWhitespaceSensitivity: "css";
16
+ ignorePatterns: never[];
17
+ insertFinalNewline: true;
18
+ jsxSingleQuote: false;
19
+ objectWrap: "preserve";
20
+ printWidth: number;
21
+ proseWrap: "preserve";
22
+ quoteProps: "as-needed";
23
+ semi: true;
24
+ singleAttributePerLine: false;
25
+ singleQuote: true;
26
+ sortImports: {
27
+ customGroups: never[];
28
+ groups: (string | string[])[];
29
+ ignoreCase: true;
30
+ internalPattern: string[];
31
+ newlinesBetween: true;
32
+ order: "asc";
33
+ partitionByComment: false;
34
+ partitionByNewline: false;
35
+ sortSideEffects: false;
36
+ };
37
+ sortPackageJson: {
38
+ sortScripts: false;
39
+ };
40
+ sortTailwindcss: {
41
+ attributes: never[];
42
+ functions: never[];
43
+ preserveDuplicates: false;
44
+ preserveWhitespace: false;
45
+ };
46
+ tabWidth: number;
47
+ trailingComma: "all";
48
+ useTabs: false;
49
+ vueIndentScriptAndStyle: false;
50
+ };
51
+ //#endregion
52
+ //#region src/getjerry.d.ts
53
+ declare const getjerry: (userConfig?: Partial<OxfmtConfig>) => OxfmtConfig;
54
+ //#endregion
55
+ export { config, getjerry };
package/dist/index.mjs ADDED
@@ -0,0 +1,77 @@
1
+ //#region src/config.ts
2
+ /**
3
+ * Oxfmt Config
4
+ *
5
+ * @see https://oxc.rs/docs/guide/usage/formatter/config-file-reference
6
+ */
7
+ const config = {
8
+ arrowParens: "always",
9
+ bracketSameLine: false,
10
+ bracketSpacing: true,
11
+ embeddedLanguageFormatting: "auto",
12
+ endOfLine: "lf",
13
+ htmlWhitespaceSensitivity: "css",
14
+ ignorePatterns: [],
15
+ insertFinalNewline: true,
16
+ jsxSingleQuote: false,
17
+ objectWrap: "preserve",
18
+ printWidth: 120,
19
+ proseWrap: "preserve",
20
+ quoteProps: "as-needed",
21
+ semi: true,
22
+ singleAttributePerLine: false,
23
+ singleQuote: true,
24
+ sortImports: {
25
+ customGroups: [],
26
+ groups: [
27
+ "builtin",
28
+ "external",
29
+ ["internal", "subpath"],
30
+ [
31
+ "parent",
32
+ "sibling",
33
+ "index"
34
+ ],
35
+ "style",
36
+ "unknown"
37
+ ],
38
+ ignoreCase: true,
39
+ internalPattern: ["~/", "@/"],
40
+ newlinesBetween: true,
41
+ order: "asc",
42
+ partitionByComment: false,
43
+ partitionByNewline: false,
44
+ sortSideEffects: false
45
+ },
46
+ sortPackageJson: { sortScripts: false },
47
+ sortTailwindcss: {
48
+ attributes: [],
49
+ functions: [],
50
+ preserveDuplicates: false,
51
+ preserveWhitespace: false
52
+ },
53
+ tabWidth: 2,
54
+ trailingComma: "all",
55
+ useTabs: false,
56
+ vueIndentScriptAndStyle: false
57
+ };
58
+ //#endregion
59
+ //#region src/getjerry.ts
60
+ const getjerry = (userConfig) => ({
61
+ ...config,
62
+ ...userConfig,
63
+ sortImports: {
64
+ ...config.sortImports,
65
+ ...userConfig?.sortImports
66
+ },
67
+ sortPackageJson: typeof userConfig?.sortPackageJson !== "boolean" ? {
68
+ ...config.sortPackageJson,
69
+ ...userConfig?.sortPackageJson
70
+ } : userConfig.sortPackageJson,
71
+ sortTailwindcss: userConfig?.sortTailwindcss ? {
72
+ ...config.sortTailwindcss,
73
+ ...userConfig.sortTailwindcss
74
+ } : void 0
75
+ });
76
+ //#endregion
77
+ export { config, getjerry };
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@getjerry/oxfmt-config",
3
+ "version": "0.23.0",
4
+ "files": [
5
+ "./dist"
6
+ ],
7
+ "type": "module",
8
+ "main": "./dist/index.cjs",
9
+ "module": "./dist/index.mjs",
10
+ "types": "./dist/index.d.cts",
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.mjs",
14
+ "require": "./dist/index.cjs"
15
+ },
16
+ "./package.json": "./package.json"
17
+ },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "scripts": {
22
+ "build": "tsdown",
23
+ "clean": "rimraf ./dist"
24
+ },
25
+ "dependencies": {
26
+ "oxfmt": "^0.41.0"
27
+ },
28
+ "engines": {
29
+ "node": ">=20.0.0"
30
+ },
31
+ "gitHead": "b6b83827fa9cdd3b9d288aa1754d4b9504732a74"
32
+ }