@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.
Files changed (87) hide show
  1. package/dist/exceptions/index.d.ts +1 -0
  2. package/dist/exceptions/index.js +1 -0
  3. package/dist/exceptions/schematic-artifact.d.ts +3 -0
  4. package/dist/exceptions/schematic-artifact.js +9 -0
  5. package/dist/getters/stream-report-callback.js +4 -5
  6. package/dist/helpers/events-log.d.ts +1 -1
  7. package/dist/helpers/events-log.js +1 -1
  8. package/dist/helpers/index.d.ts +1 -1
  9. package/dist/helpers/index.js +1 -1
  10. package/dist/helpers/run-schematics.d.ts +1 -1
  11. package/dist/helpers/run-schematics.js +3 -3
  12. package/dist/helpers/schematic-artifact.d.ts +1 -0
  13. package/dist/helpers/schematic-artifact.js +38 -0
  14. package/dist/helpers/write-tmp-schematic.d.ts +1 -1
  15. package/dist/helpers/write-tmp-schematic.js +4 -10
  16. package/dist/index.d.ts +0 -2
  17. package/dist/index.js +0 -2
  18. package/dist/schematic/collection.json +11 -0
  19. package/dist/schematic/project/project.factory.cjs +34276 -0
  20. package/dist/schematic/project/schema.json +23 -0
  21. package/dist/schematic/templates/common/__dot__config/husky/__dot__gitignore +1 -0
  22. package/dist/schematic/templates/common/__dot__config/husky/commit-msg +4 -0
  23. package/dist/schematic/templates/common/__dot__config/husky/pre-commit +1 -0
  24. package/dist/schematic/templates/common/__dot__config/husky/prepare-commit-msg +4 -0
  25. package/dist/schematic/templates/common/__dot__eslintrc.js +10 -0
  26. package/dist/schematic/templates/common/__dot__github/workflows/checks__dot__yaml +44 -0
  27. package/dist/schematic/templates/common/__dot__gitignore +48 -0
  28. package/dist/schematic/templates/common/__dot__prettierrc.mjs +3 -0
  29. package/dist/schematic/templates/libraries/__dot__github/workflows/publish__dot__yaml +40 -0
  30. package/dist/schematic/templates/libraries/__dot__github/workflows/version__dot__yaml +43 -0
  31. package/dist/schematic/templates/project/__dot__github/workflows/preview__dot__yaml +47 -0
  32. package/dist/schematic/templates/project/__dot__github/workflows/release__dot__yaml +43 -0
  33. package/dist/scripts/build-steps/esbuild.build-step.d.ts +1 -1
  34. package/dist/scripts/build-steps/esbuild.build-step.js +8 -8
  35. package/dist/scripts/exceptions/undefined-build-result.d.ts +1 -1
  36. package/dist/scripts/exceptions/undefined-build-result.js +2 -2
  37. package/dist/scripts/getters/index.d.ts +0 -2
  38. package/dist/scripts/getters/index.js +0 -2
  39. package/dist/scripts/index.d.ts +1 -1
  40. package/dist/scripts/index.js +1 -1
  41. package/dist/scripts/schematic-factory-build.js +10 -7
  42. package/dist/scripts/schematic-smoke.js +6 -6
  43. package/package.json +3 -3
  44. package/dist/generated/index.d.ts +0 -2
  45. package/dist/generated/index.js +0 -2
  46. package/dist/generated/raijin-schematic-export.d.ts +0 -43
  47. package/dist/generated/raijin-schematic-export.js +0 -59
  48. package/dist/generated/schematic-factory-export.d.ts +0 -2
  49. package/dist/generated/schematic-factory-export.js +0 -6
  50. package/dist/helpers/raijin.d.ts +0 -2
  51. package/dist/helpers/raijin.js +0 -6
  52. package/dist/schematic/index.d.ts +0 -1
  53. package/dist/schematic/index.js +0 -1
  54. package/dist/schematic/project/factory.d.ts +0 -2
  55. package/dist/schematic/project/factory.js +0 -45
  56. package/dist/schematic/project/index.d.ts +0 -1
  57. package/dist/schematic/project/index.js +0 -1
  58. package/dist/schematic/rules/index.d.ts +0 -1
  59. package/dist/schematic/rules/index.js +0 -1
  60. package/dist/schematic/rules/tsconfig.update.d.ts +0 -6
  61. package/dist/schematic/rules/tsconfig.update.js +0 -3
  62. package/dist/schematic/sources/generate-common.source.d.ts +0 -2
  63. package/dist/schematic/sources/generate-common.source.js +0 -13
  64. package/dist/schematic/sources/generate-project-specific.source.d.ts +0 -2
  65. package/dist/schematic/sources/generate-project-specific.source.js +0 -19
  66. package/dist/schematic/sources/index.d.ts +0 -2
  67. package/dist/schematic/sources/index.js +0 -2
  68. package/dist/schematic/utils/file.utils.d.ts +0 -3
  69. package/dist/schematic/utils/file.utils.js +0 -6
  70. package/dist/schematic/utils/gitignore.utils.d.ts +0 -3
  71. package/dist/schematic/utils/gitignore.utils.js +0 -12
  72. package/dist/schematic/utils/index.d.ts +0 -6
  73. package/dist/schematic/utils/index.js +0 -6
  74. package/dist/schematic/utils/json.utils.d.ts +0 -6
  75. package/dist/schematic/utils/json.utils.js +0 -23
  76. package/dist/schematic/utils/merge-gitignore-content.utils.d.ts +0 -6
  77. package/dist/schematic/utils/merge-gitignore-content.utils.js +0 -40
  78. package/dist/schematic/utils/tsconfig.utils.d.ts +0 -1
  79. package/dist/schematic/utils/tsconfig.utils.js +0 -5
  80. package/dist/schematic/utils/yaml.utils.d.ts +0 -5
  81. package/dist/schematic/utils/yaml.utils.js +0 -18
  82. package/dist/scripts/getters/encoded-content.d.ts +0 -1
  83. package/dist/scripts/getters/encoded-content.js +0 -4
  84. package/dist/scripts/getters/generated-file-content.d.ts +0 -1
  85. package/dist/scripts/getters/generated-file-content.js +0 -16
  86. package/dist/scripts/schematic-build.d.ts +0 -1
  87. 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,4 @@
1
+ #!/bin/sh
2
+ . "$(dirname "$0")/_/husky.sh"
3
+
4
+ yarn commit message lint
@@ -0,0 +1 @@
1
+ yarn commit staged
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+ . "$(dirname "$0")/_/husky.sh"
3
+
4
+ yarn commit message $@
@@ -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,3 @@
1
+ import config from '@atls/config-prettier'
2
+
3
+ export default config
@@ -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 { UndefinedBuildRedultException } from '../exceptions/index.js';
5
+ import { UndefinedBuildResultException } from '../exceptions/index.js';
4
6
  import { getEsbuildConfig } from '../getters/index.js';
5
7
  import { getCjsContent } from '../getters/index.js';
6
- import { getEncodedContent } from '../getters/index.js';
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 UndefinedBuildRedultException();
12
+ throw new UndefinedBuildResultException();
13
13
  const cjsContent = getCjsContent(result);
14
- const encodedContent = getEncodedContent(cjsContent);
15
- const generatedFileContent = getGeneratedFileContent(encodedContent);
16
- await writeFile('src/generated/schematic-factory-export.ts', generatedFileContent);
14
+ const projectDir = join(schematicOutputDir, 'project');
15
+ await mkdir(projectDir, { recursive: true });
16
+ await writeFile(join(projectDir, 'project.factory.cjs'), cjsContent);
17
17
  };
@@ -1,3 +1,3 @@
1
- export declare class UndefinedBuildRedultException extends Error {
1
+ export declare class UndefinedBuildResultException extends Error {
2
2
  constructor();
3
3
  }
@@ -1,5 +1,5 @@
1
- export class UndefinedBuildRedultException extends Error {
1
+ export class UndefinedBuildResultException extends Error {
2
2
  constructor() {
3
- super('SchematicFactory build result is undefined');
3
+ super('Schematic factory build result is undefined');
4
4
  }
5
5
  }
@@ -1,4 +1,2 @@
1
1
  export * from './esbuild-config.js';
2
2
  export * from './cjs-content.js';
3
- export * from './encoded-content.js';
4
- export * from './generated-file-content.js';
@@ -1,4 +1,2 @@
1
1
  export * from "./esbuild-config.js";
2
2
  export * from "./cjs-content.js";
3
- export * from "./encoded-content.js";
4
- export * from "./generated-file-content.js";
@@ -1 +1 @@
1
- export * from './schematic-build.js';
1
+ export {};
@@ -1 +1 @@
1
- export * from "./schematic-build.js";
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
- import { generateSchematic } from './schematic-build.js';
4
- const raijinSchematicDir = join(import.meta.dirname, '../../../../yarn/raijin/src/runtime/schematic');
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 esbuildBuildStep();
8
- await generateSchematic(raijinSchematicDir, raijinSchematicOutputFile);
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('SchematicFactory build 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 { runSchematicHelper } from '../helpers/index.js';
6
- import { writeTmpSchematicHelper } from '../helpers/index.js';
7
- const helperScanRoots = [
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(helperScanRoots.map(async (scanRoot) => walkFiles(path.join(repoRoot, scanRoot)))))
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 runSchematicHelper('project', {
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 writeTmpSchematicHelper(collectionDir);
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.0",
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:schematic-factory && yarn run build:library",
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",
@@ -1,2 +0,0 @@
1
- export * from './schematic-factory-export.js';
2
- export * from './raijin-schematic-export.js';
@@ -1,2 +0,0 @@
1
- export * from "./schematic-factory-export.js";
2
- export * from "./raijin-schematic-export.js";
@@ -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
- }