@chkit/codegen 0.1.0-beta.8 → 0.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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAyCD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAmCvG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAmFD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqCvG"}
package/dist/index.js CHANGED
@@ -7,6 +7,30 @@ function safeName(name) {
7
7
  function safeMigrationId(id) {
8
8
  return id.replace(/[^a-zA-Z0-9_-]/g, '');
9
9
  }
10
+ function migrationFilePath(migrationsDir, timestamp, migrationName, collisionIndex) {
11
+ const suffix = collisionIndex === 0 ? '' : `_${String(collisionIndex).padStart(3, '0')}`;
12
+ return join(migrationsDir, `${timestamp}_${migrationName}${suffix}.sql`);
13
+ }
14
+ function isFileExistsError(error) {
15
+ return (typeof error === 'object' &&
16
+ error !== null &&
17
+ 'code' in error &&
18
+ error.code === 'EEXIST');
19
+ }
20
+ async function writeNewMigrationFile(input) {
21
+ for (let collisionIndex = 0;; collisionIndex += 1) {
22
+ const filePath = migrationFilePath(input.migrationsDir, input.timestamp, input.migrationName, collisionIndex);
23
+ try {
24
+ await writeFile(filePath, input.sql, { encoding: 'utf8', flag: 'wx' });
25
+ return filePath;
26
+ }
27
+ catch (error) {
28
+ if (isFileExistsError(error))
29
+ continue;
30
+ throw error;
31
+ }
32
+ }
33
+ }
10
34
  function buildMigrationContent(input) {
11
35
  const header = [
12
36
  '-- chkit-migration-format: v1',
@@ -42,13 +66,15 @@ export async function generateArtifacts(input) {
42
66
  plan: input.plan,
43
67
  });
44
68
  const migrationFile = input.plan.operations.length > 0
45
- ? join(input.migrationsDir, `${timestamp}_${migrationName}.sql`)
69
+ ? await writeNewMigrationFile({
70
+ migrationsDir: input.migrationsDir,
71
+ timestamp,
72
+ migrationName,
73
+ sql,
74
+ })
46
75
  : null;
47
76
  const snapshotFile = join(input.metaDir, 'snapshot.json');
48
77
  const snapshot = createSnapshot(input.definitions);
49
- if (migrationFile) {
50
- await writeFile(migrationFile, sql, 'utf8');
51
- }
52
78
  await writeFile(snapshotFile, `${JSON.stringify(snapshot, null, 2)}\n`, 'utf8');
53
79
  return {
54
80
  migrationFile,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,18 @@
1
1
  {
2
2
  "name": "@chkit/codegen",
3
- "version": "0.1.0-beta.8",
3
+ "version": "0.1.0",
4
+ "description": "Migration artifact generator for chkit",
5
+ "license": "MIT",
6
+ "author": "ObsessionDB",
7
+ "keywords": [
8
+ "clickhouse",
9
+ "codegen",
10
+ "migrations"
11
+ ],
4
12
  "homepage": "https://chkit.obsessiondb.com",
13
+ "bugs": {
14
+ "url": "https://github.com/obsessiondb/chkit/issues"
15
+ },
5
16
  "repository": {
6
17
  "type": "git",
7
18
  "url": "https://github.com/obsessiondb/chkit.git",
@@ -29,6 +40,6 @@
29
40
  "clean": "rm -rf dist"
30
41
  },
31
42
  "dependencies": {
32
- "@chkit/core": "0.1.0-beta.8"
43
+ "@chkit/core": "0.1.0"
33
44
  }
34
45
  }