@ifc-lite/codegen 1.18.0 → 1.18.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.
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAOnF,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;IACvC,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CAMnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CA8MnB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gBAAqB,GAC7B,IAAI,CAoBN"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAOnF,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;IACvC,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CAMnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CA0OnB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gBAAqB,GAC7B,IAAI,CAoBN"}
package/dist/generator.js CHANGED
@@ -138,7 +138,8 @@ export * from './serializers.js';
138
138
  writeFileSync(`${rustDir}/schema.rs`, rustCode.schema);
139
139
  console.log(` ✓ ${rustDir}/schema.rs`);
140
140
  // Write mod.rs
141
- const modContent = `// This Source Code Form is subject to the terms of the Mozilla Public
141
+ const modContent = options.rustCratePrivate
142
+ ? `// This Source Code Form is subject to the terms of the Mozilla Public
142
143
  // License, v. 2.0. If a copy of the MPL was not distributed with this
143
144
  // file, You can obtain one at https://mozilla.org/MPL/2.0/.
144
145
 
@@ -151,7 +152,34 @@ export * from './serializers.js';
151
152
  mod type_ids;
152
153
  mod schema;
153
154
 
154
- ${options.rustCratePrivate ? '// The full generated ID universe is intentionally available to sibling modules.\n#[allow(unused_imports)]\npub(crate) use type_ids::*;\n' : 'pub use type_ids::*;\n'}${options.rustCratePrivate ? 'pub(crate)' : 'pub'} use schema::*;
155
+ // The full generated ID universe is intentionally available to sibling modules.
156
+ #[allow(unused_imports)]
157
+ pub(crate) use type_ids::*;
158
+ pub(crate) use schema::*;
159
+ `
160
+ : `// This Source Code Form is subject to the terms of the Mozilla Public
161
+ // License, v. 2.0. If a copy of the MPL was not distributed with this
162
+ // file, You can obtain one at https://mozilla.org/MPL/2.0/.
163
+
164
+ //! Auto-generated IFC Schema Types
165
+ //!
166
+ //! Generated from EXPRESS schema: ${schema.name}
167
+ //!
168
+ //! DO NOT EDIT - This file is auto-generated by @ifc-lite/codegen
169
+
170
+ mod ifc2x3;
171
+ mod ifc4;
172
+ mod ifc4x1;
173
+ mod ifc4x2;
174
+ mod schema;
175
+ pub(crate) mod schema_registry;
176
+ mod type_ids;
177
+
178
+ pub use type_ids::*;
179
+ pub use schema::{IfcType, UnknownIfcType, ALL as IFC_TYPES};
180
+ pub use schema_registry::{
181
+ attribute_names_for_schema, entity_info_for_schema, is_subtype_of_for_schema, SchemaEntityInfo,
182
+ };
155
183
  `;
156
184
  writeFileSync(`${rustDir}/mod.rs`, modContent);
157
185
  console.log(` ✓ ${rustDir}/mod.rs`);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rust-generator.d.ts","sourceRoot":"","sources":["../src/rust-generator.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAM3E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,kFAAkF;AAClF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,mBAAmB,GAAE,SAAS,aAAa,EAAO,EAClD,YAAY,UAAQ,GACnB,iBAAiB,CAMnB"}
1
+ {"version":3,"file":"rust-generator.d.ts","sourceRoot":"","sources":["../src/rust-generator.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAQ3E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,kFAAkF;AAClF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,mBAAmB,GAAE,SAAS,aAAa,EAAO,EAClD,YAAY,UAAQ,GACnB,iBAAiB,CAMnB"}
@@ -5,42 +5,16 @@ import { crc32, formatCRC32TableLiteral } from './crc32.js';
5
5
  import { getInheritanceChain } from './express-parser.js';
6
6
  import { generateSchemaQueries, mergeTypeUniverse } from './rust-schema-queries.js';
7
7
  import { generateTypeNameParser } from './rust-type-name-parser.js';
8
+ import { generateUnknownIfcType } from './rust-unknown-ifc-type.js';
9
+ import { generateTypeIdConstants } from './rust-type-id-generator.js';
8
10
  /** Generate all Rust code from the canonical and supplemental EXPRESS schemas. */
9
11
  export function generateRust(schema, supplementalSchemas = [], cratePrivate = false) {
10
12
  const typeUniverse = mergeTypeUniverse(schema, supplementalSchemas);
11
13
  return {
12
- typeIds: generateTypeIdConstants(typeUniverse, cratePrivate),
14
+ typeIds: generateTypeIdConstants(typeUniverse, cratePrivate, categorizeEntities),
13
15
  schema: generateIfcTypeEnum(schema, typeUniverse, cratePrivate),
14
16
  };
15
17
  }
16
- /** Generate CRC32 type ID constants. */
17
- function generateTypeIdConstants(schema, cratePrivate) {
18
- let code = `// This Source Code Form is subject to the terms of the Mozilla Public
19
- // License, v. 2.0. If a copy of the MPL was not distributed with this
20
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
21
-
22
- //! Auto-generated IFC Type ID Constants
23
- //!
24
- //! CRC32 hashes for fast type identification.
25
- //! Generated from EXPRESS schema: ${schema.name}
26
- //!
27
- //! DO NOT EDIT - This file is auto-generated by @ifc-lite/codegen
28
-
29
- #![allow(dead_code)]
30
-
31
- `;
32
- // Group by category for readability
33
- const categories = categorizeEntities(schema);
34
- for (const [category, entities] of Object.entries(categories)) {
35
- code += `// ${category}\n`;
36
- for (const entity of entities) {
37
- const id = crc32(entity.name);
38
- code += `pub const ${entity.name.toUpperCase()}: u32 = ${id};\n`;
39
- }
40
- code += '\n';
41
- }
42
- return cratePrivate ? `${code.trimEnd()}\n` : code;
43
- }
44
18
  /** Generate the main IfcType enum. */
45
19
  function generateIfcTypeEnum(schema, typeUniverse, cratePrivate) {
46
20
  const visibility = cratePrivate ? 'pub(crate)' : 'pub';
@@ -56,10 +30,11 @@ function generateIfcTypeEnum(schema, typeUniverse, cratePrivate) {
56
30
 
57
31
  ${cratePrivate ? '#![allow(dead_code, clippy::enum_variant_names)] // Full EXPRESS names are required; registry consumers currently use only name lookup and attribute slots.\n\n' : ''}use std::fmt;
58
32
 
33
+ ${generateUnknownIfcType(visibility)}
59
34
  /// IFC Entity Types
60
35
  ///
61
36
  /// All ${typeUniverse.entities.length} entity types from the supported schema universe.
62
- #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
37
+ #[derive(Debug, Clone, PartialEq, Eq, Hash)]
63
38
  ${visibility} enum IfcType {
64
39
  `;
65
40
  // Group entities by category
@@ -75,22 +50,24 @@ ${visibility} enum IfcType {
75
50
  code += '\n';
76
51
  }
77
52
  // Add Unknown variant for unrecognized types
78
- code += ` /// Unknown/unrecognized IFC type (stores CRC32 hash)
79
- Unknown(u32),
53
+ code += ` /// Unknown/unrecognized IFC type with its normalized keyword.
54
+ Unknown(UnknownIfcType),
80
55
  }
81
56
 
82
57
  impl IfcType {
83
58
  ${generateTypeNameParser(typeUniverse)}
84
- /// Parse from CRC32 type ID
85
- pub fn from_id(id: u32) -> Self {
59
+ /// Parse a known schema type from a CRC32 type ID.
60
+ ///
61
+ /// Unknown keywords cannot be reconstructed from a hash.
62
+ pub fn from_id(id: u32) -> Option<Self> {
86
63
  match id {
87
64
  `;
88
65
  // Generate match arms for CRC32 IDs
89
66
  for (const entity of typeUniverse.entities) {
90
67
  const id = crc32(entity.name);
91
- code += ` ${id} => Self::${entity.name},\n`;
68
+ code += ` ${id} => Some(Self::${entity.name}),\n`;
92
69
  }
93
- code += ` _ => Self::Unknown(id),
70
+ code += ` _ => None,
94
71
  }
95
72
  }
96
73
 
@@ -102,29 +79,40 @@ ${generateTypeNameParser(typeUniverse)}
102
79
  const id = crc32(entity.name);
103
80
  code += ` Self::${entity.name} => ${id},\n`;
104
81
  }
105
- code += ` Self::Unknown(id) => *id,
82
+ code += ` Self::Unknown(unknown) => unknown.id(),
106
83
  }
107
84
  }
108
85
 
109
86
  /// Get string representation (uppercase)
110
- pub fn as_str(&self) -> &'static str {
87
+ pub fn as_str(&self) -> &str {
111
88
  match self {
112
89
  `;
113
90
  for (const entity of typeUniverse.entities) {
114
91
  code += ` Self::${entity.name} => "${entity.name.toUpperCase()}",\n`;
115
92
  }
116
- code += ` Self::Unknown(_) => "UNKNOWN",
93
+ code += ` Self::Unknown(unknown) => unknown.as_str(),
94
+ }
95
+ }
96
+
97
+ /// Static schema keyword for a known type, or None for an owned unknown.
98
+ pub fn known_as_str(&self) -> Option<&'static str> {
99
+ match self {
100
+ `;
101
+ for (const entity of typeUniverse.entities) {
102
+ code += ` Self::${entity.name} => Some("${entity.name.toUpperCase()}"),\n`;
103
+ }
104
+ code += ` Self::Unknown(_) => None,
117
105
  }
118
106
  }
119
107
 
120
108
  /// Get display name (PascalCase)
121
- pub fn name(&self) -> &'static str {
109
+ pub fn name(&self) -> &str {
122
110
  match self {
123
111
  `;
124
112
  for (const entity of typeUniverse.entities) {
125
113
  code += ` Self::${entity.name} => "${entity.name}",\n`;
126
114
  }
127
- code += ` Self::Unknown(_) => "Unknown",
115
+ code += ` Self::Unknown(unknown) => unknown.as_str(),
128
116
  }
129
117
  }
130
118
 
@@ -143,7 +131,7 @@ ${generateTypeNameParser(typeUniverse)}
143
131
 
144
132
  /// Check if this type is a subtype of another
145
133
  pub fn is_subtype_of(&self, parent: Self) -> bool {
146
- let mut current = Some(*self);
134
+ let mut current = Some(self.clone());
147
135
  while let Some(t) = current {
148
136
  if t == parent {
149
137
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"rust-generator.js","sourceRoot":"","sources":["../src/rust-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rust-generator.js","sourceRoot":"","sources":["../src/rust-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { EntityDefinition, ExpressSchema } from './express-parser.js';
2
+ /** Render the generated CRC32 constants without coupling this to enum emission. */
3
+ export declare function generateTypeIdConstants(schema: ExpressSchema, cratePrivate: boolean, categorize: (schema: ExpressSchema) => Record<string, EntityDefinition[]>): string;
4
+ //# sourceMappingURL=rust-type-id-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust-type-id-generator.d.ts","sourceRoot":"","sources":["../src/rust-type-id-generator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3E,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,GACxE,MAAM,CAyBR"}
@@ -0,0 +1,30 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ import { crc32 } from './crc32.js';
5
+ /** Render the generated CRC32 constants without coupling this to enum emission. */
6
+ export function generateTypeIdConstants(schema, cratePrivate, categorize) {
7
+ let code = `// This Source Code Form is subject to the terms of the Mozilla Public
8
+ // License, v. 2.0. If a copy of the MPL was not distributed with this
9
+ // file, You can obtain one at https://mozilla.org/MPL/2.0/.
10
+
11
+ //! Auto-generated IFC Type ID Constants
12
+ //!
13
+ //! CRC32 hashes for fast type identification.
14
+ //! Generated from EXPRESS schema: ${schema.name}
15
+ //!
16
+ //! DO NOT EDIT - This file is auto-generated by @ifc-lite/codegen
17
+
18
+ #![allow(dead_code)]
19
+
20
+ `;
21
+ for (const [category, entities] of Object.entries(categorize(schema))) {
22
+ code += `// ${category}\n`;
23
+ for (const entity of entities) {
24
+ code += `pub const ${entity.name.toUpperCase()}: u32 = ${crc32(entity.name)};\n`;
25
+ }
26
+ code += '\n';
27
+ }
28
+ return cratePrivate ? `${code.trimEnd()}\n` : code;
29
+ }
30
+ //# sourceMappingURL=rust-type-id-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust-type-id-generator.js","sourceRoot":"","sources":["../src/rust-type-id-generator.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CACrC,MAAqB,EACrB,YAAqB,EACrB,UAAyE;IAEzE,IAAI,IAAI,GAAG;;;;;;;qCAOwB,MAAM,CAAC,IAAI;;;;;;CAM/C,CAAC;IAEA,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,IAAI,MAAM,QAAQ,IAAI,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,aAAa,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,IAAI,CAAC;IACf,CAAC;IAED,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC"}
@@ -8,12 +8,12 @@ export function generateTypeNameParser(schema) {
8
8
  return known;
9
9
  }
10
10
  if s.bytes().all(|b| b.is_ascii() && !b.is_ascii_lowercase()) {
11
- return Self::Unknown(crc32_hash(s));
11
+ return Self::Unknown(UnknownIfcType::new(s.to_owned()));
12
12
  }
13
13
  // Keep Unicode uppercase expansion and the exact unknown-type CRC.
14
14
  let upper = s.to_uppercase();
15
15
  Self::from_canonical_name(&upper)
16
- .unwrap_or_else(|| Self::Unknown(crc32_hash(&upper)))
16
+ .unwrap_or_else(|| Self::Unknown(UnknownIfcType::new(upper)))
17
17
  }
18
18
 
19
19
  fn from_canonical_name(s: &str) -> Option<Self> {
@@ -0,0 +1,3 @@
1
+ /** Render the generated owned representation for unsupported IFC keywords. */
2
+ export declare function generateUnknownIfcType(visibility: 'pub' | 'pub(crate)'): string;
3
+ //# sourceMappingURL=rust-unknown-ifc-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust-unknown-ifc-type.d.ts","sourceRoot":"","sources":["../src/rust-unknown-ifc-type.ts"],"names":[],"mappings":"AAIA,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CA0B/E"}
@@ -0,0 +1,32 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ /** Render the generated owned representation for unsupported IFC keywords. */
5
+ export function generateUnknownIfcType(visibility) {
6
+ return `/// A normalized IFC keyword not declared by the supported schema universe.
7
+ #[derive(Debug, Clone, PartialEq, Eq, Hash)]
8
+ ${visibility} struct UnknownIfcType {
9
+ name: String,
10
+ id: u32,
11
+ }
12
+
13
+ impl UnknownIfcType {
14
+ fn new(name: String) -> Self {
15
+ let id = crc32_hash(&name);
16
+ Self { name, id }
17
+ }
18
+
19
+ /// Normalized uppercase STEP keyword.
20
+ ${visibility} fn as_str(&self) -> &str {
21
+ &self.name
22
+ }
23
+
24
+ /// CRC32 identifier of the normalized keyword.
25
+ ${visibility} fn id(&self) -> u32 {
26
+ self.id
27
+ }
28
+ }
29
+
30
+ `;
31
+ }
32
+ //# sourceMappingURL=rust-unknown-ifc-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust-unknown-ifc-type.js","sourceRoot":"","sources":["../src/rust-unknown-ifc-type.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,UAAgC;IACrE,OAAO;;EAEP,UAAU;;;;;;;;;;;;MAYN,UAAU;;;;;MAKV,UAAU;;;;;CAKf,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/codegen",
3
- "version": "1.18.0",
3
+ "version": "1.18.1",
4
4
  "description": "TypeScript code generator from IFC EXPRESS schemas",
5
5
  "type": "module",
6
6
  "repository": {
@@ -47,12 +47,12 @@
47
47
  "license": "MPL-2.0",
48
48
  "dependencies": {
49
49
  "commander": "^15.0.0",
50
- "@ifc-lite/data": "^5.0.0"
50
+ "@ifc-lite/data": "^6.0.0"
51
51
  },
52
52
  "devDependencies": {
53
- "@types/node": "^26.4.1",
53
+ "@types/node": "^26.6.1",
54
54
  "typescript": "^6.0.3",
55
- "vitest": "^4.1.11"
55
+ "vitest": "^5.0.1"
56
56
  },
57
57
  "publishConfig": {
58
58
  "access": "public"