@atls/code-schematics 2.1.0 → 2.2.1
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.
- package/dist/exceptions/index.d.ts +1 -0
- package/dist/exceptions/index.js +1 -0
- package/dist/exceptions/schematic-artifact.d.ts +3 -0
- package/dist/exceptions/schematic-artifact.js +9 -0
- package/dist/getters/stream-report-callback.js +4 -5
- package/dist/helpers/events-log.d.ts +1 -1
- package/dist/helpers/events-log.js +1 -1
- package/dist/helpers/index.d.ts +1 -1
- package/dist/helpers/index.js +1 -1
- package/dist/helpers/run-schematics.d.ts +1 -1
- package/dist/helpers/run-schematics.js +3 -3
- package/dist/helpers/schematic-artifact.d.ts +1 -0
- package/dist/helpers/schematic-artifact.js +38 -0
- package/dist/helpers/write-tmp-schematic.d.ts +1 -1
- package/dist/helpers/write-tmp-schematic.js +4 -10
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -2
- package/dist/schematic/collection.json +11 -0
- package/dist/schematic/project/project.factory.cjs +34276 -0
- package/dist/schematic/project/schema.json +23 -0
- package/dist/schematic/templates/common/__dot__config/husky/__dot__gitignore +1 -0
- package/dist/schematic/templates/common/__dot__config/husky/commit-msg +4 -0
- package/dist/schematic/templates/common/__dot__config/husky/pre-commit +1 -0
- package/dist/schematic/templates/common/__dot__config/husky/prepare-commit-msg +4 -0
- package/dist/schematic/templates/common/__dot__eslintrc.js +10 -0
- package/dist/schematic/templates/common/__dot__github/workflows/checks__dot__yaml +44 -0
- package/dist/schematic/templates/common/__dot__gitignore +48 -0
- package/dist/schematic/templates/common/__dot__prettierrc.mjs +3 -0
- package/dist/schematic/templates/libraries/__dot__github/workflows/publish__dot__yaml +40 -0
- package/dist/schematic/templates/libraries/__dot__github/workflows/version__dot__yaml +43 -0
- package/dist/schematic/templates/project/__dot__github/workflows/preview__dot__yaml +47 -0
- package/dist/schematic/templates/project/__dot__github/workflows/release__dot__yaml +43 -0
- package/dist/scripts/build-steps/esbuild.build-step.d.ts +1 -1
- package/dist/scripts/build-steps/esbuild.build-step.js +8 -8
- package/dist/scripts/exceptions/undefined-build-result.d.ts +1 -1
- package/dist/scripts/exceptions/undefined-build-result.js +2 -2
- package/dist/scripts/getters/index.d.ts +0 -2
- package/dist/scripts/getters/index.js +0 -2
- package/dist/scripts/index.d.ts +1 -1
- package/dist/scripts/index.js +1 -1
- package/dist/scripts/schematic-factory-build.js +10 -7
- package/dist/scripts/schematic-smoke.js +6 -6
- package/package.json +3 -3
- package/dist/generated/index.d.ts +0 -2
- package/dist/generated/index.js +0 -2
- package/dist/generated/raijin-schematic-export.d.ts +0 -43
- package/dist/generated/raijin-schematic-export.js +0 -59
- package/dist/generated/schematic-factory-export.d.ts +0 -2
- package/dist/generated/schematic-factory-export.js +0 -6
- package/dist/helpers/raijin.d.ts +0 -2
- package/dist/helpers/raijin.js +0 -6
- package/dist/schematic/index.d.ts +0 -1
- package/dist/schematic/index.js +0 -1
- package/dist/schematic/project/factory.d.ts +0 -2
- package/dist/schematic/project/factory.js +0 -45
- package/dist/schematic/project/index.d.ts +0 -1
- package/dist/schematic/project/index.js +0 -1
- package/dist/schematic/rules/index.d.ts +0 -1
- package/dist/schematic/rules/index.js +0 -1
- package/dist/schematic/rules/tsconfig.update.d.ts +0 -6
- package/dist/schematic/rules/tsconfig.update.js +0 -3
- package/dist/schematic/sources/generate-common.source.d.ts +0 -2
- package/dist/schematic/sources/generate-common.source.js +0 -13
- package/dist/schematic/sources/generate-project-specific.source.d.ts +0 -2
- package/dist/schematic/sources/generate-project-specific.source.js +0 -19
- package/dist/schematic/sources/index.d.ts +0 -2
- package/dist/schematic/sources/index.js +0 -2
- package/dist/schematic/utils/file.utils.d.ts +0 -3
- package/dist/schematic/utils/file.utils.js +0 -6
- package/dist/schematic/utils/gitignore.utils.d.ts +0 -3
- package/dist/schematic/utils/gitignore.utils.js +0 -12
- package/dist/schematic/utils/index.d.ts +0 -6
- package/dist/schematic/utils/index.js +0 -6
- package/dist/schematic/utils/json.utils.d.ts +0 -6
- package/dist/schematic/utils/json.utils.js +0 -23
- package/dist/schematic/utils/merge-gitignore-content.utils.d.ts +0 -6
- package/dist/schematic/utils/merge-gitignore-content.utils.js +0 -40
- package/dist/schematic/utils/tsconfig.utils.d.ts +0 -1
- package/dist/schematic/utils/tsconfig.utils.js +0 -5
- package/dist/schematic/utils/yaml.utils.d.ts +0 -5
- package/dist/schematic/utils/yaml.utils.js +0 -18
- package/dist/scripts/getters/encoded-content.d.ts +0 -1
- package/dist/scripts/getters/encoded-content.js +0 -4
- package/dist/scripts/getters/generated-file-content.d.ts +0 -1
- package/dist/scripts/getters/generated-file-content.js +0 -16
- package/dist/scripts/schematic-build.d.ts +0 -1
- package/dist/scripts/schematic-build.js +0 -72
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "AtlantisSchematicsProjectNew",
|
|
4
|
+
"title": "Create an empty project",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": {
|
|
8
|
+
"description": "The name of the project.",
|
|
9
|
+
"type": "string",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "argv",
|
|
12
|
+
"index": 0
|
|
13
|
+
},
|
|
14
|
+
"x-prompt": "What name would you like to use for the project?"
|
|
15
|
+
},
|
|
16
|
+
"type": {
|
|
17
|
+
"description": "The scaffold type.",
|
|
18
|
+
"type": "string",
|
|
19
|
+
"enum": ["project", "library"],
|
|
20
|
+
"default": "project"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
_
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
yarn commit staged
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
2
|
+
require('@rushstack/eslint-patch/modern-module-resolution')
|
|
3
|
+
|
|
4
|
+
module.exports = {
|
|
5
|
+
extends: ['@atls/config-eslint'],
|
|
6
|
+
parserOptions: {
|
|
7
|
+
project: './tsconfig.json',
|
|
8
|
+
},
|
|
9
|
+
ignorePatterns: ['.eslintrc.js', 'yarn.js', 'yarn-remote.cjs'],
|
|
10
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: Checks
|
|
2
|
+
|
|
3
|
+
on: [pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
run:
|
|
7
|
+
name: Run
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- name: Checkout
|
|
11
|
+
uses: actions/checkout@v4
|
|
12
|
+
|
|
13
|
+
- name: Setup Node
|
|
14
|
+
uses: actions/setup-node@v4
|
|
15
|
+
with:
|
|
16
|
+
node-version: '18.19'
|
|
17
|
+
|
|
18
|
+
- name: Install
|
|
19
|
+
run: yarn install
|
|
20
|
+
|
|
21
|
+
- name: Lint
|
|
22
|
+
run: yarn checks lint
|
|
23
|
+
env:
|
|
24
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
25
|
+
|
|
26
|
+
- name: TypeCheck
|
|
27
|
+
run: yarn checks typecheck
|
|
28
|
+
env:
|
|
29
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
30
|
+
|
|
31
|
+
- name: TestUnit
|
|
32
|
+
run: yarn checks test unit
|
|
33
|
+
env:
|
|
34
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
35
|
+
|
|
36
|
+
- name: TestIntegration
|
|
37
|
+
run: yarn checks test integration
|
|
38
|
+
env:
|
|
39
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
40
|
+
|
|
41
|
+
- name: Release
|
|
42
|
+
run: yarn checks release
|
|
43
|
+
env:
|
|
44
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Logs
|
|
2
|
+
logs
|
|
3
|
+
*.log
|
|
4
|
+
npm-debug.log*
|
|
5
|
+
yarn-error.log
|
|
6
|
+
|
|
7
|
+
# Runtime data
|
|
8
|
+
pids
|
|
9
|
+
*.pid
|
|
10
|
+
*.seed
|
|
11
|
+
|
|
12
|
+
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
13
|
+
lib-cov
|
|
14
|
+
|
|
15
|
+
# Coverage directory used by tools like istanbul
|
|
16
|
+
coverage
|
|
17
|
+
|
|
18
|
+
# node-waf configuration
|
|
19
|
+
.lock-wscript
|
|
20
|
+
|
|
21
|
+
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
|
22
|
+
build/Release
|
|
23
|
+
|
|
24
|
+
# Dependency directory
|
|
25
|
+
node_modules
|
|
26
|
+
.yarn-cache
|
|
27
|
+
|
|
28
|
+
# Optional npm cache directory
|
|
29
|
+
.npm
|
|
30
|
+
|
|
31
|
+
# Optional REPL history
|
|
32
|
+
.node_repl_history
|
|
33
|
+
|
|
34
|
+
# MacOS temporary files
|
|
35
|
+
.DS_Store
|
|
36
|
+
|
|
37
|
+
# This is the Yarn build state; it's local to each clone
|
|
38
|
+
/.yarn/build-state.yml
|
|
39
|
+
|
|
40
|
+
# This is the Yarn install state cache, it can be rebuilt anytime
|
|
41
|
+
/.yarn/install-state.gz
|
|
42
|
+
|
|
43
|
+
dist/
|
|
44
|
+
|
|
45
|
+
package.tgz
|
|
46
|
+
|
|
47
|
+
# next.js output
|
|
48
|
+
.next
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
run:
|
|
8
|
+
name: Publish
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
|
|
11
|
+
steps:
|
|
12
|
+
- name: Checkout
|
|
13
|
+
uses: actions/checkout@v4
|
|
14
|
+
with:
|
|
15
|
+
ref: master
|
|
16
|
+
|
|
17
|
+
- name: Setup Node
|
|
18
|
+
uses: actions/setup-node@v4
|
|
19
|
+
with:
|
|
20
|
+
node-version: '18.19'
|
|
21
|
+
|
|
22
|
+
- name: Install
|
|
23
|
+
run: yarn install
|
|
24
|
+
|
|
25
|
+
- name: Npm Publish
|
|
26
|
+
run: |
|
|
27
|
+
yarn version apply --all
|
|
28
|
+
yarn workspaces changed foreach --verbose --topological --no-private npm publish --access public
|
|
29
|
+
env:
|
|
30
|
+
YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
|
|
31
|
+
|
|
32
|
+
- name: Commit changes
|
|
33
|
+
uses: EndBug/add-and-commit@v7
|
|
34
|
+
env:
|
|
35
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
36
|
+
with:
|
|
37
|
+
author_name: github-actions
|
|
38
|
+
author_email: 41898282+github-actions[bot]@users.noreply.github.com
|
|
39
|
+
message: 'chore(common): publish'
|
|
40
|
+
branch: master
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Version
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [closed]
|
|
6
|
+
branches:
|
|
7
|
+
- master
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
run:
|
|
11
|
+
name: Version
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout
|
|
16
|
+
uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
ref: master
|
|
19
|
+
|
|
20
|
+
- name: Setup Node
|
|
21
|
+
uses: actions/setup-node@v4
|
|
22
|
+
with:
|
|
23
|
+
node-version: '18.19'
|
|
24
|
+
|
|
25
|
+
- name: Install
|
|
26
|
+
run: yarn install
|
|
27
|
+
env:
|
|
28
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
29
|
+
|
|
30
|
+
- name: Version
|
|
31
|
+
run: yarn workspaces changed foreach --no-private --verbose version patch --deferred
|
|
32
|
+
env:
|
|
33
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
34
|
+
|
|
35
|
+
- name: Commit changes
|
|
36
|
+
uses: EndBug/add-and-commit@v7
|
|
37
|
+
env:
|
|
38
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
39
|
+
with:
|
|
40
|
+
author_name: github-actions
|
|
41
|
+
author_email: 41898282+github-actions[bot]@users.noreply.github.com
|
|
42
|
+
message: 'chore(common): versions'
|
|
43
|
+
branch: master
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: Preview
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, reopened, synchronize]
|
|
6
|
+
branches:
|
|
7
|
+
- master
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
run:
|
|
11
|
+
name: Preview
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout
|
|
16
|
+
uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- name: Setup Node
|
|
19
|
+
uses: actions/setup-node@v4
|
|
20
|
+
with:
|
|
21
|
+
node-version: '18.19'
|
|
22
|
+
|
|
23
|
+
- name: Install
|
|
24
|
+
run: yarn install
|
|
25
|
+
|
|
26
|
+
- name: Changes
|
|
27
|
+
run: yarn files changed list
|
|
28
|
+
env:
|
|
29
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
30
|
+
|
|
31
|
+
- name: Install Buildpack Cli
|
|
32
|
+
run: |
|
|
33
|
+
(curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.40.4/pack-v0.40.4-linux.tgz" | sudo tar -C /usr/local/bin/ --no-same-owner -xzv pack)
|
|
34
|
+
|
|
35
|
+
- name: Login to Google Container Registry
|
|
36
|
+
run: echo -e $GCR_KEYFILE | docker login -u _json_key --password-stdin https://eu.gcr.io
|
|
37
|
+
env:
|
|
38
|
+
GCR_KEYFILE: ${{ secrets.GCR_KEYFILE }}
|
|
39
|
+
|
|
40
|
+
- name: Preview
|
|
41
|
+
env:
|
|
42
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
43
|
+
run: |
|
|
44
|
+
yarn workspaces changed foreach run app pack \
|
|
45
|
+
--registry 'eu.gcr.io/${{ secrets.GCR_PROJECT_ID }}/<%= projectName %>-' \
|
|
46
|
+
--tag-policy ctx-hash-timestamp \
|
|
47
|
+
--publish
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [closed]
|
|
6
|
+
branches:
|
|
7
|
+
- master
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
run:
|
|
11
|
+
name: Release
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout
|
|
16
|
+
uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
ref: master
|
|
19
|
+
|
|
20
|
+
- name: Setup Node
|
|
21
|
+
uses: actions/setup-node@v4
|
|
22
|
+
with:
|
|
23
|
+
node-version: '18.19'
|
|
24
|
+
|
|
25
|
+
- name: Install
|
|
26
|
+
run: yarn install
|
|
27
|
+
|
|
28
|
+
- name: Login to Google Docker Registry
|
|
29
|
+
run: echo -e $GCR_KEYFILE | docker login -u _json_key --password-stdin https://eu.gcr.io
|
|
30
|
+
env:
|
|
31
|
+
GCR_KEYFILE: ${{ secrets.GCR_KEYFILE }}
|
|
32
|
+
|
|
33
|
+
- name: Install Buildpack Cli
|
|
34
|
+
run: |
|
|
35
|
+
(curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.40.4/pack-v0.40.4-linux.tgz" | sudo tar -C /usr/local/bin/ --no-same-owner -xzv pack)
|
|
36
|
+
- name: Release
|
|
37
|
+
env:
|
|
38
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
39
|
+
run: |
|
|
40
|
+
yarn workspaces changed foreach run app pack \
|
|
41
|
+
--registry 'eu.gcr.io/${{ secrets.GCR_PROJECT_ID }}/<%= projectName %>-' \
|
|
42
|
+
--tag-policy hash-timestamp \
|
|
43
|
+
--publish
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const esbuildBuildStep: () => Promise<void>;
|
|
1
|
+
export declare const esbuildBuildStep: (schematicOutputDir: string) => Promise<void>;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
+
import { mkdir } from 'node:fs/promises';
|
|
1
2
|
import { writeFile } from 'node:fs/promises';
|
|
3
|
+
import { join } from 'node:path';
|
|
2
4
|
import esbuild from 'esbuild';
|
|
3
|
-
import {
|
|
5
|
+
import { UndefinedBuildResultException } from '../exceptions/index.js';
|
|
4
6
|
import { getEsbuildConfig } from '../getters/index.js';
|
|
5
7
|
import { getCjsContent } from '../getters/index.js';
|
|
6
|
-
|
|
7
|
-
import { getGeneratedFileContent } from '../getters/index.js';
|
|
8
|
-
export const esbuildBuildStep = async () => {
|
|
8
|
+
export const esbuildBuildStep = async (schematicOutputDir) => {
|
|
9
9
|
const esbuildConfig = getEsbuildConfig();
|
|
10
10
|
const result = await esbuild.build(esbuildConfig);
|
|
11
11
|
if (!result.outputFiles)
|
|
12
|
-
throw new
|
|
12
|
+
throw new UndefinedBuildResultException();
|
|
13
13
|
const cjsContent = getCjsContent(result);
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
await writeFile('
|
|
14
|
+
const projectDir = join(schematicOutputDir, 'project');
|
|
15
|
+
await mkdir(projectDir, { recursive: true });
|
|
16
|
+
await writeFile(join(projectDir, 'project.factory.cjs'), cjsContent);
|
|
17
17
|
};
|
package/dist/scripts/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export {};
|
package/dist/scripts/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export {};
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
import { cp } from 'node:fs/promises';
|
|
2
|
+
import { rm } from 'node:fs/promises';
|
|
1
3
|
import { join } from 'node:path';
|
|
2
4
|
import { esbuildBuildStep } from './build-steps/index.js';
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const raijinSchematicOutputFile = join(import.meta.dirname, '../generated/raijin-schematic-export.ts');
|
|
5
|
+
const schematicCollectionDir = join(import.meta.dirname, '../schematic/collection');
|
|
6
|
+
const schematicArtifactDir = join(import.meta.dirname, '../../dist/schematic');
|
|
6
7
|
try {
|
|
7
|
-
await
|
|
8
|
-
await
|
|
8
|
+
await rm(schematicArtifactDir, { recursive: true, force: true });
|
|
9
|
+
await cp(schematicCollectionDir, schematicArtifactDir, { recursive: true });
|
|
10
|
+
await esbuildBuildStep(schematicArtifactDir);
|
|
11
|
+
console.info('Schematic factory build succeeded');
|
|
9
12
|
}
|
|
10
13
|
catch (e) {
|
|
11
14
|
const error = e;
|
|
12
|
-
console.error('
|
|
15
|
+
console.error('Schematic factory build error!');
|
|
13
16
|
console.error(error.message);
|
|
17
|
+
process.exitCode = 1;
|
|
14
18
|
}
|
|
15
|
-
console.info('SchematicFactory build successed');
|
|
@@ -2,9 +2,9 @@ import fs from 'node:fs/promises';
|
|
|
2
2
|
import os from 'node:os';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { prepareTmpDir } from '../helpers/index.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
const
|
|
5
|
+
import { runSchematic } from '../helpers/index.js';
|
|
6
|
+
import { writeTmpSchematic } from '../helpers/index.js';
|
|
7
|
+
const commandScanRoots = [
|
|
8
8
|
'package.json',
|
|
9
9
|
'scripts/raijin',
|
|
10
10
|
'README.md',
|
|
@@ -62,7 +62,7 @@ const assertInactiveCommandsAreNotInvoked = async (repoRoot) => {
|
|
|
62
62
|
const inactiveCommands = index.commands
|
|
63
63
|
.filter((command) => command.status === 'inactive')
|
|
64
64
|
.map((command) => command.command);
|
|
65
|
-
const scanFiles = (await Promise.all(
|
|
65
|
+
const scanFiles = (await Promise.all(commandScanRoots.map(async (scanRoot) => walkFiles(path.join(repoRoot, scanRoot)))))
|
|
66
66
|
.flat()
|
|
67
67
|
.filter((filePath) => ['.json', '.js', '.mjs', '.ts', '.tsx', '.md'].includes(path.extname(filePath)));
|
|
68
68
|
const violations = [];
|
|
@@ -104,7 +104,7 @@ const runProjectSchematic = async ({ collectionPath, fixtureDir, }) => {
|
|
|
104
104
|
const previousCwd = process.cwd();
|
|
105
105
|
try {
|
|
106
106
|
process.chdir(fixtureDir);
|
|
107
|
-
const exitCode = await
|
|
107
|
+
const exitCode = await runSchematic('project', {
|
|
108
108
|
type: 'project',
|
|
109
109
|
cwd: fixtureDir,
|
|
110
110
|
}, collectionPath);
|
|
@@ -147,7 +147,7 @@ const runSchematicSmoke = async () => {
|
|
|
147
147
|
await fs.mkdir(fixtureDir, { recursive: true });
|
|
148
148
|
await writeFixturePackage(fixtureDir);
|
|
149
149
|
console.log('Schematic smoke: writing collection');
|
|
150
|
-
await
|
|
150
|
+
await writeTmpSchematic(collectionDir);
|
|
151
151
|
console.log('Schematic smoke: preparing collection');
|
|
152
152
|
await prepareCollectionDir(repoRoot, collectionDir);
|
|
153
153
|
console.log('Schematic smoke: running project schematic');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atls/code-schematics",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
|
-
"build": "yarn run build:
|
|
18
|
+
"build": "yarn run build:library && yarn run build:schematic-factory",
|
|
19
19
|
"build:library": "yarn library build",
|
|
20
20
|
"build:schematic-factory": "yarn node ./src/scripts/schematic-factory-build.ts",
|
|
21
21
|
"prepack": "yarn run build",
|
|
22
22
|
"postpack": "rm -rf dist",
|
|
23
|
-
"smoke:schematic": "yarn node ./src/scripts/schematic-smoke.ts"
|
|
23
|
+
"smoke:schematic": "yarn run build:schematic-factory && yarn node ./src/scripts/schematic-smoke.ts"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@angular-devkit/core": "19.1.5",
|
package/dist/generated/index.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
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>;
|
|
@@ -1,59 +0,0 @@
|
|
|
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
|
-
}
|