返回

对 Prettier 使出“盲眼怪”战术,让同事陷入疯狂

前端

前言

Prettier 是一个深受喜爱的代码整理工具,可以确保代码格式一致且易于阅读。然而,它也为办公室恶作剧提供了完美的媒介。想象一下,你的同事每次保存代码时,import 语句的顺序都会随机变化,而他们却无法找出原因。

准备工作

要完成这项恶作剧,你需要:

  • Node.js 和 npm
  • Prettier CLI
  • 一些耐心和恶作剧精神

编写插件

  1. 创建一个新目录并导航到其中:
mkdir random-import-plugin
cd random-import-plugin
  1. 初始化一个新的 npm 包:
npm init -y
  1. 安装 Prettier CLI:
npm install prettier --save-dev
  1. 创建一个插件文件(例如 index.js):
const prettier = require('prettier');

function transform(code) {
  // 获取 import 语句
  const imports = code.match(/import .+ from .+;/gm);

  // 如果没有 import 语句,则返回代码
  if (!imports) {
    return code;
  }

  // 打乱 import 语句的顺序
  imports.sort(() => Math.random() - 0.5);

  // 将打乱的 import 语句放回代码中
  return code.replace(/import .+ from .+;/gm, () => imports.shift());
}

module.exports = {
  parsers: {
    typescript: {
      transform,
    },
    javascript: {
      transform,
    },
  },
};

安装插件

  1. 在同事的 .prettierrc 文件中添加你的插件:
{
  "plugins": ["random-import-plugin"]
}
  1. 将你的插件安装到同事的项目中:
cd ~/your-colleagues-project
npm install ../random-import-plugin --save-dev

见证混乱

现在,你的同事每次保存代码时,import 语句的顺序都会随机变化。他们会挠头抓耳,不知所措,而你只需要坐在一边偷笑。

注意事项

  • 确保在使用前备份同事的 .prettierrc 文件。
  • 如果你的同事正在使用版本控制,请提交你的插件更改并提交合并请求。
  • 为同事准备一些解药,比如恢复他们原始 .prettierrc 文件的副本。