@jakubmazanec/carson 1.2.5 → 1.3.0-next.3517a43a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/build/template/CarsonTemplateError.d.ts +2 -2
  2. package/build/template/CarsonTemplateError.js +2 -1
  3. package/build/template/CarsonTemplateError.js.map +2 -2
  4. package/build/template/applyTemplateRenders.js +7 -7
  5. package/build/template/applyTemplateRenders.js.map +2 -2
  6. package/build/template/internals/TemplateRenderSnapshot.d.ts +3 -16
  7. package/build/template/internals/TemplateRenderSnapshot.js +1 -4
  8. package/build/template/internals/TemplateRenderSnapshot.js.map +2 -2
  9. package/build/template/internals/TemplateRenderSnapshots.d.ts +3 -16
  10. package/build/template/internals/createUsingTemplateRender.d.ts +1 -2
  11. package/build/template/internals/createUsingTemplateRender.js.map +2 -2
  12. package/build/template/internals/deleteUsingTemplateRenderSnapshot.d.ts +5 -0
  13. package/build/template/internals/deleteUsingTemplateRenderSnapshot.js +24 -0
  14. package/build/template/internals/deleteUsingTemplateRenderSnapshot.js.map +7 -0
  15. package/build/template/internals/insertUsingTemplateRender.d.ts +1 -2
  16. package/build/template/internals/insertUsingTemplateRender.js.map +2 -2
  17. package/build/template/internals/loadTemplateRenderSnapshots.d.ts +1 -4
  18. package/build/template/internals/mergeUsingTemplateRender.d.ts +1 -2
  19. package/build/template/internals/mergeUsingTemplateRender.js.map +2 -2
  20. package/build/template/internals/overwriteUsingTemplateRender.d.ts +1 -2
  21. package/build/template/internals/overwriteUsingTemplateRender.js.map +2 -2
  22. package/build/template/internals/saveTemplateRenderSnapshots.js +40 -3
  23. package/build/template/internals/saveTemplateRenderSnapshots.js.map +2 -2
  24. package/build/template/internals/simplify.d.ts +4 -0
  25. package/build/template/internals/simplify.js +20 -0
  26. package/build/template/internals/simplify.js.map +7 -0
  27. package/build/template/internals/uninsertUsingTemplateRenderSnapshot.d.ts +2 -0
  28. package/build/template/internals/{uninsertUsingTemplateRender.js → uninsertUsingTemplateRenderSnapshot.js} +7 -16
  29. package/build/template/internals/uninsertUsingTemplateRenderSnapshot.js.map +7 -0
  30. package/build/template/internals/unmergeUsingTemplateRenderSnapshot.d.ts +2 -0
  31. package/build/template/internals/{unmergeUsingTemplateRender.js → unmergeUsingTemplateRenderSnapshot.js} +9 -15
  32. package/build/template/internals/unmergeUsingTemplateRenderSnapshot.js.map +7 -0
  33. package/build/template/internals.d.ts +4 -3
  34. package/build/template/internals.js +4 -3
  35. package/build/template/internals.js.map +2 -2
  36. package/package.json +29 -29
  37. package/source/template/CarsonTemplateError.ts +1 -0
  38. package/source/template/applyTemplateRenders.ts +7 -7
  39. package/source/template/internals/TemplateRenderSnapshot.ts +1 -6
  40. package/source/template/internals/createUsingTemplateRender.ts +1 -5
  41. package/source/template/internals/{deleteUsingTemplateRender.ts → deleteUsingTemplateRenderSnapshot.ts} +9 -5
  42. package/source/template/internals/insertUsingTemplateRender.ts +1 -5
  43. package/source/template/internals/mergeUsingTemplateRender.ts +1 -5
  44. package/source/template/internals/overwriteUsingTemplateRender.ts +1 -2
  45. package/source/template/internals/saveTemplateRenderSnapshots.ts +49 -3
  46. package/source/template/internals/simplify.ts +30 -0
  47. package/source/template/internals/{uninsertUsingTemplateRender.ts → uninsertUsingTemplateRenderSnapshot.ts} +7 -17
  48. package/source/template/internals/{unmergeUsingTemplateRender.ts → unmergeUsingTemplateRenderSnapshot.ts} +10 -16
  49. package/source/template/internals.ts +4 -3
  50. package/build/template/internals/deleteUsingTemplateRender.d.ts +0 -6
  51. package/build/template/internals/deleteUsingTemplateRender.js +0 -20
  52. package/build/template/internals/deleteUsingTemplateRender.js.map +0 -7
  53. package/build/template/internals/uninsertUsingTemplateRender.d.ts +0 -3
  54. package/build/template/internals/uninsertUsingTemplateRender.js.map +0 -7
  55. package/build/template/internals/unmergeUsingTemplateRender.d.ts +0 -3
  56. package/build/template/internals/unmergeUsingTemplateRender.js.map +0 -7
@@ -1,20 +0,0 @@
1
- "use strict";
2
- import fs from "fs-extra";
3
- import path from "node:path";
4
- import { prettify } from "./prettify.js";
5
- export async function deleteUsingTemplateRender(templateRender, basePath, options) {
6
- let to = path.join(basePath, templateRender.attributes.to);
7
- if (!await fs.pathExists(to)) {
8
- return;
9
- }
10
- if (options?.onlyDeleteWhenContentsMatch) {
11
- let existingContent = await fs.readFile(to, { encoding: "utf8" });
12
- let newContent = await prettify(templateRender.content, to);
13
- if (existingContent.trim() === newContent.trim()) {
14
- await fs.rm(to);
15
- }
16
- return;
17
- }
18
- await fs.rm(to);
19
- }
20
- //# sourceMappingURL=deleteUsingTemplateRender.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../source/template/internals/deleteUsingTemplateRender.ts"],
4
- "sourcesContent": ["import fs from 'fs-extra';\nimport path from 'node:path';\n\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport type DeleteUsingTemplateRenderOptions = {\n onlyDeleteWhenContentsMatch?: boolean;\n};\n\nexport async function deleteUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n basePath: string,\n options?: DeleteUsingTemplateRenderOptions,\n) {\n let to = path.join(basePath, templateRender.attributes.to);\n\n if (!(await fs.pathExists(to))) {\n return;\n }\n\n if (options?.onlyDeleteWhenContentsMatch) {\n let existingContent = await fs.readFile(to, {encoding: 'utf8'});\n let newContent = await prettify(templateRender.content, to);\n\n if (existingContent.trim() === newContent.trim()) {\n await fs.rm(to);\n }\n\n return;\n }\n\n await fs.rm(to);\n}\n"],
5
- "mappings": ";AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AAGjB,SAAQ,gBAAe;AAOvB,sBAAsB,0BACpB,gBACA,UACA,SACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AAEzD,MAAI,CAAE,MAAM,GAAG,WAAW,EAAE,GAAI;AAC9B;AAAA,EACF;AAEA,MAAI,SAAS,6BAA6B;AACxC,QAAI,kBAAkB,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC;AAC9D,QAAI,aAAa,MAAM,SAAS,eAAe,SAAS,EAAE;AAE1D,QAAI,gBAAgB,KAAK,MAAM,WAAW,KAAK,GAAG;AAChD,YAAM,GAAG,GAAG,EAAE;AAAA,IAChB;AAEA;AAAA,EACF;AAEA,QAAM,GAAG,GAAG,EAAE;AAChB;",
6
- "names": []
7
- }
@@ -1,3 +0,0 @@
1
- import { type TemplateRender } from '../TemplateRender.js';
2
- import { type TemplateRenderSnapshot } from './TemplateRenderSnapshot.js';
3
- export declare function uninsertUsingTemplateRender(templateRender: TemplateRender | TemplateRenderSnapshot, basePath: string): Promise<void>;
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../source/template/internals/uninsertUsingTemplateRender.ts"],
4
- "sourcesContent": ["import fs from 'fs-extra';\nimport _ from 'lodash';\nimport path from 'node:path';\n\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport async function uninsertUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n basePath: string,\n) {\n let to = path.join(basePath, templateRender.attributes.to);\n let extension = path.extname(to);\n\n switch (extension) {\n case '.md': {\n if (await fs.pathExists(to)) {\n let targetFile = await fs.readFile(to, {encoding: 'utf8'});\n let newContent = `<!-- ${templateRender.attributes.strategy[1]} --><!-- ${templateRender.attributes.strategy[1]} -->`;\n let oldContentRegexp = new RegExp(\n `<!--\\\\s*${_.escapeRegExp(\n templateRender.attributes.strategy[1],\n )}\\\\s-->[\\\\s\\\\S]*<!--\\\\s*${_.escapeRegExp(templateRender.attributes.strategy[1])}\\\\s-->`,\n 'u',\n );\n let newFile = targetFile.replace(oldContentRegexp, newContent);\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n }\n\n break;\n }\n\n default: {\n throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
5
- "mappings": ";AAAA,OAAO,QAAQ;AACf,OAAO,OAAO;AACd,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,SAAQ,gBAAe;AAGvB,sBAAsB,4BACpB,gBACA,UACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AACzD,MAAI,YAAY,KAAK,QAAQ,EAAE;AAE/B,UAAQ,WAAW;AAAA,IACjB,KAAK,OAAO;AACV,UAAI,MAAM,GAAG,WAAW,EAAE,GAAG;AAC3B,YAAI,aAAa,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC;AACzD,YAAI,aAAa,QAAQ,eAAe,WAAW,SAAS,CAAC,CAAC,YAAY,eAAe,WAAW,SAAS,CAAC,CAAC;AAC/G,YAAI,mBAAmB,IAAI;AAAA,UACzB,WAAW,EAAE;AAAA,YACX,eAAe,WAAW,SAAS,CAAC;AAAA,UACtC,CAAC,0BAA0B,EAAE,aAAa,eAAe,WAAW,SAAS,CAAC,CAAC,CAAC;AAAA,UAChF;AAAA,QACF;AACA,YAAI,UAAU,WAAW,QAAQ,kBAAkB,UAAU;AAE7D,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACxE;AAEA;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
- "names": []
7
- }
@@ -1,3 +0,0 @@
1
- import { type TemplateRender } from '../TemplateRender.js';
2
- import { type TemplateRenderSnapshot } from './TemplateRenderSnapshot.js';
3
- export declare function unmergeUsingTemplateRender(templateRender: TemplateRender | TemplateRenderSnapshot, outputPath: string): Promise<void>;
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../source/template/internals/unmergeUsingTemplateRender.ts"],
4
- "sourcesContent": ["import {type Json} from '@jakubmazanec/zod-utils';\nimport fs from 'fs-extra';\nimport json from 'json5';\nimport path from 'node:path';\nimport yaml from 'yaml';\n\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\nimport {unmerge} from './unmerge.js';\n\nexport async function unmergeUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n outputPath: string,\n) {\n let to = path.join(outputPath, templateRender.attributes.to);\n let extension = path.extname(to);\n\n switch (extension) {\n case '.json': {\n let targetFile = (await fs.readJson(to)) as Json;\n let fileToMerge = json.parse<Json>(templateRender.content);\n let newFile = JSON.stringify(unmerge(targetFile, fileToMerge));\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n\n break;\n }\n\n case '.yaml': {\n let targetFile = yaml.parse(await fs.readFile(to, {encoding: 'utf8'})) as unknown;\n let fileToMerge = yaml.parse(templateRender.content) as unknown;\n let newFile = yaml.stringify(unmerge(targetFile, fileToMerge));\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n\n break;\n }\n\n default: {\n throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
5
- "mappings": ";AACA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,SAAQ,gBAAe;AAEvB,SAAQ,eAAc;AAEtB,sBAAsB,2BACpB,gBACA,YACA;AACA,MAAI,KAAK,KAAK,KAAK,YAAY,eAAe,WAAW,EAAE;AAC3D,MAAI,YAAY,KAAK,QAAQ,EAAE;AAE/B,UAAQ,WAAW;AAAA,IACjB,KAAK,SAAS;AACZ,UAAI,aAAc,MAAM,GAAG,SAAS,EAAE;AACtC,UAAI,cAAc,KAAK,MAAY,eAAe,OAAO;AACzD,UAAI,UAAU,KAAK,UAAU,QAAQ,YAAY,WAAW,CAAC;AAE7D,YAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAEtE;AAAA,IACF;AAAA,IAEA,KAAK,SAAS;AACZ,UAAI,aAAa,KAAK,MAAM,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC,CAAC;AACrE,UAAI,cAAc,KAAK,MAAM,eAAe,OAAO;AACnD,UAAI,UAAU,KAAK,UAAU,QAAQ,YAAY,WAAW,CAAC;AAE7D,YAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAEtE;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
- "names": []
7
- }