Closed1

フルTypeScriptでノーコードアプリを作っている話(#2 Eslint)

かげかげ

2-1. strict-dependencies の繰り返し処理

この場合、src/pages配下の資産は、その内部でのみ参照可能として、
indexのみをsrc/app配下で参照可能とすることを考える。

やった感出しているが、本業でちょうどやったところなので、その復習

const fs = require("fs");
const path = require("path");

const pagesDirs = fs.readdirSync(
  path.resolve(__dirname, "../../apps/web/src/pages"),
);

const config = {
  plugins: [
    "strict-dependencies",
  ],
  rules: {
    "strict-dependencies/strict-dependencies": [
      "error",
      [
        ...pagesDirs.map((name) => ({
          module: `src/pages/${name}`,
          allowReferenceFrom: [`src/app/**/page.tsx`],
          allowSameModule: true,
        })),
        ...pagesDirs.map((name) => ({
          module: `src/pages/${name}/**`,
          allowReferenceFrom: [`src/pages/${name}/**`],
          allowSameModule: true,
        })),
        ...pagesDirs.map((name) => ({
          module: `src/pages/${name}/server`,
          allowReferenceFrom: [`src/pages/${name}/components/*Server.tsx`],
          allowSameModule: true,
        })),
      ],
    ],
  },
};

module.exports = config;

このスクラップは3ヶ月前にクローズされました