@shun-shobon/style-guide 0.4.2 → 1.0.1

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.
@@ -1,6 +1,8 @@
1
1
  // src/prettier/utils.ts
2
- import { createRequire } from "module";
3
- var require2 = createRequire(import.meta.url);
2
+ import * as url from "url";
3
+ function resolve(pkg) {
4
+ return url.fileURLToPath(import.meta.resolve(pkg));
5
+ }
4
6
  function mergeConfig(...configs) {
5
7
  return configs.reduce((acc, config) => {
6
8
  return {
@@ -15,7 +17,7 @@ function mergeConfig(...configs) {
15
17
  // src/prettier/configs/astro.ts
16
18
  function astro() {
17
19
  return {
18
- plugins: [require2.resolve("prettier-plugin-astro")],
20
+ plugins: [resolve("prettier-plugin-astro")],
19
21
  overrides: [
20
22
  {
21
23
  files: ["*.astro"],
@@ -69,7 +71,7 @@ function ignores(options = {}) {
69
71
  // src/prettier/configs/jsdoc.ts
70
72
  function jsdoc() {
71
73
  return {
72
- plugins: [require2.resolve("prettier-plugin-jsdoc")],
74
+ plugins: [resolve("prettier-plugin-jsdoc")],
73
75
  tsdoc: true,
74
76
  jsdocPreferCodeFences: true,
75
77
  jsdocCommentLineStrategy: "multiline"
@@ -79,14 +81,14 @@ function jsdoc() {
79
81
  // src/prettier/configs/package-json.ts
80
82
  function packageJson() {
81
83
  return {
82
- plugins: [require2.resolve("prettier-plugin-pkg")]
84
+ plugins: [resolve("prettier-plugin-pkg")]
83
85
  };
84
86
  }
85
87
 
86
88
  // src/prettier/configs/tailwindcss.ts
87
89
  function tailwindcss() {
88
90
  return {
89
- plugins: [require2.resolve("prettier-plugin-tailwindcss")],
91
+ plugins: [resolve("prettier-plugin-tailwindcss")],
90
92
  tailwindFunctions: ["twMerge", "clsx"]
91
93
  };
92
94
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/prettier/utils.ts","../../src/prettier/configs/astro.ts","../../src/prettier/configs/base.ts","../../src/prettier/configs/ignores.ts","../../src/prettier/configs/jsdoc.ts","../../src/prettier/configs/package-json.ts","../../src/prettier/configs/tailwindcss.ts","../../src/prettier/factory.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\n\nimport type { Config } from \"./types\";\n\nexport const require = createRequire(import.meta.url);\n\nexport function mergeConfig(...configs: Config[]): Config {\n\treturn configs.reduce<Config>((acc, config) => {\n\t\treturn {\n\t\t\t...acc,\n\t\t\t...config,\n\t\t\toverrides: [...(acc.overrides ?? []), ...(config.overrides ?? [])],\n\t\t\tplugins: [...(acc.plugins ?? []), ...(config.plugins ?? [])],\n\t\t};\n\t}, {});\n}\n","import type { Config } from \"../types\";\nimport { require } from \"../utils\";\n\nexport function astro(): Config {\n\treturn {\n\t\tplugins: [require.resolve(\"prettier-plugin-astro\")],\n\n\t\toverrides: [\n\t\t\t{\n\t\t\t\tfiles: [\"*.astro\"],\n\t\t\t\toptions: {\n\t\t\t\t\tparser: \"astro\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n}\n","import type { Config } from \"../types\";\n\nexport function base(): Config {\n\treturn {\n\t\tuseTabs: true,\n\t\tquoteProps: \"consistent\",\n\n\t\t// This is the default, but VSCode's Prettier plugin doesn't respect it.\n\t\ttrailingComma: \"all\",\n\n\t\toverrides: [\n\t\t\t{\n\t\t\t\tfiles: [\"tsconfig.json\", \"jsconfig.json\"],\n\t\t\t\toptions: {\n\t\t\t\t\tparser: \"jsonc\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n}\n","import type { Config, OptionsIgnores } from \"../types\";\n\nconst DEFAULT_IGNORES = [\n\t\"**/package-lock.json\",\n\t\"**/pnpm-lock.yaml\",\n\t\"**/.yarn/**\",\n];\n\nexport function ignores(options: OptionsIgnores = {}): Config {\n\tconst { ignoreFiles = [] } = options;\n\n\treturn {\n\t\toverrides: [\n\t\t\t// https://github.com/prettier/prettier/issues/4708#issuecomment-1448705672\n\t\t\t{\n\t\t\t\tfiles: [...DEFAULT_IGNORES, ...ignoreFiles],\n\t\t\t\toptions: {\n\t\t\t\t\trequirePragma: true,\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n}\n","import type { Config } from \"../types\";\nimport { require } from \"../utils\";\n\nexport function jsdoc(): Config {\n\treturn {\n\t\tplugins: [require.resolve(\"prettier-plugin-jsdoc\")],\n\n\t\ttsdoc: true,\n\t\tjsdocPreferCodeFences: true,\n\t\tjsdocCommentLineStrategy: \"multiline\",\n\t};\n}\n","import type { Config } from \"../types\";\nimport { require } from \"../utils\";\n\nexport function packageJson(): Config {\n\treturn {\n\t\tplugins: [require.resolve(\"prettier-plugin-pkg\")],\n\t};\n}\n","import type { Config } from \"../types\";\nimport { require } from \"../utils\";\n\nexport function tailwindcss(): Config {\n\treturn {\n\t\tplugins: [require.resolve(\"prettier-plugin-tailwindcss\")],\n\n\t\ttailwindFunctions: [\"twMerge\", \"clsx\"],\n\t};\n}\n","import { isPackageExists } from \"local-pkg\";\n\nimport {\n\tastro,\n\tbase,\n\tignores,\n\tjsdoc,\n\tpackageJson,\n\ttailwindcss,\n} from \"./configs\";\nimport type { Config, OptionsConfig } from \"./types\";\nimport { mergeConfig } from \"./utils\";\n\nexport function shun_shobon(\n\toptions: OptionsConfig = {},\n\tuserConfig: Config = {},\n): Config {\n\tconst {\n\t\ttailwindcss: enableTailwindcss = isPackageExists(\"tailwindcss\"),\n\t\tastro: enableAstro = isPackageExists(\"astro\"),\n\t\tignoreFiles = [],\n\t} = options;\n\n\tconst configs: Config[] = [];\n\n\t// basic configs\n\tconfigs.push(base(), packageJson(), jsdoc(), ignores({ ignoreFiles }));\n\n\tif (enableAstro) {\n\t\tconfigs.push(astro());\n\t}\n\n\t// パーサの都合上、Taliwind CSSは一番最後に追加する\n\tif (enableTailwindcss) {\n\t\tconfigs.push(tailwindcss());\n\t}\n\n\treturn mergeConfig(...configs, userConfig);\n}\n"],"mappings":";AAAA,SAAS,qBAAqB;AAIvB,IAAMA,WAAU,cAAc,YAAY,GAAG;AAE7C,SAAS,eAAe,SAA2B;AACzD,SAAO,QAAQ,OAAe,CAAC,KAAK,WAAW;AAC9C,WAAO;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,WAAW,CAAC,GAAI,IAAI,aAAa,CAAC,GAAI,GAAI,OAAO,aAAa,CAAC,CAAE;AAAA,MACjE,SAAS,CAAC,GAAI,IAAI,WAAW,CAAC,GAAI,GAAI,OAAO,WAAW,CAAC,CAAE;AAAA,IAC5D;AAAA,EACD,GAAG,CAAC,CAAC;AACN;;;ACZO,SAAS,QAAgB;AAC/B,SAAO;AAAA,IACN,SAAS,CAACC,SAAQ,QAAQ,uBAAuB,CAAC;AAAA,IAElD,WAAW;AAAA,MACV;AAAA,QACC,OAAO,CAAC,SAAS;AAAA,QACjB,SAAS;AAAA,UACR,QAAQ;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;;;ACdO,SAAS,OAAe;AAC9B,SAAO;AAAA,IACN,SAAS;AAAA,IACT,YAAY;AAAA;AAAA,IAGZ,eAAe;AAAA,IAEf,WAAW;AAAA,MACV;AAAA,QACC,OAAO,CAAC,iBAAiB,eAAe;AAAA,QACxC,SAAS;AAAA,UACR,QAAQ;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;;;ACjBA,IAAM,kBAAkB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AACD;AAEO,SAAS,QAAQ,UAA0B,CAAC,GAAW;AAC7D,QAAM,EAAE,cAAc,CAAC,EAAE,IAAI;AAE7B,SAAO;AAAA,IACN,WAAW;AAAA;AAAA,MAEV;AAAA,QACC,OAAO,CAAC,GAAG,iBAAiB,GAAG,WAAW;AAAA,QAC1C,SAAS;AAAA,UACR,eAAe;AAAA,QAChB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;;;ACnBO,SAAS,QAAgB;AAC/B,SAAO;AAAA,IACN,SAAS,CAACC,SAAQ,QAAQ,uBAAuB,CAAC;AAAA,IAElD,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,0BAA0B;AAAA,EAC3B;AACD;;;ACRO,SAAS,cAAsB;AACrC,SAAO;AAAA,IACN,SAAS,CAACC,SAAQ,QAAQ,qBAAqB,CAAC;AAAA,EACjD;AACD;;;ACJO,SAAS,cAAsB;AACrC,SAAO;AAAA,IACN,SAAS,CAACC,SAAQ,QAAQ,6BAA6B,CAAC;AAAA,IAExD,mBAAmB,CAAC,WAAW,MAAM;AAAA,EACtC;AACD;;;ACTA,SAAS,uBAAuB;AAazB,SAAS,YACf,UAAyB,CAAC,GAC1B,aAAqB,CAAC,GACb;AACT,QAAM;AAAA,IACL,aAAa,oBAAoB,gBAAgB,aAAa;AAAA,IAC9D,OAAO,cAAc,gBAAgB,OAAO;AAAA,IAC5C,cAAc,CAAC;AAAA,EAChB,IAAI;AAEJ,QAAM,UAAoB,CAAC;AAG3B,UAAQ,KAAK,KAAK,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,EAAE,YAAY,CAAC,CAAC;AAErE,MAAI,aAAa;AAChB,YAAQ,KAAK,MAAM,CAAC;AAAA,EACrB;AAGA,MAAI,mBAAmB;AACtB,YAAQ,KAAK,YAAY,CAAC;AAAA,EAC3B;AAEA,SAAO,YAAY,GAAG,SAAS,UAAU;AAC1C;","names":["require","require","require","require","require"]}
1
+ {"version":3,"sources":["../../src/prettier/utils.ts","../../src/prettier/configs/astro.ts","../../src/prettier/configs/base.ts","../../src/prettier/configs/ignores.ts","../../src/prettier/configs/jsdoc.ts","../../src/prettier/configs/package-json.ts","../../src/prettier/configs/tailwindcss.ts","../../src/prettier/factory.ts"],"sourcesContent":["import * as url from \"node:url\";\n\nimport type { Config } from \"./types\";\n\nexport function resolve(pkg: string): string {\n\treturn url.fileURLToPath(import.meta.resolve(pkg));\n}\n\nexport function mergeConfig(...configs: Config[]): Config {\n\treturn configs.reduce<Config>((acc, config) => {\n\t\treturn {\n\t\t\t...acc,\n\t\t\t...config,\n\t\t\toverrides: [...(acc.overrides ?? []), ...(config.overrides ?? [])],\n\t\t\tplugins: [...(acc.plugins ?? []), ...(config.plugins ?? [])],\n\t\t};\n\t}, {});\n}\n","import type { Config } from \"../types\";\nimport { resolve } from \"../utils\";\n\nexport function astro(): Config {\n\treturn {\n\t\tplugins: [resolve(\"prettier-plugin-astro\")],\n\n\t\toverrides: [\n\t\t\t{\n\t\t\t\tfiles: [\"*.astro\"],\n\t\t\t\toptions: {\n\t\t\t\t\tparser: \"astro\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n}\n","import type { Config } from \"../types\";\n\nexport function base(): Config {\n\treturn {\n\t\tuseTabs: true,\n\t\tquoteProps: \"consistent\",\n\n\t\t// This is the default, but VSCode's Prettier plugin doesn't respect it.\n\t\ttrailingComma: \"all\",\n\n\t\toverrides: [\n\t\t\t{\n\t\t\t\tfiles: [\"tsconfig.json\", \"jsconfig.json\"],\n\t\t\t\toptions: {\n\t\t\t\t\tparser: \"jsonc\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n}\n","import type { Config, OptionsIgnores } from \"../types\";\n\nconst DEFAULT_IGNORES = [\n\t\"**/package-lock.json\",\n\t\"**/pnpm-lock.yaml\",\n\t\"**/.yarn/**\",\n];\n\nexport function ignores(options: OptionsIgnores = {}): Config {\n\tconst { ignoreFiles = [] } = options;\n\n\treturn {\n\t\toverrides: [\n\t\t\t// https://github.com/prettier/prettier/issues/4708#issuecomment-1448705672\n\t\t\t{\n\t\t\t\tfiles: [...DEFAULT_IGNORES, ...ignoreFiles],\n\t\t\t\toptions: {\n\t\t\t\t\trequirePragma: true,\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n}\n","import type { Config } from \"../types\";\nimport { resolve } from \"../utils\";\n\nexport function jsdoc(): Config {\n\treturn {\n\t\tplugins: [resolve(\"prettier-plugin-jsdoc\")],\n\n\t\ttsdoc: true,\n\t\tjsdocPreferCodeFences: true,\n\t\tjsdocCommentLineStrategy: \"multiline\",\n\t};\n}\n","import type { Config } from \"../types\";\nimport { resolve } from \"../utils\";\n\nexport function packageJson(): Config {\n\treturn {\n\t\tplugins: [resolve(\"prettier-plugin-pkg\")],\n\t};\n}\n","import type { Config } from \"../types\";\nimport { resolve } from \"../utils\";\n\nexport function tailwindcss(): Config {\n\treturn {\n\t\tplugins: [resolve(\"prettier-plugin-tailwindcss\")],\n\n\t\ttailwindFunctions: [\"twMerge\", \"clsx\"],\n\t};\n}\n","import { isPackageExists } from \"local-pkg\";\n\nimport {\n\tastro,\n\tbase,\n\tignores,\n\tjsdoc,\n\tpackageJson,\n\ttailwindcss,\n} from \"./configs\";\nimport type { Config, OptionsConfig } from \"./types\";\nimport { mergeConfig } from \"./utils\";\n\nexport function shun_shobon(\n\toptions: OptionsConfig = {},\n\tuserConfig: Config = {},\n): Config {\n\tconst {\n\t\ttailwindcss: enableTailwindcss = isPackageExists(\"tailwindcss\"),\n\t\tastro: enableAstro = isPackageExists(\"astro\"),\n\t\tignoreFiles = [],\n\t} = options;\n\n\tconst configs: Config[] = [];\n\n\t// basic configs\n\tconfigs.push(base(), packageJson(), jsdoc(), ignores({ ignoreFiles }));\n\n\tif (enableAstro) {\n\t\tconfigs.push(astro());\n\t}\n\n\t// パーサの都合上、Taliwind CSSは一番最後に追加する\n\tif (enableTailwindcss) {\n\t\tconfigs.push(tailwindcss());\n\t}\n\n\treturn mergeConfig(...configs, userConfig);\n}\n"],"mappings":";AAAA,YAAY,SAAS;AAId,SAAS,QAAQ,KAAqB;AAC5C,SAAW,kBAAc,YAAY,QAAQ,GAAG,CAAC;AAClD;AAEO,SAAS,eAAe,SAA2B;AACzD,SAAO,QAAQ,OAAe,CAAC,KAAK,WAAW;AAC9C,WAAO;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,WAAW,CAAC,GAAI,IAAI,aAAa,CAAC,GAAI,GAAI,OAAO,aAAa,CAAC,CAAE;AAAA,MACjE,SAAS,CAAC,GAAI,IAAI,WAAW,CAAC,GAAI,GAAI,OAAO,WAAW,CAAC,CAAE;AAAA,IAC5D;AAAA,EACD,GAAG,CAAC,CAAC;AACN;;;ACdO,SAAS,QAAgB;AAC/B,SAAO;AAAA,IACN,SAAS,CAAC,QAAQ,uBAAuB,CAAC;AAAA,IAE1C,WAAW;AAAA,MACV;AAAA,QACC,OAAO,CAAC,SAAS;AAAA,QACjB,SAAS;AAAA,UACR,QAAQ;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;;;ACdO,SAAS,OAAe;AAC9B,SAAO;AAAA,IACN,SAAS;AAAA,IACT,YAAY;AAAA;AAAA,IAGZ,eAAe;AAAA,IAEf,WAAW;AAAA,MACV;AAAA,QACC,OAAO,CAAC,iBAAiB,eAAe;AAAA,QACxC,SAAS;AAAA,UACR,QAAQ;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;;;ACjBA,IAAM,kBAAkB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AACD;AAEO,SAAS,QAAQ,UAA0B,CAAC,GAAW;AAC7D,QAAM,EAAE,cAAc,CAAC,EAAE,IAAI;AAE7B,SAAO;AAAA,IACN,WAAW;AAAA;AAAA,MAEV;AAAA,QACC,OAAO,CAAC,GAAG,iBAAiB,GAAG,WAAW;AAAA,QAC1C,SAAS;AAAA,UACR,eAAe;AAAA,QAChB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;;;ACnBO,SAAS,QAAgB;AAC/B,SAAO;AAAA,IACN,SAAS,CAAC,QAAQ,uBAAuB,CAAC;AAAA,IAE1C,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,0BAA0B;AAAA,EAC3B;AACD;;;ACRO,SAAS,cAAsB;AACrC,SAAO;AAAA,IACN,SAAS,CAAC,QAAQ,qBAAqB,CAAC;AAAA,EACzC;AACD;;;ACJO,SAAS,cAAsB;AACrC,SAAO;AAAA,IACN,SAAS,CAAC,QAAQ,6BAA6B,CAAC;AAAA,IAEhD,mBAAmB,CAAC,WAAW,MAAM;AAAA,EACtC;AACD;;;ACTA,SAAS,uBAAuB;AAazB,SAAS,YACf,UAAyB,CAAC,GAC1B,aAAqB,CAAC,GACb;AACT,QAAM;AAAA,IACL,aAAa,oBAAoB,gBAAgB,aAAa;AAAA,IAC9D,OAAO,cAAc,gBAAgB,OAAO;AAAA,IAC5C,cAAc,CAAC;AAAA,EAChB,IAAI;AAEJ,QAAM,UAAoB,CAAC;AAG3B,UAAQ,KAAK,KAAK,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,EAAE,YAAY,CAAC,CAAC;AAErE,MAAI,aAAa;AAChB,YAAQ,KAAK,MAAM,CAAC;AAAA,EACrB;AAGA,MAAI,mBAAmB;AACtB,YAAQ,KAAK,YAAY,CAAC;AAAA,EAC3B;AAEA,SAAO,YAAY,GAAG,SAAS,UAAU;AAC1C;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shun-shobon/style-guide",
3
- "version": "0.4.2",
3
+ "version": "1.0.1",
4
4
  "type": "module",
5
5
  "description": "shun-shobon's engineering style guide",
6
6
  "repository": {
@@ -12,12 +12,10 @@
12
12
  "license": "MIT",
13
13
  "exports": {
14
14
  "./eslint": {
15
- "import": "./dist/eslint/index.js",
16
- "require": "./dist/eslint/index.cjs"
15
+ "import": "./dist/eslint/index.js"
17
16
  },
18
17
  "./prettier": {
19
- "import": "./dist/prettier/index.js",
20
- "require": "./dist/prettier/index.cjs"
18
+ "import": "./dist/prettier/index.js"
21
19
  }
22
20
  },
23
21
  "files": [
@@ -38,36 +36,36 @@
38
36
  }
39
37
  },
40
38
  "dependencies": {
41
- "@eslint/js": "9.28.0",
42
- "@next/eslint-plugin-next": "15.3.3",
43
- "@typescript-eslint/parser": "8.33.1",
39
+ "@eslint/js": "9.29.0",
40
+ "@next/eslint-plugin-next": "15.3.4",
41
+ "@typescript-eslint/parser": "8.34.1",
44
42
  "astro-eslint-parser": "1.2.2",
45
43
  "eslint-config-flat-gitignore": "2.1.0",
46
44
  "eslint-define-config": "2.1.0",
47
- "eslint-import-resolver-typescript": "4.4.2",
45
+ "eslint-import-resolver-typescript": "4.4.3",
48
46
  "eslint-plugin-astro": "1.3.1",
49
- "eslint-plugin-import-x": "4.15.0",
47
+ "eslint-plugin-import-x": "4.15.2",
50
48
  "eslint-plugin-jsx-a11y": "6.10.2",
51
- "eslint-plugin-n": "17.19.0",
49
+ "eslint-plugin-n": "17.20.0",
52
50
  "eslint-plugin-qwik": "1.14.1",
53
51
  "eslint-plugin-react": "7.37.5",
54
52
  "eslint-plugin-react-hooks": "5.2.0",
55
- "eslint-plugin-regexp": "2.8.0",
53
+ "eslint-plugin-regexp": "2.9.0",
56
54
  "eslint-plugin-simple-import-sort": "12.1.1",
57
- "eslint-plugin-storybook": "9.0.6",
55
+ "eslint-plugin-storybook": "9.0.12",
58
56
  "eslint-plugin-unicorn": "59.0.1",
59
57
  "globals": "16.2.0",
60
58
  "local-pkg": "1.1.1",
61
59
  "prettier-plugin-astro": "0.14.1",
62
60
  "prettier-plugin-jsdoc": "1.3.2",
63
- "prettier-plugin-pkg": "0.20.0",
61
+ "prettier-plugin-pkg": "0.21.1",
64
62
  "prettier-plugin-tailwindcss": "0.6.12",
65
- "typescript-eslint": "8.33.1"
63
+ "typescript-eslint": "8.34.1"
66
64
  },
67
65
  "devDependencies": {
68
66
  "@changesets/cli": "2.29.4",
69
- "@types/node": "22.15.29",
70
- "eslint": "9.28.0",
67
+ "@types/node": "22.15.32",
68
+ "eslint": "9.29.0",
71
69
  "prettier": "3.5.3",
72
70
  "tsup": "8.5.0",
73
71
  "typescript": "5.8.3"