All files / packages/sds-metadata/src/generators release-info.ts

100% Statements 5/5
75% Branches 3/4
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27              1x 1x 1x   1x                         1x    
import { readFileSync } from "fs";
import { SupportedFileFormat } from "../types.js";
import { writeData } from '../services/file-service.js';
import { DESIGN_SYSTEM_2_PACKAGE_PATH, DESIGN_SYSTEM_PACKAGE_PATH, DESIGN_TOKENS_PACKAGE_PATH } from "../constants.js";
 
 
export async function generateReleaseInfo(outputDir: string = process.cwd(), format: SupportedFileFormat = 'json') {
  const designSystemPkg = JSON.parse(readFileSync(DESIGN_SYSTEM_PACKAGE_PATH, "utf-8"));
  const designSystem2Pkg = JSON.parse(readFileSync(DESIGN_SYSTEM_2_PACKAGE_PATH, "utf-8"));
  const designTokensPkg = JSON.parse(readFileSync(DESIGN_TOKENS_PACKAGE_PATH, "utf-8"));
 
  const releaseInfo = {
    slds: {
      id: designSystemPkg.slds.id,
      name: designSystemPkg.slds.name.replace(/’/g, "'"),
      type: designSystemPkg.config.slds.internal ? "Internal" : "External",
    },
    packages: {
      "@salesforce-ux/design-system": designSystemPkg.version,
      "@salesforce-ux/design-system-2": designSystem2Pkg.version,
      "@salesforce-ux/design-tokens": designTokensPkg.version,
    },
  };
 
  await writeData("release-info", releaseInfo, outputDir, format);
}