기능 플래그로서의 process.env

4288 단어 automationdx
Woovi에서 우리는 항상 프로세스를 최적화하기 위해 노력하고 있습니다. 우리는 DX를 개선하여 모든 소프트웨어 엔지니어의 생산성을 높이고자 합니다. 우리는 모든 것을 더 빠르게 만들고 더 적은 메모리를 소비하며 최고의 사용성을 제공하고자 합니다.

실험은 혁신으로 이어집니다. 그러나 실험은 안정적인 것을 깨뜨릴 수도 있습니다. 소프트웨어 엔지니어 팀의 핵심 프로세스 중단을 방지하기 위해 process.env를 사용하여 켤 수 있는 기능 플래그 뒤에 새로운 DX 개선 사항을 출시합니다.

다음은 개발자가 사용할 jest 변환기를 결정할 수 있도록 하는 Jest 구성의 예입니다. Esbuild 및 SWC는 babel-jest보다 더 빠른 변환기이지만 몇 가지 테스트를 중단합니다.

const jestTransformer = () => {
  if (
    !process.env?.JEST_TRANSFORMER ||
    process.env.JEST_TRANSFORMER === 'babel-jest'
  ) {
    return {
      '^.+\\.(js|ts|tsx)?$': 'babel-jest',
    };
  }

  if (process.env.JEST_TRANSFORMER === 'esbuild-jest') {
    return {
      '^.+\\.(js|ts|tsx)?$': 'esbuild-jest',
    };
  }

  if (process.env.JEST_TRANSFORMER === 'swc-jest') {
    return {
      '^.+\\.(js|ts|tsx)?$': [
        '@swc/jest',
        {
          sourceMaps: true,
          jsc: {
            parser: {
              syntax: 'typescript',
              tsx: true,
            },
          },
        },
      ],
    };
  }
};


코드베이스에서 어떤 실험 및 DX 개선을 수행하고 있습니까?


DX에 관심이 있고 우리와 함께 일하고 싶다면 hiring!

좋은 웹페이지 즐겨찾기