@codama/renderers-js 1.5.4 → 1.5.5
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/index.browser.cjs +19 -18
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.mjs +19 -19
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.node.cjs +18 -17
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +19 -19
- package/dist/index.node.mjs.map +1 -1
- package/dist/index.react-native.mjs +19 -19
- package/dist/index.react-native.mjs.map +1 -1
- package/dist/types/utils/formatCode.d.ts +4 -4
- package/dist/types/utils/formatCode.d.ts.map +1 -1
- package/dist/types/utils/packageJson.d.ts +3 -2
- package/dist/types/utils/packageJson.d.ts.map +1 -1
- package/dist/types/visitors/renderVisitor.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { camelCase, pascalCase, snakeCase, titleCase, kebabCase, capitalize, REGISTERED_TYPE_NODE_KINDS, REGISTERED_VALUE_NODE_KINDS, isNodeFilter, resolveNestedTypeNode, structTypeNodeFromInstructionArgumentNodes, isNode, isScalarEnum, structTypeNode, structFieldTypeNode, getAllPrograms, getAllPdas, getAllAccounts, getAllInstructionsWithSubs, getAllDefinedTypes, definedTypeLinkNode, definedTypeNode, isDataEnum, accountValueNode, argumentValueNode, parseOptionalAccountStrategy, VALUE_NODES, getAllInstructionArguments, constantDiscriminatorNode, constantValueNodeFromBytes, constantValueNode, assertIsNode } from '@codama/nodes';
|
|
2
|
-
import { setFragmentContent, mapFragmentContent, createRenderMap, mergeRenderMaps, deleteDirectory, writeRenderMap, createFragmentTemplate,
|
|
2
|
+
import { setFragmentContent, mapFragmentContent, createRenderMap, mergeRenderMaps, deleteDirectory, mapRenderMapContentAsync, writeRenderMap, createFragmentTemplate, joinPath, fileExists, readJson, writeFile } from '@codama/renderers-core';
|
|
3
3
|
import { NodeStack, pipe, staticVisitor, extendVisitor, visit, findLastNodeFromPath, recordNodeStackVisitor, LinkableDictionary, getResolvedInstructionInputsVisitor, getByteSizeVisitor, recordLinkablesOnFirstVisitVisitor, rootNodeVisitor, findProgramNodeFromPath, getLastNodeFromPath, findInstructionNodeFromPath, deduplicateInstructionDependencies } from '@codama/visitors-core';
|
|
4
4
|
import { getBase64Encoder, getBase58Encoder, getBase16Encoder, getUtf8Encoder, getBase64Decoder } from '@solana/codecs-strings';
|
|
5
|
-
import
|
|
5
|
+
import 'prettier';
|
|
6
|
+
import * as babelPlugin from 'prettier/plugins/babel';
|
|
6
7
|
import * as estreePlugin from 'prettier/plugins/estree';
|
|
7
8
|
import * as typeScriptPlugin from 'prettier/plugins/typescript';
|
|
9
|
+
import { format } from 'prettier/standalone';
|
|
8
10
|
import { CodamaError, CODAMA_ERROR__UNEXPECTED_NODE_KIND, logWarn, CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS } from '@codama/errors';
|
|
9
11
|
import { subset, minVersion, lt } from 'semver';
|
|
10
12
|
|
|
@@ -384,25 +386,17 @@ var getDefinedTypeNodesToExtract = (nodes, parsedCustomDataOptions) => nodes.fla
|
|
|
384
386
|
];
|
|
385
387
|
});
|
|
386
388
|
var DEFAULT_PRETTIER_OPTIONS = {
|
|
387
|
-
|
|
388
|
-
parser: "typescript",
|
|
389
|
-
plugins: [estreePlugin, typeScriptPlugin],
|
|
390
|
-
printWidth: 80,
|
|
391
|
-
semi: true,
|
|
392
|
-
singleQuote: true,
|
|
393
|
-
tabWidth: 2,
|
|
394
|
-
trailingComma: "es5",
|
|
395
|
-
useTabs: false
|
|
389
|
+
plugins: [estreePlugin, typeScriptPlugin, babelPlugin]
|
|
396
390
|
};
|
|
397
|
-
async function
|
|
391
|
+
async function getCodeFormatter(options) {
|
|
398
392
|
const shouldFormatCode = options.formatCode ?? true;
|
|
399
|
-
if (!shouldFormatCode) return
|
|
393
|
+
if (!shouldFormatCode) return (code) => Promise.resolve(code);
|
|
400
394
|
const prettierOptions = {
|
|
401
395
|
...DEFAULT_PRETTIER_OPTIONS,
|
|
402
396
|
...await resolvePrettierOptions(options.packageFolder),
|
|
403
397
|
...options.prettierOptions
|
|
404
398
|
};
|
|
405
|
-
return
|
|
399
|
+
return (code, filepath) => format(code, { ...prettierOptions, filepath });
|
|
406
400
|
}
|
|
407
401
|
async function resolvePrettierOptions(packageFolder) {
|
|
408
402
|
{
|
|
@@ -466,7 +460,7 @@ var DEFAULT_DEPENDENCY_VERSIONS = {
|
|
|
466
460
|
"@solana/rpc-types": "^5.0.0",
|
|
467
461
|
"@solana/signers": "^5.0.0"
|
|
468
462
|
};
|
|
469
|
-
function syncPackageJson(renderMap, options) {
|
|
463
|
+
async function syncPackageJson(renderMap, formatCode, options) {
|
|
470
464
|
const shouldSyncPackageJson = options.syncPackageJson ?? false;
|
|
471
465
|
const packageFolder = options.packageFolder;
|
|
472
466
|
if (!packageFolder) {
|
|
@@ -490,10 +484,10 @@ function syncPackageJson(renderMap, options) {
|
|
|
490
484
|
}
|
|
491
485
|
if (fileExists(packageJsonPath)) {
|
|
492
486
|
const packageJson = updateExistingPackageJson(readJson(packageJsonPath), usedDependencies);
|
|
493
|
-
|
|
487
|
+
await writePackageJson(packageJson, packageJsonPath, formatCode);
|
|
494
488
|
} else {
|
|
495
489
|
const packageJson = createNewPackageJson(usedDependencies);
|
|
496
|
-
|
|
490
|
+
await writePackageJson(packageJson, packageJsonPath, formatCode);
|
|
497
491
|
}
|
|
498
492
|
}
|
|
499
493
|
function createNewPackageJson(dependencyVersions) {
|
|
@@ -621,6 +615,11 @@ function updateDependency(dependencyGroup, dependency, requiredRange) {
|
|
|
621
615
|
if (!shouldUpdateRange(dependency, currentRange, requiredRange)) return;
|
|
622
616
|
dependencyGroup[dependency] = requiredRange;
|
|
623
617
|
}
|
|
618
|
+
async function writePackageJson(packageJson, packageJsonPath, formatCode) {
|
|
619
|
+
const packageJsonContent = JSON.stringify(packageJson, null, 2) + "\n";
|
|
620
|
+
const formattedContent = await formatCode(packageJsonContent, packageJsonPath);
|
|
621
|
+
writeFile(packageJsonPath, formattedContent);
|
|
622
|
+
}
|
|
624
623
|
|
|
625
624
|
// src/fragments/accountFetchHelpers.ts
|
|
626
625
|
function getAccountFetchHelpersFragment(scope) {
|
|
@@ -3202,8 +3201,9 @@ function renderVisitor(path, options = {}) {
|
|
|
3202
3201
|
deleteDirectory(path);
|
|
3203
3202
|
}
|
|
3204
3203
|
let renderMap = visit(root, getRenderMapVisitor(options));
|
|
3205
|
-
|
|
3206
|
-
|
|
3204
|
+
const formatCode = await getCodeFormatter(options);
|
|
3205
|
+
renderMap = await mapRenderMapContentAsync(renderMap, formatCode);
|
|
3206
|
+
await syncPackageJson(renderMap, formatCode, options);
|
|
3207
3207
|
writeRenderMap(renderMap, path);
|
|
3208
3208
|
});
|
|
3209
3209
|
}
|