@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 +80 -0
- package/dist/index.cjs +79 -0
- package/dist/index.d.cts +55 -0
- package/dist/index.d.mts +55 -0
- package/dist/index.mjs +77 -0
- package/package.json +32 -0
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;
|
package/dist/index.d.cts
ADDED
|
@@ -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.d.mts
ADDED
|
@@ -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
|
+
}
|