@bemedev/cli-test
Version:
A library for testing CLI libraries (INCEPTION !!)
1 lines • 3.02 kB
Source Map (JSON)
{"version":3,"file":"constants.cjs","sources":["../src/constants.ts"],"sourcesContent":["// export const LIBRARY = '@bemedev/cli-test';\n\nexport const SETUP_FILE = '.cli-test.vitest.setup.generated.ts';\n\nexport const INITIALIZATION_SUCCESS = 'Initialization is successful!';\nexport const INITIALIZATION_FAILED = 'Initialization failed!';\n\nexport const REMOVING_SUCCESS = 'Removing is successful!';\nexport const REMOVING_FAILED = 'Removing failed!';\n\nexport const SETUP = `\nimport { type ConfigDefs } from '@bemedev/cli-test';\nimport { buildPartialMock } from '@bemedev/cli-test/lib/helpers/partialMock';\nimport { checkHaveCli } from '@bemedev/cli-test/lib/helpers/path';\nimport { anify } from '@bemedev/cli-test/lib/helpers/utils';\nimport * as fs from 'fs';\nimport * as fs_promises from 'fs/promises';\nimport { beforeAll, vi } from 'vitest';\n\ntype FSPromises = typeof fs_promises;\ntype FS = typeof fs;\n\n// #region BeforeAll\nbeforeAll(async ({ filepath }) => {\n const isCli = checkHaveCli(filepath);\n if (isCli) {\n vi.mock('fs/promises', original =>\n buildPartialMock<FSPromises>(\n original,\n 'writeFile',\n 'readFile',\n 'mkdir',\n 'rm',\n 'readdir',\n ),\n );\n\n vi.mock('fs', original =>\n buildPartialMock<FS>(original, 'existsSync'),\n );\n }\n});\n// #endregion\n\n// #region buildMockFs\nglobalThis.buildMockFs = vi\n .fn()\n .mockImplementation(\n (\n { exists, makeDir, removeDir, ls, readFile, writeFile }: ConfigDefs,\n ...envs\n ) => {\n console.log('Implement buildMocks');\n\n const _envs = new Set(envs);\n _envs.forEach(env => {\n switch (env) {\n case 'writeFile':\n vi.mocked(fs_promises.writeFile).mockImplementation(\n anify(writeFile),\n );\n break;\n case 'readFile':\n vi.mocked(fs_promises.readFile).mockImplementation(\n anify(readFile),\n );\n break;\n case 'mkdir':\n vi.mocked(fs_promises.mkdir).mockImplementation(\n anify(makeDir),\n );\n break;\n case 'rm':\n vi.mocked(fs_promises.rm).mockImplementation(anify(removeDir));\n break;\n case 'readdir':\n vi.mocked(fs_promises.readdir).mockImplementation(anify(ls));\n break;\n case 'existsSync':\n vi.mocked(fs.existsSync).mockImplementation(anify(exists));\n break;\n default:\n break;\n }\n });\n },\n );\n// #endregion\n`;\n\nexport const CLI_TEST_EXTENSION = '.cli.test.ts';\n"],"names":[],"mappings":";;AAAA;AAEO,MAAM,UAAU,GAAG,sCAAsC;AAEzD,MAAM,sBAAsB,GAAG,gCAAgC;AAC/D,MAAM,qBAAqB,GAAG,yBAAyB;AAEvD,MAAM,gBAAgB,GAAG,0BAA0B;AACnD,MAAM,eAAe,GAAG,mBAAmB;AAErC,MAAA,KAAK,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EnB;AAEK,MAAM,kBAAkB,GAAG;;;;;;;;;;"}