@atls/code-schematics 2.0.30 → 2.1.0

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.
@@ -1,2 +1 @@
1
- export * from './code-runtime-command.js';
2
1
  export * from './schematic-workflow.js';
@@ -1,2 +1 @@
1
- export * from "./code-runtime-command.js";
2
1
  export * from "./schematic-workflow.js";
@@ -1 +1,2 @@
1
1
  export * from './schematic-factory-export.js';
2
+ export * from './raijin-schematic-export.js';
@@ -1 +1,2 @@
1
1
  export * from "./schematic-factory-export.js";
2
+ export * from "./raijin-schematic-export.js";
@@ -0,0 +1,43 @@
1
+ export declare const assetsStructure: {
2
+ 'collection.json': string;
3
+ project: {
4
+ 'schema.json': string;
5
+ };
6
+ templates: {
7
+ common: {
8
+ __dot__config: {
9
+ husky: {
10
+ __dot__gitignore: string;
11
+ 'commit-msg': string;
12
+ 'pre-commit': string;
13
+ 'prepare-commit-msg': string;
14
+ };
15
+ };
16
+ '__dot__eslintrc.js': string;
17
+ __dot__github: {
18
+ workflows: {
19
+ checks__dot__yaml: string;
20
+ };
21
+ };
22
+ __dot__gitignore: string;
23
+ '__dot__prettierrc.mjs': string;
24
+ };
25
+ libraries: {
26
+ __dot__github: {
27
+ workflows: {
28
+ publish__dot__yaml: string;
29
+ version__dot__yaml: string;
30
+ };
31
+ };
32
+ };
33
+ project: {
34
+ __dot__github: {
35
+ workflows: {
36
+ preview__dot__yaml: string;
37
+ release__dot__yaml: string;
38
+ };
39
+ };
40
+ };
41
+ };
42
+ };
43
+ export declare function writeFiles(baseDir: string): Promise<void>;
@@ -0,0 +1,59 @@
1
+ export const assetsStructure = {
2
+ 'collection.json': 'ewogICJuYW1lIjogIkBhdGxzL3NjaGVtYXRpY3MiLAogICJ2ZXJzaW9uIjogIjAuMSIsCiAgInNjaGVtYXRpY3MiOiB7CiAgICAicHJvamVjdCI6IHsKICAgICAgImZhY3RvcnkiOiAiLi9wcm9qZWN0L3Byb2plY3QuZmFjdG9yeS5janMjbWFpbiIsCiAgICAgICJzY2hlbWEiOiAiLi9wcm9qZWN0L3NjaGVtYS5qc29uIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlByb2plY3Qgc2NoZW1hdGljIgogICAgfQogIH0KfQo=',
3
+ 'project': {
4
+ 'schema.json': 'ewogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvc2NoZW1hIiwKICAiJGlkIjogIkF0bGFudGlzU2NoZW1hdGljc1Byb2plY3ROZXciLAogICJ0aXRsZSI6ICJDcmVhdGUgYW4gZW1wdHkgcHJvamVjdCIsCiAgInR5cGUiOiAib2JqZWN0IiwKICAicHJvcGVydGllcyI6IHsKICAgICJuYW1lIjogewogICAgICAiZGVzY3JpcHRpb24iOiAiVGhlIG5hbWUgb2YgdGhlIHByb2plY3QuIiwKICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgIiRkZWZhdWx0IjogewogICAgICAgICIkc291cmNlIjogImFyZ3YiLAogICAgICAgICJpbmRleCI6IDAKICAgICAgfSwKICAgICAgIngtcHJvbXB0IjogIldoYXQgbmFtZSB3b3VsZCB5b3UgbGlrZSB0byB1c2UgZm9yIHRoZSBwcm9qZWN0PyIKICAgIH0KICB9Cn0K',
5
+ },
6
+ 'templates': {
7
+ 'common': {
8
+ '__dot__config': {
9
+ 'husky': {
10
+ '__dot__gitignore': 'Xwo=',
11
+ 'commit-msg': 'IyEvYmluL3NoCi4gIiQoZGlybmFtZSAiJDAiKS9fL2h1c2t5LnNoIgoKeWFybiBjb21taXQgbWVzc2FnZSBsaW50Cg==',
12
+ 'pre-commit': 'eWFybiBjb21taXQgc3RhZ2VkCg==',
13
+ 'prepare-commit-msg': 'IyEvYmluL3NoCi4gIiQoZGlybmFtZSAiJDAiKS9fL2h1c2t5LnNoIgoKeWFybiBjb21taXQgbWVzc2FnZSAkQAo=',
14
+ },
15
+ },
16
+ '__dot__eslintrc.js': 'Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHMKcmVxdWlyZSgnQHJ1c2hzdGFjay9lc2xpbnQtcGF0Y2gvbW9kZXJuLW1vZHVsZS1yZXNvbHV0aW9uJykKCm1vZHVsZS5leHBvcnRzID0gewogIGV4dGVuZHM6IFsnQGF0bHMvY29uZmlnLWVzbGludCddLAogIHBhcnNlck9wdGlvbnM6IHsKICAgIHByb2plY3Q6ICcuL3RzY29uZmlnLmpzb24nLAogIH0sCiAgaWdub3JlUGF0dGVybnM6IFsnLmVzbGludHJjLmpzJywgJ3lhcm4uanMnLCAneWFybi1yZW1vdGUuY2pzJ10sCn0K',
17
+ '__dot__github': {
18
+ 'workflows': {
19
+ 'checks__dot__yaml': 'bmFtZTogQ2hlY2tzCgpvbjogW3B1bGxfcmVxdWVzdF0KCmpvYnM6CiAgcnVuOgogICAgbmFtZTogUnVuCiAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0CiAgICBzdGVwczoKICAgICAgLSBuYW1lOiBDaGVja291dAogICAgICAgIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAdjQKCiAgICAgIC0gbmFtZTogU2V0dXAgTm9kZQogICAgICAgIHVzZXM6IGFjdGlvbnMvc2V0dXAtbm9kZUB2NAogICAgICAgIHdpdGg6CiAgICAgICAgICBub2RlLXZlcnNpb246ICcxOC4xOScKCiAgICAgIC0gbmFtZTogSW5zdGFsbAogICAgICAgIHJ1bjogeWFybiBpbnN0YWxsCgogICAgICAtIG5hbWU6IExpbnQKICAgICAgICBydW46IHlhcm4gY2hlY2tzIGxpbnQKICAgICAgICBlbnY6CiAgICAgICAgICBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nCgogICAgICAtIG5hbWU6IFR5cGVDaGVjawogICAgICAgIHJ1bjogeWFybiBjaGVja3MgdHlwZWNoZWNrCiAgICAgICAgZW52OgogICAgICAgICAgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JwoKICAgICAgLSBuYW1lOiBUZXN0VW5pdAogICAgICAgIHJ1bjogeWFybiBjaGVja3MgdGVzdCB1bml0CiAgICAgICAgZW52OgogICAgICAgICAgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JwoKICAgICAgLSBuYW1lOiBUZXN0SW50ZWdyYXRpb24KICAgICAgICBydW46IHlhcm4gY2hlY2tzIHRlc3QgaW50ZWdyYXRpb24KICAgICAgICBlbnY6CiAgICAgICAgICBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nCgogICAgICAtIG5hbWU6IFJlbGVhc2UKICAgICAgICBydW46IHlhcm4gY2hlY2tzIHJlbGVhc2UKICAgICAgICBlbnY6CiAgICAgICAgICBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nCg==',
20
+ },
21
+ },
22
+ '__dot__gitignore': 'IyBMb2dzCmxvZ3MKKi5sb2cKbnBtLWRlYnVnLmxvZyoKeWFybi1lcnJvci5sb2cKCiMgUnVudGltZSBkYXRhCnBpZHMKKi5waWQKKi5zZWVkCgojIERpcmVjdG9yeSBmb3IgaW5zdHJ1bWVudGVkIGxpYnMgZ2VuZXJhdGVkIGJ5IGpzY292ZXJhZ2UvSlNDb3ZlcgpsaWItY292CgojIENvdmVyYWdlIGRpcmVjdG9yeSB1c2VkIGJ5IHRvb2xzIGxpa2UgaXN0YW5idWwKY292ZXJhZ2UKCiMgbm9kZS13YWYgY29uZmlndXJhdGlvbgoubG9jay13c2NyaXB0CgojIENvbXBpbGVkIGJpbmFyeSBhZGRvbnMgKGh0dHA6Ly9ub2RlanMub3JnL2FwaS9hZGRvbnMuaHRtbCkKYnVpbGQvUmVsZWFzZQoKIyBEZXBlbmRlbmN5IGRpcmVjdG9yeQpub2RlX21vZHVsZXMKLnlhcm4tY2FjaGUKCiMgT3B0aW9uYWwgbnBtIGNhY2hlIGRpcmVjdG9yeQoubnBtCgojIE9wdGlvbmFsIFJFUEwgaGlzdG9yeQoubm9kZV9yZXBsX2hpc3RvcnkKCiMgTWFjT1MgdGVtcG9yYXJ5IGZpbGVzCi5EU19TdG9yZQoKIyBUaGlzIGlzIHRoZSBZYXJuIGJ1aWxkIHN0YXRlOyBpdCdzIGxvY2FsIHRvIGVhY2ggY2xvbmUKLy55YXJuL2J1aWxkLXN0YXRlLnltbAoKIyBUaGlzIGlzIHRoZSBZYXJuIGluc3RhbGwgc3RhdGUgY2FjaGUsIGl0IGNhbiBiZSByZWJ1aWx0IGFueXRpbWUKLy55YXJuL2luc3RhbGwtc3RhdGUuZ3oKCmRpc3QvCgpwYWNrYWdlLnRnegoKIyBuZXh0LmpzIG91dHB1dAoubmV4dAo=',
23
+ '__dot__prettierrc.mjs': 'aW1wb3J0IGNvbmZpZyBmcm9tICdAYXRscy9jb25maWctcHJldHRpZXInCgpleHBvcnQgZGVmYXVsdCBjb25maWcK',
24
+ },
25
+ 'libraries': {
26
+ '__dot__github': {
27
+ 'workflows': {
28
+ 'publish__dot__yaml': 'bmFtZTogUHVibGlzaAoKb246CiAgd29ya2Zsb3dfZGlzcGF0Y2g6Cgpqb2JzOgogIHJ1bjoKICAgIG5hbWU6IFB1Ymxpc2gKICAgIHJ1bnMtb246IHVidW50dS1sYXRlc3QKCiAgICBzdGVwczoKICAgICAgLSBuYW1lOiBDaGVja291dAogICAgICAgIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAdjQKICAgICAgICB3aXRoOgogICAgICAgICAgcmVmOiBtYXN0ZXIKCiAgICAgIC0gbmFtZTogU2V0dXAgTm9kZQogICAgICAgIHVzZXM6IGFjdGlvbnMvc2V0dXAtbm9kZUB2NAogICAgICAgIHdpdGg6CiAgICAgICAgICBub2RlLXZlcnNpb246ICcxOC4xOScKCiAgICAgIC0gbmFtZTogSW5zdGFsbAogICAgICAgIHJ1bjogeWFybiBpbnN0YWxsCgogICAgICAtIG5hbWU6IE5wbSBQdWJsaXNoCiAgICAgICAgcnVuOiB8CiAgICAgICAgICB5YXJuIHZlcnNpb24gYXBwbHkgLS1hbGwKICAgICAgICAgIHlhcm4gd29ya3NwYWNlcyBjaGFuZ2VkIGZvcmVhY2ggLS12ZXJib3NlIC0tdG9wb2xvZ2ljYWwgLS1uby1wcml2YXRlIG5wbSBwdWJsaXNoIC0tYWNjZXNzIHB1YmxpYwogICAgICAgIGVudjoKICAgICAgICAgIFlBUk5fTlBNX0FVVEhfVE9LRU46ICR7eyBzZWNyZXRzLk5QTV9BVVRIX1RPS0VOIH19CgogICAgICAtIG5hbWU6IENvbW1pdCBjaGFuZ2VzCiAgICAgICAgdXNlczogRW5kQnVnL2FkZC1hbmQtY29tbWl0QHY3CiAgICAgICAgZW52OgogICAgICAgICAgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JwogICAgICAgIHdpdGg6CiAgICAgICAgICBhdXRob3JfbmFtZTogZ2l0aHViLWFjdGlvbnMKICAgICAgICAgIGF1dGhvcl9lbWFpbDogNDE4OTgyODIrZ2l0aHViLWFjdGlvbnNbYm90XUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20KICAgICAgICAgIG1lc3NhZ2U6ICdjaG9yZShjb21tb24pOiBwdWJsaXNoJwogICAgICAgICAgYnJhbmNoOiBtYXN0ZXIK',
29
+ 'version__dot__yaml': 'bmFtZTogVmVyc2lvbgoKb246CiAgcHVsbF9yZXF1ZXN0OgogICAgdHlwZXM6IFtjbG9zZWRdCiAgICBicmFuY2hlczoKICAgICAgLSBtYXN0ZXIKCmpvYnM6CiAgcnVuOgogICAgbmFtZTogVmVyc2lvbgogICAgcnVucy1vbjogdWJ1bnR1LWxhdGVzdAoKICAgIHN0ZXBzOgogICAgICAtIG5hbWU6IENoZWNrb3V0CiAgICAgICAgdXNlczogYWN0aW9ucy9jaGVja291dEB2NAogICAgICAgIHdpdGg6CiAgICAgICAgICByZWY6IG1hc3RlcgoKICAgICAgLSBuYW1lOiBTZXR1cCBOb2RlCiAgICAgICAgdXNlczogYWN0aW9ucy9zZXR1cC1ub2RlQHY0CiAgICAgICAgd2l0aDoKICAgICAgICAgIG5vZGUtdmVyc2lvbjogJzE4LjE5JwoKICAgICAgLSBuYW1lOiBJbnN0YWxsCiAgICAgICAgcnVuOiB5YXJuIGluc3RhbGwKICAgICAgICBlbnY6CiAgICAgICAgICBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nCgogICAgICAtIG5hbWU6IFZlcnNpb24KICAgICAgICBydW46IHlhcm4gd29ya3NwYWNlcyBjaGFuZ2VkIGZvcmVhY2ggLS1uby1wcml2YXRlIC0tdmVyYm9zZSB2ZXJzaW9uIHBhdGNoIC0tZGVmZXJyZWQKICAgICAgICBlbnY6CiAgICAgICAgICBHSVRIVUJfVE9LRU46ICcke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX0nCgogICAgICAtIG5hbWU6IENvbW1pdCBjaGFuZ2VzCiAgICAgICAgdXNlczogRW5kQnVnL2FkZC1hbmQtY29tbWl0QHY3CiAgICAgICAgZW52OgogICAgICAgICAgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JwogICAgICAgIHdpdGg6CiAgICAgICAgICBhdXRob3JfbmFtZTogZ2l0aHViLWFjdGlvbnMKICAgICAgICAgIGF1dGhvcl9lbWFpbDogNDE4OTgyODIrZ2l0aHViLWFjdGlvbnNbYm90XUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20KICAgICAgICAgIG1lc3NhZ2U6ICdjaG9yZShjb21tb24pOiB2ZXJzaW9ucycKICAgICAgICAgIGJyYW5jaDogbWFzdGVyCg==',
30
+ },
31
+ },
32
+ },
33
+ 'project': {
34
+ '__dot__github': {
35
+ 'workflows': {
36
+ 'preview__dot__yaml': 'bmFtZTogUHJldmlldwoKb246CiAgcHVsbF9yZXF1ZXN0OgogICAgdHlwZXM6IFtvcGVuZWQsIHJlb3BlbmVkLCBzeW5jaHJvbml6ZV0KICAgIGJyYW5jaGVzOgogICAgICAtIG1hc3RlcgoKam9iczoKICBydW46CiAgICBuYW1lOiBQcmV2aWV3CiAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0CgogICAgc3RlcHM6CiAgICAgIC0gbmFtZTogQ2hlY2tvdXQKICAgICAgICB1c2VzOiBhY3Rpb25zL2NoZWNrb3V0QHY0CgogICAgICAtIG5hbWU6IFNldHVwIE5vZGUKICAgICAgICB1c2VzOiBhY3Rpb25zL3NldHVwLW5vZGVAdjQKICAgICAgICB3aXRoOgogICAgICAgICAgbm9kZS12ZXJzaW9uOiAnMTguMTknCgogICAgICAtIG5hbWU6IEluc3RhbGwKICAgICAgICBydW46IHlhcm4gaW5zdGFsbAoKICAgICAgLSBuYW1lOiBDaGFuZ2VzCiAgICAgICAgcnVuOiB5YXJuIGZpbGVzIGNoYW5nZWQgbGlzdAogICAgICAgIGVudjoKICAgICAgICAgIEdJVEhVQl9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScKCiAgICAgIC0gbmFtZTogSW5zdGFsbCBCdWlsZHBhY2sgQ2xpCiAgICAgICAgcnVuOiB8CiAgICAgICAgICAoY3VybCAtc1NMICJodHRwczovL2dpdGh1Yi5jb20vYnVpbGRwYWNrcy9wYWNrL3JlbGVhc2VzL2Rvd25sb2FkL3YwLjQwLjQvcGFjay12MC40MC40LWxpbnV4LnRneiIgfCBzdWRvIHRhciAtQyAvdXNyL2xvY2FsL2Jpbi8gLS1uby1zYW1lLW93bmVyIC14enYgcGFjaykKCiAgICAgIC0gbmFtZTogTG9naW4gdG8gR29vZ2xlIENvbnRhaW5lciBSZWdpc3RyeQogICAgICAgIHJ1bjogZWNobyAtZSAkR0NSX0tFWUZJTEUgfCBkb2NrZXIgbG9naW4gLXUgX2pzb25fa2V5IC0tcGFzc3dvcmQtc3RkaW4gaHR0cHM6Ly9ldS5nY3IuaW8KICAgICAgICBlbnY6CiAgICAgICAgICBHQ1JfS0VZRklMRTogJHt7IHNlY3JldHMuR0NSX0tFWUZJTEUgfX0KCiAgICAgIC0gbmFtZTogUHJldmlldwogICAgICAgIGVudjoKICAgICAgICAgIEdJVEhVQl9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScKICAgICAgICBydW46IHwKICAgICAgICAgIHlhcm4gd29ya3NwYWNlcyBjaGFuZ2VkIGZvcmVhY2ggcnVuIGFwcCBwYWNrIFwKICAgICAgICAgICAgLS1yZWdpc3RyeSAnZXUuZ2NyLmlvLyR7eyBzZWNyZXRzLkdDUl9QUk9KRUNUX0lEIH19LzwlPSBwcm9qZWN0TmFtZSAlPi0nIFwKICAgICAgICAgICAgLS10YWctcG9saWN5IGN0eC1oYXNoLXRpbWVzdGFtcCBcCiAgICAgICAgICAgIC0tcHVibGlzaAo=',
37
+ 'release__dot__yaml': 'bmFtZTogUmVsZWFzZQoKb246CiAgcHVsbF9yZXF1ZXN0OgogICAgdHlwZXM6IFtjbG9zZWRdCiAgICBicmFuY2hlczoKICAgICAgLSBtYXN0ZXIKCmpvYnM6CiAgcnVuOgogICAgbmFtZTogUmVsZWFzZQogICAgcnVucy1vbjogdWJ1bnR1LWxhdGVzdAoKICAgIHN0ZXBzOgogICAgICAtIG5hbWU6IENoZWNrb3V0CiAgICAgICAgdXNlczogYWN0aW9ucy9jaGVja291dEB2NAogICAgICAgIHdpdGg6CiAgICAgICAgICByZWY6IG1hc3RlcgoKICAgICAgLSBuYW1lOiBTZXR1cCBOb2RlCiAgICAgICAgdXNlczogYWN0aW9ucy9zZXR1cC1ub2RlQHY0CiAgICAgICAgd2l0aDoKICAgICAgICAgIG5vZGUtdmVyc2lvbjogJzE4LjE5JwoKICAgICAgLSBuYW1lOiBJbnN0YWxsCiAgICAgICAgcnVuOiB5YXJuIGluc3RhbGwKCiAgICAgIC0gbmFtZTogTG9naW4gdG8gR29vZ2xlIERvY2tlciBSZWdpc3RyeQogICAgICAgIHJ1bjogZWNobyAtZSAkR0NSX0tFWUZJTEUgfCBkb2NrZXIgbG9naW4gLXUgX2pzb25fa2V5IC0tcGFzc3dvcmQtc3RkaW4gaHR0cHM6Ly9ldS5nY3IuaW8KICAgICAgICBlbnY6CiAgICAgICAgICBHQ1JfS0VZRklMRTogJHt7IHNlY3JldHMuR0NSX0tFWUZJTEUgfX0KCiAgICAgIC0gbmFtZTogSW5zdGFsbCBCdWlsZHBhY2sgQ2xpCiAgICAgICAgcnVuOiB8CiAgICAgICAgICAoY3VybCAtc1NMICJodHRwczovL2dpdGh1Yi5jb20vYnVpbGRwYWNrcy9wYWNrL3JlbGVhc2VzL2Rvd25sb2FkL3YwLjQwLjQvcGFjay12MC40MC40LWxpbnV4LnRneiIgfCBzdWRvIHRhciAtQyAvdXNyL2xvY2FsL2Jpbi8gLS1uby1zYW1lLW93bmVyIC14enYgcGFjaykKICAgICAgLSBuYW1lOiBSZWxlYXNlCiAgICAgICAgZW52OgogICAgICAgICAgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JwogICAgICAgIHJ1bjogfAogICAgICAgICAgeWFybiB3b3Jrc3BhY2VzIGNoYW5nZWQgZm9yZWFjaCBydW4gYXBwIHBhY2sgXAogICAgICAgICAgICAtLXJlZ2lzdHJ5ICdldS5nY3IuaW8vJHt7IHNlY3JldHMuR0NSX1BST0pFQ1RfSUQgfX0vPCU9IHByb2plY3ROYW1lICU+LScgXAogICAgICAgICAgICAtLXRhZy1wb2xpY3kgaGFzaC10aW1lc3RhbXAgXAogICAgICAgICAgICAtLXB1Ymxpc2gK',
38
+ },
39
+ },
40
+ },
41
+ },
42
+ };
43
+ export async function writeFiles(baseDir) {
44
+ const { join } = await import('path');
45
+ const { mkdir, writeFile } = await import('fs/promises');
46
+ async function writeRecursive(obj, currentPath) {
47
+ for (const [key, value] of Object.entries(obj)) {
48
+ const fullPath = join(currentPath, key);
49
+ if (typeof value === 'string') {
50
+ await writeFile(fullPath, Buffer.from(value, 'base64').toString('utf-8'));
51
+ }
52
+ else {
53
+ await mkdir(fullPath, { recursive: true });
54
+ await writeRecursive(value, fullPath);
55
+ }
56
+ }
57
+ }
58
+ await writeRecursive(assetsStructure, baseDir);
59
+ }