Skip to content

Commit b5d20d1

Browse files
committed
prettier-plugin-ini
1 parent 8f3db6c commit b5d20d1

15 files changed

Lines changed: 46 additions & 47 deletions

File tree

.config/prettier/.prettierrc.json

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
{
22
"printWidth": 120,
3-
"plugins": ["prettier-plugin-packagejson", "@prettier/plugin-xml"],
3+
"plugins": ["prettier-plugin-packagejson", "@prettier/plugin-xml", "prettier-plugin-ini"],
44
"xmlWhitespaceSensitivity": "ignore",
55
"overrides": [
6-
{
7-
"files": "app.manifest",
8-
"options": {
9-
"parser": "xml"
10-
}
11-
}
6+
{ "files": "app.manifest", "options": { "parser": "xml" } },
7+
{ "files": "*.globalconfig", "options": { "parser": "ini" } }
128
]
139
}

.config/workspaces/Directory.Build.props

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,8 @@
22
<PropertyGroup>
33
<ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath>
44
</PropertyGroup>
5+
6+
<ItemGroup>
7+
<SourceRoot Include="$(MSBuildThisFileDirectory)" />
8+
</ItemGroup>
59
</Project>

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"globals": "^15.3.0",
3737
"isomorphic-git": "^1.25.10",
3838
"prettier": "^3.2.5",
39+
"prettier-plugin-ini": "^1.2.0",
3940
"prettier-plugin-packagejson": "^2.5.0",
4041
"semver": "^7.6.2",
4142
"syncpack": "^12.3.2",

setup/configs/base/devcontainer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { spellCheckDocument } from "cspell-lib";
33
import * as jsonc from "jsonc-parser";
44
import semver from "semver";
55

6-
import { fillTemplate, stringify } from "../../formatting.js";
6+
import { fillTemplate } from "../../formatting.js";
77
import { getNodeLtsVersions } from "../../versions/node.js";
88
import { getNpmPackageDistTags } from "../../versions/npm.js";
99
import { getOciArtifactMaxMajorVersion, getOciArtifactTags } from "../../versions/oci.js";
@@ -64,7 +64,7 @@ export const createBaseDevContainerConfigs = async (
6464
[`${dotConfigRepoName}:${dotConfigVersion}`]: {},
6565
};
6666

67-
const content = stringify(devContainerConfig);
67+
const content = JSON.stringify(devContainerConfig);
6868
const spellCheckResult = await spellCheckDocument(
6969
{ uri: devContainerConfigPath, text: content },
7070
{ noConfigSearch: true },

setup/configs/base/workspace.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type { PackageJson } from "type-fest";
22

3-
import { stringify } from "../../formatting.js";
43
import { getNpmLatestDependencies } from "../../versions/npm.js";
54

65
export interface BaseWorkspaceConfigs {
@@ -10,7 +9,7 @@ export interface BaseWorkspaceConfigs {
109
export const createBaseWorkspaceConfigs = async (): Promise<BaseWorkspaceConfigs> => {
1110
const dependencies = await getNpmLatestDependencies(["cspell", "prettier", "prettier-plugin-packagejson"]);
1211
return {
13-
"package.json": stringify({
12+
"package.json": JSON.stringify({
1413
private: true,
1514
type: "module",
1615
dependencies,

setup/configs/csharp/devcontainer.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { spellCheckDocument } from "cspell-lib";
33
import { defaultComposer } from "default-composer";
44
import * as jsonc from "jsonc-parser";
55

6-
import { fillTemplate, stringify } from "../../formatting.js";
6+
import { fillTemplate } from "../../formatting.js";
77
import { getDotNetCoreLatestLtsRelease } from "../../versions/dotnet.js";
88
import { getOciArtifactMaxMajorVersion } from "../../versions/oci.js";
99
import type { BaseDevContainerConfigs } from "../base/devcontainer.js";
@@ -47,7 +47,7 @@ export const createCSharpDevContainerConfigs = async (
4747
devContainerConfig,
4848
);
4949

50-
const content = stringify(mergedDevContainerConfig);
50+
const content = JSON.stringify(mergedDevContainerConfig);
5151
const spellCheckResult = await spellCheckDocument(
5252
{ uri: ".devcontainer/devcontainer.json", text: content },
5353
{ noConfigSearch: true },
@@ -68,7 +68,7 @@ export const createCSharpDevContainerConfigs = async (
6868
fillTemplate(templates[".devcontainer/.env"], { remoteUser }),
6969
),
7070
".devcontainer/devcontainer.json": devContainerConfig,
71-
".devcontainer/dot-config.json": stringify(
71+
".devcontainer/dot-config.json": JSON.stringify(
7272
defaultComposer(
7373
jsonc.parse(baseConfig[".devcontainer/dot-config.json"]) as object,
7474
jsonc.parse(templates[".devcontainer/dot-config.json"]) as object,

setup/configs/csharp/dotConfig.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import type { X2jOptions } from "fast-xml-parser";
33
import { XMLBuilder, XMLParser } from "fast-xml-parser";
44
import * as jsonc from "jsonc-parser";
55

6-
import { stringify } from "../../formatting.js";
76
import { getNugetPackageLatestVersion } from "../../versions/nuget.js";
87
import type { BaseConfigs } from "../base/index.js";
98
import { mergeArrayComposer } from "../composer.js";
@@ -56,12 +55,12 @@ export const createCSharpDotConfigs = async (baseConfig: BaseConfigs): Promise<C
5655
const csharpierVersion = await getNugetPackageLatestVersion("csharpier");
5756
const content = JSON.parse(templates[".config/dotnet/tools.json"]) as { tools: { csharpier: { version: string } } };
5857
content.tools.csharpier.version = csharpierVersion;
59-
return stringify(content);
58+
return JSON.stringify(content);
6059
})();
6160

6261
return {
6362
".config/csharpier/.csharpierrc.json": templates[".config/csharpier/.csharpierrc.json"],
64-
".config/cspell/cspell.json": stringify(
63+
".config/cspell/cspell.json": JSON.stringify(
6564
mergeArrayComposer(
6665
jsonc.parse(baseConfig[".config/cspell/cspell.json"]) as CSpellUserSettings,
6766
jsonc.parse(templates[".config/cspell/cspell.json"]) as CSpellUserSettings,
@@ -72,7 +71,7 @@ export const createCSharpDotConfigs = async (baseConfig: BaseConfigs): Promise<C
7271
".config/dotnet/Packages.props": packageProps,
7372
".config/dotnet/Project.props": templates[".config/dotnet/Project.props"],
7473
".config/dotnet/tools.json": toolsJson,
75-
".config/prettier/.prettierrc.json": stringify(
74+
".config/prettier/.prettierrc.json": JSON.stringify(
7675
mergeArrayComposer(
7776
JSON.parse(baseConfig[".config/prettier/.prettierrc.json"]) as object,
7877
JSON.parse(templates[".config/prettier/.prettierrc.json"]) as object,

setup/configs/csharp/workspace.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { defaultComposer } from "default-composer";
22
import { type X2jOptions, XMLBuilder, XMLParser } from "fast-xml-parser";
33
import type { PackageJson } from "type-fest";
44

5-
import { stringify } from "../../formatting.js";
65
import { getNpmLatestDependencies } from "../../versions/npm.js";
76
import { getNugetPackageLatestVersion } from "../../versions/nuget.js";
87
import type { BaseConfigs } from "../base/index.js";
@@ -21,6 +20,12 @@ export const createCSharpWorkspaceConfigs = async (baseConfig: BaseConfigs): Pro
2120
"Workspace.proj",
2221
] satisfies (keyof CSharpWorkspaceConfigs)[]);
2322

23+
const packageJson = JSON.stringify(
24+
defaultComposer(JSON.parse(baseConfig["package.json"]) as object, JSON.parse(templates["package.json"]) as object, {
25+
dependencies: await getNpmLatestDependencies(["@prettier/plugin-xml", "prettier-plugin-ini"]),
26+
} satisfies PackageJson),
27+
);
28+
2429
const workspaceProj = await (async () => {
2530
const options = { preserveOrder: true, ignoreAttributes: false } satisfies X2jOptions;
2631
const content = new XMLParser(options).parse(templates["Workspace.proj"]) as [
@@ -35,15 +40,7 @@ export const createCSharpWorkspaceConfigs = async (baseConfig: BaseConfigs): Pro
3540
})();
3641
return {
3742
"Directory.Build.props": templates["Directory.Build.props"],
38-
"package.json": stringify(
39-
defaultComposer(
40-
JSON.parse(baseConfig["package.json"]) as object,
41-
JSON.parse(templates["package.json"]) as object,
42-
{
43-
dependencies: await getNpmLatestDependencies(["@prettier/plugin-xml"]),
44-
} satisfies PackageJson,
45-
),
46-
),
43+
"package.json": packageJson,
4744
"Workspace.proj": workspaceProj,
4845
};
4946
};

setup/configs/typescript/devcontainer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import type { CSpellUserSettings } from "cspell-lib";
22
import { spellCheckDocument } from "cspell-lib";
33
import * as jsonc from "jsonc-parser";
44

5-
import { stringify } from "../../formatting.js";
65
import type { BaseConfigs } from "../base/index.js";
76
import { mergeArrayComposer } from "../composer.js";
87
import { loadTemplates } from "../templates.js";
@@ -19,7 +18,7 @@ export const createTypeScriptDevContainerConfigs = async (
1918
devContainerConfigPath,
2019
] satisfies (keyof TypeScriptDevContainerConfigs)[]);
2120

22-
const devContainerConfig = stringify(
21+
const devContainerConfig = JSON.stringify(
2322
mergeArrayComposer(
2423
jsonc.parse(baseConfig[devContainerConfigPath]) as object,
2524
jsonc.parse(templates[devContainerConfigPath]) as object,

setup/configs/typescript/dotConfig.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { defaultComposer } from "default-composer";
22
import type { TsConfigJson } from "type-fest";
33

4-
import { stringify } from "../../formatting.js";
54
import { getNodeLatestLtsVersion } from "../../versions/node.js";
65
import { loadTemplates } from "../templates.js";
76

@@ -20,7 +19,7 @@ export const createTypeScriptDotConfigs = async (): Promise<TypeScriptDotConfigs
2019

2120
const nodeVersion = await getNodeLatestLtsVersion();
2221
return {
23-
".config/typescript/tsconfig.node.json": stringify(
22+
".config/typescript/tsconfig.node.json": JSON.stringify(
2423
defaultComposer(JSON.parse(templates[".config/typescript/tsconfig.node.json"]) as TsConfigJson, {
2524
extends: `@tsconfig/node${nodeVersion}/tsconfig.json`,
2625
}),

0 commit comments

Comments
 (0)