jsii-rosetta 5.3.35 → 5.3.37
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/README.md +6 -7
- package/lib/fixtures.js +1 -1
- package/lib/fixtures.js.map +1 -1
- package/lib/languages/python.d.ts +1 -1
- package/lib/languages/record-references.d.ts +1 -1
- package/lib/languages/target-language.d.ts +7 -1
- package/lib/languages/target-language.js +2 -7
- package/lib/languages/target-language.js.map +1 -1
- package/lib/languages/visualize.d.ts +1 -1
- package/package.json +8 -8
- package/releases.json +2 -1
package/README.md
CHANGED
|
@@ -39,13 +39,12 @@ The applicable *Maintenance & Support policy* can be reviewed in [SUPPORT.md](./
|
|
|
39
39
|
|
|
40
40
|
The current status of `jsii-rosetta` releases is:
|
|
41
41
|
|
|
42
|
-
| Release | Status | Comment |
|
|
43
|
-
| ------- | ----------- | ------------------------------------------------------------------------------------------------------- |
|
|
44
|
-
| `5.
|
|
45
|
-
| `5.
|
|
46
|
-
| `5.
|
|
47
|
-
| `
|
|
48
|
-
| `1.x` | Maintenance |  |
|
|
42
|
+
| Release | Status | EOS | Comment |
|
|
43
|
+
| ------- | ----------- | -----------| ------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `5.4.x` | Current | TBD |  |
|
|
45
|
+
| `5.3.x` | Maintenance | 2024-10-07 |  |
|
|
46
|
+
| `5.2.x` | Maintenance | 2024-06-30 |  |
|
|
47
|
+
| `1.x` | Maintenance | 2024-10-31 |  |
|
|
49
48
|
|
|
50
49
|
## :gear: Contributing
|
|
51
50
|
|
package/lib/fixtures.js
CHANGED
|
@@ -160,7 +160,7 @@ function sidelineImports(source) {
|
|
|
160
160
|
if (statement.kind === typescript_1.SyntaxKind.ImportDeclaration ||
|
|
161
161
|
statement.kind === typescript_1.SyntaxKind.ImportEqualsDeclaration ||
|
|
162
162
|
(statement.kind === typescript_1.SyntaxKind.VariableStatement &&
|
|
163
|
-
statement.getChildAt(0)
|
|
163
|
+
statement.getChildAt(0)?.getChildAt(0)?.kind === typescript_1.SyntaxKind.DeclareKeyword)) {
|
|
164
164
|
imports += statement.getFullText(sourceFile);
|
|
165
165
|
}
|
|
166
166
|
else {
|
package/lib/fixtures.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { createSourceFile, ScriptKind, ScriptTarget, SyntaxKind } from 'typescript';\n\nimport { TypeScriptSnippet, SnippetParameters, ApiLocation } from './snippet';\n\n/**\n * Complete snippets with fixtures, if required\n */\nexport function fixturize(snippet: TypeScriptSnippet, loose = false): TypeScriptSnippet {\n let source = snippet.visibleSource;\n const parameters = snippet.parameters ?? {};\n\n const directory = parameters[SnippetParameters.$PROJECT_DIRECTORY];\n if (!directory) {\n return snippet;\n }\n\n const literateSource = parameters[SnippetParameters.LITERATE_SOURCE];\n if (literateSource) {\n // Compatibility with the \"old school\" example inclusion mechanism.\n // Completely load this file and attach a parameter with its directory.\n try {\n source = loadLiterateSource(directory, literateSource);\n } catch (ex) {\n // In loose mode, we ignore this failure and stick to the visible source.\n if (!loose) {\n throw ex;\n }\n }\n parameters[SnippetParameters.$COMPILATION_DIRECTORY] = path.join(directory, path.dirname(literateSource));\n } else if (parameters[SnippetParameters.FIXTURE]) {\n // Explicitly requested fixture must exist, unless we are operating in loose mode\n source = loadAndSubFixture(directory, snippet.location.api, parameters.fixture, source, !loose);\n } else if (parameters[SnippetParameters.NO_FIXTURE] === undefined) {\n // Don't explicitly request no fixture, load the default.\n source = loadAndSubFixture(directory, snippet.location.api, 'default', source, false);\n }\n\n return {\n ...snippet,\n completeSource: source,\n parameters,\n };\n}\n\nfunction loadLiterateSource(directory: string, literateFileName: string) {\n const fullPath = path.join(directory, literateFileName);\n const exists = fs.existsSync(fullPath);\n if (!exists) {\n // This couldn't really happen in practice, but do the check anyway\n throw new Error(`Sample uses literate source ${literateFileName}, but not found: ${fullPath}`);\n }\n return fs.readFileSync(fullPath).toString('utf-8');\n}\n\n/**\n * Load the fixture with the given name, and substitute the source into it\n *\n * If no fixture could be found and `mustExist` is true, and error will be thrown.\n *\n * In principle, the fixture we're looking for is `rosetta/FIXTURE.ts-fixture`.\n * However, we want to support an automatic transform of many small packages\n * combined into a single large package, perhaps into submodules (i.e., we want\n * to support monocdk), and in those cases the names of fixtures might conflict.\n * For example, all of them will have a `default.ts-fixture`, and there won't be\n * any explicit reference to that file anywhere... yet in the combined\n * monopackage we have to distinguish those fixtures.\n *\n * Therefore, we will consider submodule names as subdirectories, based on the\n * API location of the snippet we're fixturizing.\n *\n * (For example, the fixtures for a type called `monocdk.aws_s3.Bucket` will be\n * searched both in `rosetta/aws_s3/default.ts-fixture` as well as\n * `rosetta/default.ts-fixture`).\n */\nfunction loadAndSubFixture(\n directory: string,\n location: ApiLocation,\n fixtureName: string,\n source: string,\n mustExist: boolean,\n) {\n const candidates = fixtureCandidates(directory, fixtureName, location);\n const fixtureFileName = candidates.find((n) => fs.existsSync(n));\n\n if (!fixtureFileName) {\n if (mustExist) {\n throw new Error(`Sample uses fixture ${fixtureName}, but not found: ${JSON.stringify(candidates)}`);\n }\n return source;\n }\n\n const fixtureContents = fs.readFileSync(fixtureFileName, {\n encoding: 'utf-8',\n });\n\n const subRegex = /[/]{3}[ \\t]*here[ \\t]*$/im;\n if (!subRegex.test(fixtureContents)) {\n throw new Error(`Fixture does not contain '/// here': ${fixtureFileName}`);\n }\n\n const { imports, statements } = sidelineImports(source);\n const show = '/// !show';\n const hide = '/// !hide';\n\n const result = fixtureContents.replace(\n subRegex,\n [\n '// Code snippet begins after !show marker below',\n show,\n statements,\n hide,\n '// Code snippet ended before !hide marker above',\n ].join('\\n'),\n );\n\n return imports\n ? [\n '// Hoisted imports begin after !show marker below',\n show,\n imports,\n hide,\n '// Hoisted imports ended before !hide marker above',\n result,\n ].join('\\n')\n : result;\n}\n\nfunction fixtureCandidates(directory: string, fixtureName: string, location: ApiLocation): string[] {\n const ret = new Array<string>();\n const fileName = `${fixtureName}.ts-fixture`;\n const mods = submodules(location);\n\n ret.push(path.join(directory, 'rosetta', fileName));\n for (let i = 0; i < mods.length; i++) {\n ret.push(path.join(directory, 'rosetta', ...mods.slice(0, i + 1), fileName));\n }\n\n // Most specific one up front\n ret.reverse();\n return ret;\n}\n\n/**\n * Return the submodule parts from a given ApiLocation\n */\nfunction submodules(location: ApiLocation): string[] {\n switch (location.api) {\n case 'file':\n return [];\n case 'initializer':\n case 'member':\n case 'type':\n case 'parameter':\n return middle(location.fqn.split('.'));\n case 'moduleReadme':\n return location.moduleFqn.split('.').slice(1);\n }\n\n function middle(xs: string[]) {\n return xs.slice(1, xs.length - 1);\n }\n}\n\n/**\n * When embedding code fragments in a fixture, \"import\" statements must be\n * hoisted up to the top of the resulting document, as TypeScript only allows\n * those to be present in the top-level context of an ESM.\n *\n * @param source a block of TypeScript source\n *\n * @returns an object containing the import statements on one end, and the rest\n * on the other hand.\n */\nfunction sidelineImports(source: string): {\n imports: string;\n statements: string;\n} {\n let imports = '';\n let statements = '';\n\n const sourceFile = createSourceFile('index.ts', source, ScriptTarget.Latest, true, ScriptKind.TS);\n for (const statement of sourceFile.statements) {\n if (\n statement.kind === SyntaxKind.ImportDeclaration ||\n statement.kind === SyntaxKind.ImportEqualsDeclaration ||\n (statement.kind === SyntaxKind.VariableStatement &&\n statement.getChildAt(0).getChildAt(0).kind === SyntaxKind.DeclareKeyword)\n ) {\n imports += statement.getFullText(sourceFile);\n } else {\n statements += statement.getFullText(sourceFile);\n }\n }\n\n return { imports, statements };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,kCAAkC;AAClC,2CAAoF;AAEpF,uCAA8E;AAE9E;;GAEG;AACH,SAAgB,SAAS,CAAC,OAA0B,EAAE,KAAK,GAAG,KAAK;IACjE,IAAI,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IAE5C,MAAM,SAAS,GAAG,UAAU,CAAC,2BAAiB,CAAC,kBAAkB,CAAC,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,2BAAiB,CAAC,eAAe,CAAC,CAAC;IACrE,IAAI,cAAc,EAAE,CAAC;QACnB,mEAAmE;QACnE,uEAAuE;QACvE,IAAI,CAAC;YACH,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,yEAAyE;YACzE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QACD,UAAU,CAAC,2BAAiB,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5G,CAAC;SAAM,IAAI,UAAU,CAAC,2BAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,iFAAiF;QACjF,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IAClG,CAAC;SAAM,IAAI,UAAU,CAAC,2BAAiB,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;QAClE,yDAAyD;QACzD,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxF,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,cAAc,EAAE,MAAM;QACtB,UAAU;KACX,CAAC;AACJ,CAAC;AAnCD,8BAmCC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,gBAAwB;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,mEAAmE;QACnE,MAAM,IAAI,KAAK,CAAC,+BAA+B,gBAAgB,oBAAoB,QAAQ,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,iBAAiB,CACxB,SAAiB,EACjB,QAAqB,EACrB,WAAmB,EACnB,MAAc,EACd,SAAkB;IAElB,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE;QACvD,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,2BAA2B,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,wCAAwC,eAAe,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,WAAW,CAAC;IACzB,MAAM,IAAI,GAAG,WAAW,CAAC;IAEzB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CACpC,QAAQ,EACR;QACE,iDAAiD;QACjD,IAAI;QACJ,UAAU;QACV,IAAI;QACJ,iDAAiD;KAClD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,OAAO,OAAO;QACZ,CAAC,CAAC;YACE,mDAAmD;YACnD,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,oDAAoD;YACpD,MAAM;SACP,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,WAAmB,EAAE,QAAqB;IACtF,MAAM,GAAG,GAAG,IAAI,KAAK,EAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,WAAW,aAAa,CAAC;IAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,6BAA6B;IAC7B,GAAG,CAAC,OAAO,EAAE,CAAC;IACd,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,QAAqB;IACvC,QAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,MAAM,CAAC,EAAY;QAC1B,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,MAAc;IAIrC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,UAAU,GAAG,IAAA,6BAAgB,EAAC,UAAU,EAAE,MAAM,EAAE,yBAAY,CAAC,MAAM,EAAE,IAAI,EAAE,uBAAU,CAAC,EAAE,CAAC,CAAC;IAClG,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,IACE,SAAS,CAAC,IAAI,KAAK,uBAAU,CAAC,iBAAiB;YAC/C,SAAS,CAAC,IAAI,KAAK,uBAAU,CAAC,uBAAuB;YACrD,CAAC,SAAS,CAAC,IAAI,KAAK,uBAAU,CAAC,iBAAiB;gBAC9C,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,uBAAU,CAAC,cAAc,CAAC,EAC7E,CAAC;YACD,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,UAAU,IAAI,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { createSourceFile, ScriptKind, ScriptTarget, SyntaxKind } from 'typescript';\n\nimport { TypeScriptSnippet, SnippetParameters, ApiLocation } from './snippet';\n\n/**\n * Complete snippets with fixtures, if required\n */\nexport function fixturize(snippet: TypeScriptSnippet, loose = false): TypeScriptSnippet {\n let source = snippet.visibleSource;\n const parameters = snippet.parameters ?? {};\n\n const directory = parameters[SnippetParameters.$PROJECT_DIRECTORY];\n if (!directory) {\n return snippet;\n }\n\n const literateSource = parameters[SnippetParameters.LITERATE_SOURCE];\n if (literateSource) {\n // Compatibility with the \"old school\" example inclusion mechanism.\n // Completely load this file and attach a parameter with its directory.\n try {\n source = loadLiterateSource(directory, literateSource);\n } catch (ex) {\n // In loose mode, we ignore this failure and stick to the visible source.\n if (!loose) {\n throw ex;\n }\n }\n parameters[SnippetParameters.$COMPILATION_DIRECTORY] = path.join(directory, path.dirname(literateSource));\n } else if (parameters[SnippetParameters.FIXTURE]) {\n // Explicitly requested fixture must exist, unless we are operating in loose mode\n source = loadAndSubFixture(directory, snippet.location.api, parameters.fixture, source, !loose);\n } else if (parameters[SnippetParameters.NO_FIXTURE] === undefined) {\n // Don't explicitly request no fixture, load the default.\n source = loadAndSubFixture(directory, snippet.location.api, 'default', source, false);\n }\n\n return {\n ...snippet,\n completeSource: source,\n parameters,\n };\n}\n\nfunction loadLiterateSource(directory: string, literateFileName: string) {\n const fullPath = path.join(directory, literateFileName);\n const exists = fs.existsSync(fullPath);\n if (!exists) {\n // This couldn't really happen in practice, but do the check anyway\n throw new Error(`Sample uses literate source ${literateFileName}, but not found: ${fullPath}`);\n }\n return fs.readFileSync(fullPath).toString('utf-8');\n}\n\n/**\n * Load the fixture with the given name, and substitute the source into it\n *\n * If no fixture could be found and `mustExist` is true, and error will be thrown.\n *\n * In principle, the fixture we're looking for is `rosetta/FIXTURE.ts-fixture`.\n * However, we want to support an automatic transform of many small packages\n * combined into a single large package, perhaps into submodules (i.e., we want\n * to support monocdk), and in those cases the names of fixtures might conflict.\n * For example, all of them will have a `default.ts-fixture`, and there won't be\n * any explicit reference to that file anywhere... yet in the combined\n * monopackage we have to distinguish those fixtures.\n *\n * Therefore, we will consider submodule names as subdirectories, based on the\n * API location of the snippet we're fixturizing.\n *\n * (For example, the fixtures for a type called `monocdk.aws_s3.Bucket` will be\n * searched both in `rosetta/aws_s3/default.ts-fixture` as well as\n * `rosetta/default.ts-fixture`).\n */\nfunction loadAndSubFixture(\n directory: string,\n location: ApiLocation,\n fixtureName: string,\n source: string,\n mustExist: boolean,\n) {\n const candidates = fixtureCandidates(directory, fixtureName, location);\n const fixtureFileName = candidates.find((n) => fs.existsSync(n));\n\n if (!fixtureFileName) {\n if (mustExist) {\n throw new Error(`Sample uses fixture ${fixtureName}, but not found: ${JSON.stringify(candidates)}`);\n }\n return source;\n }\n\n const fixtureContents = fs.readFileSync(fixtureFileName, {\n encoding: 'utf-8',\n });\n\n const subRegex = /[/]{3}[ \\t]*here[ \\t]*$/im;\n if (!subRegex.test(fixtureContents)) {\n throw new Error(`Fixture does not contain '/// here': ${fixtureFileName}`);\n }\n\n const { imports, statements } = sidelineImports(source);\n const show = '/// !show';\n const hide = '/// !hide';\n\n const result = fixtureContents.replace(\n subRegex,\n [\n '// Code snippet begins after !show marker below',\n show,\n statements,\n hide,\n '// Code snippet ended before !hide marker above',\n ].join('\\n'),\n );\n\n return imports\n ? [\n '// Hoisted imports begin after !show marker below',\n show,\n imports,\n hide,\n '// Hoisted imports ended before !hide marker above',\n result,\n ].join('\\n')\n : result;\n}\n\nfunction fixtureCandidates(directory: string, fixtureName: string, location: ApiLocation): string[] {\n const ret = new Array<string>();\n const fileName = `${fixtureName}.ts-fixture`;\n const mods = submodules(location);\n\n ret.push(path.join(directory, 'rosetta', fileName));\n for (let i = 0; i < mods.length; i++) {\n ret.push(path.join(directory, 'rosetta', ...mods.slice(0, i + 1), fileName));\n }\n\n // Most specific one up front\n ret.reverse();\n return ret;\n}\n\n/**\n * Return the submodule parts from a given ApiLocation\n */\nfunction submodules(location: ApiLocation): string[] {\n switch (location.api) {\n case 'file':\n return [];\n case 'initializer':\n case 'member':\n case 'type':\n case 'parameter':\n return middle(location.fqn.split('.'));\n case 'moduleReadme':\n return location.moduleFqn.split('.').slice(1);\n }\n\n function middle(xs: string[]) {\n return xs.slice(1, xs.length - 1);\n }\n}\n\n/**\n * When embedding code fragments in a fixture, \"import\" statements must be\n * hoisted up to the top of the resulting document, as TypeScript only allows\n * those to be present in the top-level context of an ESM.\n *\n * @param source a block of TypeScript source\n *\n * @returns an object containing the import statements on one end, and the rest\n * on the other hand.\n */\nfunction sidelineImports(source: string): {\n imports: string;\n statements: string;\n} {\n let imports = '';\n let statements = '';\n\n const sourceFile = createSourceFile('index.ts', source, ScriptTarget.Latest, true, ScriptKind.TS);\n for (const statement of sourceFile.statements) {\n if (\n statement.kind === SyntaxKind.ImportDeclaration ||\n statement.kind === SyntaxKind.ImportEqualsDeclaration ||\n (statement.kind === SyntaxKind.VariableStatement &&\n statement.getChildAt(0)?.getChildAt(0)?.kind === SyntaxKind.DeclareKeyword)\n ) {\n imports += statement.getFullText(sourceFile);\n } else {\n statements += statement.getFullText(sourceFile);\n }\n }\n\n return { imports, statements };\n}\n"]}
|
|
@@ -75,7 +75,7 @@ export declare class PythonVisitor extends DefaultVisitor<PythonLanguageContext>
|
|
|
75
75
|
* existing cached translations.
|
|
76
76
|
*/
|
|
77
77
|
static readonly VERSION = "2";
|
|
78
|
-
readonly language = TargetLanguage.
|
|
78
|
+
readonly language = TargetLanguage.PYTHON;
|
|
79
79
|
readonly defaultContext: {};
|
|
80
80
|
/**
|
|
81
81
|
* Keep track of module imports we've seen, so that if we need to render a type we can pick from these modules
|
|
@@ -14,7 +14,7 @@ type RecordReferencesRenderer = AstRenderer<RecordReferencesContext>;
|
|
|
14
14
|
export declare class RecordReferencesVisitor extends DefaultVisitor<RecordReferencesContext> {
|
|
15
15
|
private readonly visibleSpans;
|
|
16
16
|
static readonly VERSION = "2";
|
|
17
|
-
readonly language = TargetLanguage.
|
|
17
|
+
readonly language = TargetLanguage.PYTHON;
|
|
18
18
|
readonly defaultContext: {};
|
|
19
19
|
private readonly references;
|
|
20
20
|
constructor(visibleSpans: Spans);
|
|
@@ -4,10 +4,16 @@ export declare enum TargetLanguage {
|
|
|
4
4
|
JAVA = "java",
|
|
5
5
|
GO = "go"
|
|
6
6
|
}
|
|
7
|
-
export declare function targetName(language: TargetLanguage
|
|
7
|
+
export declare function targetName(language: TargetLanguage): 'python' | 'dotnet' | 'java' | 'go';
|
|
8
|
+
export declare function targetName(language: TargetLanguage.PYTHON): 'python';
|
|
8
9
|
export declare function targetName(language: TargetLanguage.CSHARP): 'dotnet';
|
|
9
10
|
export declare function targetName(language: TargetLanguage.JAVA): 'java';
|
|
10
11
|
export declare function targetName(language: TargetLanguage.GO): 'go';
|
|
12
|
+
/**
|
|
13
|
+
* @param language a possible value for `TargetLanguage`.
|
|
14
|
+
*
|
|
15
|
+
* @returns the name of the target configuration block for the given language.
|
|
16
|
+
*/
|
|
11
17
|
export declare function targetName(language: TargetLanguage): 'python' | 'dotnet' | 'java' | 'go';
|
|
12
18
|
/**
|
|
13
19
|
* Determines whether the supplied language supports transitive submodule
|
|
@@ -4,19 +4,14 @@ exports.supportsTransitiveSubmoduleAccess = exports.targetName = exports.TargetL
|
|
|
4
4
|
const assert = require("node:assert");
|
|
5
5
|
var TargetLanguage;
|
|
6
6
|
(function (TargetLanguage) {
|
|
7
|
-
/** @internal an alias of PYTHON to make intent clear when language is irrelevant */
|
|
8
|
-
TargetLanguage["VISUALIZE"] = "python";
|
|
9
7
|
TargetLanguage["PYTHON"] = "python";
|
|
10
8
|
TargetLanguage["CSHARP"] = "csharp";
|
|
11
9
|
TargetLanguage["JAVA"] = "java";
|
|
12
10
|
TargetLanguage["GO"] = "go";
|
|
11
|
+
/** @internal an alias of PYTHON to make intent clear when language is irrelevant, must be last */
|
|
12
|
+
TargetLanguage["VISUALIZE"] = "python";
|
|
13
13
|
})(TargetLanguage || (exports.TargetLanguage = TargetLanguage = {}));
|
|
14
14
|
const VALID_TARGET_LANGUAGES = new Set(Object.values(TargetLanguage));
|
|
15
|
-
/**
|
|
16
|
-
* @param language a possible value for `TargetLanguage`.
|
|
17
|
-
*
|
|
18
|
-
* @returns the name of the target configuration block for the given language.
|
|
19
|
-
*/
|
|
20
15
|
function targetName(language) {
|
|
21
16
|
// The TypeScript compiler should guarantee the below `switch` statement covers all possible
|
|
22
17
|
// values of the TargetLanguage enum, but we add an assert here for clarity of intent.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-language.js","sourceRoot":"","sources":["../../src/languages/target-language.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AAEtC,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,
|
|
1
|
+
{"version":3,"file":"target-language.js","sourceRoot":"","sources":["../../src/languages/target-language.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AAEtC,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,2BAAS,CAAA;IACT,kGAAkG;IAClG,sCAAoB,CAAA;AACtB,CAAC,EAPW,cAAc,8BAAd,cAAc,QAOzB;AAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAgBtE,SAAgB,UAAU,CAAC,QAAwB;IACjD,4FAA4F;IAC5F,sFAAsF;IACtF,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,kDAAkD,QAAQ,EAAE,CAAC,CAAC;IAE3G,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,cAAc,CAAC,SAAS,CAAC;QAC9B,KAAK,cAAc,CAAC,MAAM;YACxB,OAAO,QAAQ,CAAC;QAClB,KAAK,cAAc,CAAC,MAAM;YACxB,OAAO,QAAQ,CAAC;QAClB,KAAK,cAAc,CAAC,IAAI;YACtB,OAAO,MAAM,CAAC;QAChB,KAAK,cAAc,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAhBD,gCAgBC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,iCAAiC,CAAC,QAAwB;IACxE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,cAAc,CAAC,SAAS,CAAC;QAC9B,KAAK,cAAc,CAAC,MAAM;YACxB,OAAO,IAAI,CAAC;QACd,KAAK,cAAc,CAAC,MAAM;YACxB,OAAO,IAAI,CAAC;QACd,KAAK,cAAc,CAAC,IAAI;YACtB,OAAO,KAAK,CAAC;QACf,KAAK,cAAc,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAZD,8EAYC","sourcesContent":["import * as assert from 'node:assert';\n\nexport enum TargetLanguage {\n PYTHON = 'python',\n CSHARP = 'csharp',\n JAVA = 'java',\n GO = 'go',\n /** @internal an alias of PYTHON to make intent clear when language is irrelevant, must be last */\n VISUALIZE = 'python',\n}\n\nconst VALID_TARGET_LANGUAGES = new Set(Object.values(TargetLanguage));\n\nexport function targetName(language: TargetLanguage): 'python' | 'dotnet' | 'java' | 'go';\nexport function targetName(language: TargetLanguage.PYTHON): 'python';\nexport function targetName(language: TargetLanguage.CSHARP): 'dotnet';\nexport function targetName(language: TargetLanguage.JAVA): 'java';\nexport function targetName(language: TargetLanguage.GO): 'go';\n/** @internal an alias of PYTHON to make intent clear when language is irrelevant, must be last override */\nexport function targetName(language: TargetLanguage.VISUALIZE): 'python';\n\n/**\n * @param language a possible value for `TargetLanguage`.\n *\n * @returns the name of the target configuration block for the given language.\n */\nexport function targetName(language: TargetLanguage): 'python' | 'dotnet' | 'java' | 'go';\nexport function targetName(language: TargetLanguage): 'python' | 'dotnet' | 'java' | 'go' {\n // The TypeScript compiler should guarantee the below `switch` statement covers all possible\n // values of the TargetLanguage enum, but we add an assert here for clarity of intent.\n assert(VALID_TARGET_LANGUAGES.has(language), `Invalid/unexpected target language identifier: ${language}`);\n\n switch (language) {\n case TargetLanguage.VISUALIZE:\n case TargetLanguage.PYTHON:\n return 'python';\n case TargetLanguage.CSHARP:\n return 'dotnet';\n case TargetLanguage.JAVA:\n return 'java';\n case TargetLanguage.GO:\n return 'go';\n }\n}\n\n/**\n * Determines whether the supplied language supports transitive submodule\n * access (similar to how TypeScript/Javascript allows to use a partially\n * qualified name to access a namespace-nested value).\n *\n * If `true`, imports will mirror those found in the original TypeScript\n * code, namespace-traversing property accesses will be rendered as such. This\n * means the following snippet would be transformed \"as-is\":\n * ```ts\n * import * as cdk from 'aws-cdk-lib';\n * new cdk.aws_s3.Bucket(this, 'Bucket');\n * ```\n *\n * If `false` on the other hand, each used submodule will be imported\n * separately and namespace-traversing property accesses will be replaced with\n * references to the separately-imported submodule. This means the above\n * snippet would be transformed as if it had been modifired to:\n * ```ts\n * import * as aws_s3 from 'aws-cdk-lib/aws-s3';\n * new aws_s3.Bucket(this, 'Bucket');\n * ```\n */\nexport function supportsTransitiveSubmoduleAccess(language: TargetLanguage): boolean {\n switch (language) {\n case TargetLanguage.VISUALIZE:\n case TargetLanguage.PYTHON:\n return true;\n case TargetLanguage.CSHARP:\n return true;\n case TargetLanguage.JAVA:\n return false;\n case TargetLanguage.GO:\n return false;\n }\n}\n"]}
|
|
@@ -5,7 +5,7 @@ import { AstRenderer, AstHandler, CommentSyntax } from '../renderer';
|
|
|
5
5
|
import { ImportStatement } from '../typescript/imports';
|
|
6
6
|
export declare class VisualizeAstVisitor implements AstHandler<void> {
|
|
7
7
|
private readonly includeHandlerNames?;
|
|
8
|
-
readonly language = TargetLanguage.
|
|
8
|
+
readonly language = TargetLanguage.PYTHON;
|
|
9
9
|
readonly defaultContext: void;
|
|
10
10
|
constructor(includeHandlerNames?: boolean | undefined);
|
|
11
11
|
mergeContext(_old: any, _update: any): any;
|
package/package.json
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@types/mock-fs": "^4.13.4",
|
|
42
42
|
"@types/node": "^18",
|
|
43
43
|
"@types/stream-json": "^1.7.7",
|
|
44
|
-
"@types/tar": "^6.1.
|
|
44
|
+
"@types/tar": "^6.1.13",
|
|
45
45
|
"@types/workerpool": "^6.4.7",
|
|
46
46
|
"@typescript-eslint/eslint-plugin": "^6",
|
|
47
47
|
"@typescript-eslint/parser": "^6",
|
|
@@ -53,25 +53,25 @@
|
|
|
53
53
|
"eslint-plugin-import": "^2.29.1",
|
|
54
54
|
"eslint-plugin-prettier": "^4.2.1",
|
|
55
55
|
"eslint-plugin-unicorn": "^46.0.1",
|
|
56
|
-
"fs-monkey": "^1.0.
|
|
56
|
+
"fs-monkey": "^1.0.6",
|
|
57
57
|
"jest": "^29.7.0",
|
|
58
|
-
"memfs": "^4.
|
|
58
|
+
"memfs": "^4.9.2",
|
|
59
59
|
"mock-fs": "^5.2.0",
|
|
60
60
|
"prettier": "^2.8.8",
|
|
61
|
-
"projen": "^0.
|
|
61
|
+
"projen": "^0.81.15",
|
|
62
62
|
"tar": "^6.2.1",
|
|
63
63
|
"ts-jest": "^29.1.2",
|
|
64
64
|
"ts-node": "^10.9.2"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@jsii/check-node": "1.
|
|
68
|
-
"@jsii/spec": "^1.
|
|
67
|
+
"@jsii/check-node": "1.98.0",
|
|
68
|
+
"@jsii/spec": "^1.98.0",
|
|
69
69
|
"@xmldom/xmldom": "^0.8.10",
|
|
70
70
|
"chalk": "^4",
|
|
71
71
|
"commonmark": "^0.31.0",
|
|
72
72
|
"fast-glob": "^3.3.2",
|
|
73
73
|
"jsii": "~5.3.0",
|
|
74
|
-
"semver": "^7.6.
|
|
74
|
+
"semver": "^7.6.2",
|
|
75
75
|
"semver-intersect": "^1.5.0",
|
|
76
76
|
"stream-json": "^1.8.0",
|
|
77
77
|
"typescript": "~5.3",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"main": "lib/index.js",
|
|
85
85
|
"license": "Apache-2.0",
|
|
86
86
|
"homepage": "https://aws.github.io/jsii",
|
|
87
|
-
"version": "5.3.
|
|
87
|
+
"version": "5.3.37",
|
|
88
88
|
"types": "lib/index.d.ts",
|
|
89
89
|
"exports": {
|
|
90
90
|
".": "./lib/index.js",
|
package/releases.json
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"maintenance": {
|
|
5
5
|
"5.0": "2024-01-31T00:00:00.000Z",
|
|
6
6
|
"5.1": "2024-04-30T00:00:00.000Z",
|
|
7
|
-
"5.2": "2024-06-30T00:00:00.000Z"
|
|
7
|
+
"5.2": "2024-06-30T00:00:00.000Z",
|
|
8
|
+
"5.3": "2024-10-15T00:00:00.000Z"
|
|
8
9
|
},
|
|
9
10
|
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
|
10
11
|
}
|