pxt-core 9.3.3 → 9.3.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/built/backendutils.js +1 -1
- package/built/pxt.js +57 -4
- package/built/pxtcompiler.d.ts +1 -0
- package/built/pxtcompiler.js +19 -0
- package/built/pxtlib.d.ts +2 -0
- package/built/pxtlib.js +38 -4
- package/built/target.js +1 -1
- package/built/web/main.js +1 -1
- package/built/web/pxtapp.js +1 -1
- package/built/web/pxtcompiler.js +1 -1
- package/built/web/pxtembed.js +2 -2
- package/built/web/pxtlib.js +1 -1
- package/built/web/pxtworker.js +1 -1
- package/built/web/rtlsemantic.css +1 -1
- package/built/web/semantic.css +1 -1
- package/localtypings/pxtarget.d.ts +1 -0
- package/package.json +1 -1
- package/theme/themes/pxt/collections/menu.overrides +1 -1
package/built/backendutils.js
CHANGED
|
@@ -115,7 +115,7 @@ var pxtc = ts.pxtc;
|
|
|
115
115
|
// First two are valid crowdin\makecode locale code,
|
|
116
116
|
// Last all lowercase one is just for the backup when reading user defined extensions & tutorials.
|
|
117
117
|
function normalizeLanguageCode(code) {
|
|
118
|
-
const langParts = /^(\w{2})-(\w{2}$)/i.exec(code);
|
|
118
|
+
const langParts = /^(\w{2,3})-(\w{2,4}$)/i.exec(code);
|
|
119
119
|
if (langParts && langParts[1] && langParts[2]) {
|
|
120
120
|
return [`${langParts[1].toLowerCase()}-${langParts[2].toUpperCase()}`, langParts[1].toLowerCase(),
|
|
121
121
|
`${langParts[1].toLowerCase()}-${langParts[2].toLowerCase()}`];
|
package/built/pxt.js
CHANGED
|
@@ -98669,7 +98669,7 @@ var pxtc = ts.pxtc;
|
|
|
98669
98669
|
// First two are valid crowdin\makecode locale code,
|
|
98670
98670
|
// Last all lowercase one is just for the backup when reading user defined extensions & tutorials.
|
|
98671
98671
|
function normalizeLanguageCode(code) {
|
|
98672
|
-
const langParts = /^(\w{2})-(\w{2}$)/i.exec(code);
|
|
98672
|
+
const langParts = /^(\w{2,3})-(\w{2,4}$)/i.exec(code);
|
|
98673
98673
|
if (langParts && langParts[1] && langParts[2]) {
|
|
98674
98674
|
return [`${langParts[1].toLowerCase()}-${langParts[2].toUpperCase()}`, langParts[1].toLowerCase(),
|
|
98675
98675
|
`${langParts[1].toLowerCase()}-${langParts[2].toLowerCase()}`];
|
|
@@ -100033,6 +100033,7 @@ var ts;
|
|
|
100033
100033
|
"ar": { englishName: "Arabic", localizedName: "العربية" },
|
|
100034
100034
|
"az": { englishName: "Azerbaijani", localizedName: "آذربایجان دیلی" },
|
|
100035
100035
|
"bg": { englishName: "Bulgarian", localizedName: "български" },
|
|
100036
|
+
"bi": { englishName: "Bislama", localizedName: "Bislama" },
|
|
100036
100037
|
"bn": { englishName: "Bengali", localizedName: "বাংলা" },
|
|
100037
100038
|
"ca": { englishName: "Catalan", localizedName: "Català" },
|
|
100038
100039
|
"cs": { englishName: "Czech", localizedName: "Čeština" },
|
|
@@ -100047,9 +100048,14 @@ var ts;
|
|
|
100047
100048
|
"eu": { englishName: "Basque", localizedName: "Euskara" },
|
|
100048
100049
|
"fa": { englishName: "Persian", localizedName: "فارسی" },
|
|
100049
100050
|
"fi": { englishName: "Finnish", localizedName: "Suomi" },
|
|
100051
|
+
"fil": { englishName: "Filipino", localizedName: "Filipino" },
|
|
100052
|
+
"fo": { englishName: "Faroese", localizedName: "føroyskt" },
|
|
100050
100053
|
"fr": { englishName: "French", localizedName: "Français" },
|
|
100051
100054
|
"fr-CA": { englishName: "French (Canada)", localizedName: "Français (Canada)" },
|
|
100055
|
+
"gl": { englishName: "Galician", localizedName: "galego" },
|
|
100052
100056
|
"gu-IN": { englishName: "Gujarati", localizedName: "ગુજરાતી" },
|
|
100057
|
+
"haw": { englishName: "Hawaiian", localizedName: "ʻŌlelo Hawaiʻi" },
|
|
100058
|
+
"hi": { englishName: "Hindi", localizedName: "हिन्दी" },
|
|
100053
100059
|
"he": { englishName: "Hebrew", localizedName: "עברית" },
|
|
100054
100060
|
"hr": { englishName: "Croatian", localizedName: "Hrvatski" },
|
|
100055
100061
|
"hu": { englishName: "Hungarian", localizedName: "Magyar" },
|
|
@@ -100058,30 +100064,40 @@ var ts;
|
|
|
100058
100064
|
"is": { englishName: "Icelandic", localizedName: "Íslenska" },
|
|
100059
100065
|
"it": { englishName: "Italian", localizedName: "Italiano" },
|
|
100060
100066
|
"ja": { englishName: "Japanese", localizedName: "日本語" },
|
|
100067
|
+
"ja-HIRA": { englishName: "Hiragana", localizedName: "にほんご" },
|
|
100068
|
+
"ka": { englishName: "Georgian", localizedName: "ქართული" },
|
|
100061
100069
|
"kab": { englishName: "Kabyle", localizedName: "شئعم" },
|
|
100062
|
-
"
|
|
100070
|
+
"kk": { englishName: "Kazakh", localizedName: "қазақ тілі" },
|
|
100071
|
+
"km": { englishName: "Khmer", localizedName: "ខ្មែរ" },
|
|
100063
100072
|
"kmr": { englishName: "Kurmanji (Kurdish)", localizedName: "کورمانجی" },
|
|
100064
100073
|
"kn": { englishName: "Kannada", localizedName: "ಕನ್ನಡ" },
|
|
100074
|
+
"ko": { englishName: "Korean", localizedName: "한국어" },
|
|
100065
100075
|
"lt": { englishName: "Lithuanian", localizedName: "Lietuvių" },
|
|
100066
100076
|
"lv": { englishName: "Latvian", localizedName: "Latviešu" },
|
|
100067
100077
|
"ml-IN": { englishName: "Malayalam", localizedName: "മലയാളം" },
|
|
100068
100078
|
"mr": { englishName: "Marathi", localizedName: "मराठी" },
|
|
100079
|
+
"ms": { englishName: "Malay", localizedName: "Melayu" },
|
|
100069
100080
|
"nl": { englishName: "Dutch", localizedName: "Nederlands" },
|
|
100070
100081
|
"no": { englishName: "Norwegian", localizedName: "Norsk" },
|
|
100071
100082
|
"nb": { englishName: "Norwegian Bokmal", localizedName: "Norsk bokmål" },
|
|
100072
100083
|
"nn-NO": { englishName: "Norwegian Nynorsk", localizedName: "Norsk nynorsk" },
|
|
100073
100084
|
"pa-IN": { englishName: "Punjabi", localizedName: "ਪੰਜਾਬੀ" },
|
|
100074
100085
|
"pl": { englishName: "Polish", localizedName: "Polski" },
|
|
100086
|
+
"ps": { englishName: "Pashto", localizedName: "پښتو" },
|
|
100075
100087
|
"pt-BR": { englishName: "Portuguese (Brazil)", localizedName: "Português (Brasil)" },
|
|
100076
100088
|
"pt-PT": { englishName: "Portuguese (Portugal)", localizedName: "Português (Portugal)" },
|
|
100077
100089
|
"ro": { englishName: "Romanian", localizedName: "Română" },
|
|
100078
100090
|
"ru": { englishName: "Russian", localizedName: "Русский" },
|
|
100091
|
+
"sat": { englishName: "Santali", localizedName: "ᱥᱚᱸᱴᱚᱞᱤ" },
|
|
100079
100092
|
"si-LK": { englishName: "Sinhala", localizedName: "සිංහල" },
|
|
100080
100093
|
"sk": { englishName: "Slovak", localizedName: "Slovenčina" },
|
|
100081
100094
|
"sl": { englishName: "Slovenian", localizedName: "Slovenski" },
|
|
100095
|
+
"sq": { englishName: "Albanian", localizedName: "shqip" },
|
|
100082
100096
|
"sr": { englishName: "Serbian (Latin)", localizedName: "Srpski" },
|
|
100083
100097
|
"su": { englishName: "Sundanese", localizedName: "ᮘᮞ ᮞᮥᮔ᮪ᮓ" },
|
|
100084
100098
|
"sv-SE": { englishName: "Swedish", localizedName: "Svenska" },
|
|
100099
|
+
"sw": { englishName: "Swahili", localizedName: "Kiswahili" },
|
|
100100
|
+
"sw-TZ": { englishName: "Swahili (Tanzania)", localizedName: "Kiswahili (Tanzania)" },
|
|
100085
100101
|
"ta": { englishName: "Tamil", localizedName: "தமிழ்" },
|
|
100086
100102
|
"te": { englishName: "Telugu", localizedName: "తెలుగు" },
|
|
100087
100103
|
"th": { englishName: "Thai", localizedName: "ภาษาไทย" },
|
|
@@ -114388,6 +114404,17 @@ var pxt;
|
|
|
114388
114404
|
const patches = pxt.appTarget.compile ? pxt.appTarget.compile.patches : undefined;
|
|
114389
114405
|
if (!patches)
|
|
114390
114406
|
return undefined;
|
|
114407
|
+
return parsePatches(version, patches, kind);
|
|
114408
|
+
}
|
|
114409
|
+
patching.computePatches = computePatches;
|
|
114410
|
+
function computePyPatches(version, kind) {
|
|
114411
|
+
const patches = pxt.appTarget.compile ? pxt.appTarget.compile.pyPatches : undefined;
|
|
114412
|
+
if (!patches)
|
|
114413
|
+
return undefined;
|
|
114414
|
+
return parsePatches(version, patches, kind);
|
|
114415
|
+
}
|
|
114416
|
+
patching.computePyPatches = computePyPatches;
|
|
114417
|
+
function parsePatches(version, patches, kind) {
|
|
114391
114418
|
const v = pxt.semver.tryParse(version || "0.0.0") || pxt.semver.tryParse("0.0.0");
|
|
114392
114419
|
let r = [];
|
|
114393
114420
|
Object.keys(patches)
|
|
@@ -114397,7 +114424,6 @@ var pxt;
|
|
|
114397
114424
|
r = r.filter(p => p.type == kind);
|
|
114398
114425
|
return r.length ? r : undefined;
|
|
114399
114426
|
}
|
|
114400
|
-
patching.computePatches = computePatches;
|
|
114401
114427
|
function upgradePackageReference(pkgTargetVersion, pkg, val) {
|
|
114402
114428
|
if (val != "*")
|
|
114403
114429
|
return pkg;
|
|
@@ -114417,6 +114443,15 @@ var pxt;
|
|
|
114417
114443
|
patching.upgradePackageReference = upgradePackageReference;
|
|
114418
114444
|
function patchJavaScript(pkgTargetVersion, fileContents) {
|
|
114419
114445
|
const upgrades = pxt.patching.computePatches(pkgTargetVersion);
|
|
114446
|
+
return patchTextCode(pkgTargetVersion, fileContents, upgrades);
|
|
114447
|
+
}
|
|
114448
|
+
patching.patchJavaScript = patchJavaScript;
|
|
114449
|
+
function patchPython(pkgTargetVersion, fileContents) {
|
|
114450
|
+
const upgrades = pxt.patching.computePyPatches(pkgTargetVersion);
|
|
114451
|
+
return patchTextCode(pkgTargetVersion, fileContents, upgrades);
|
|
114452
|
+
}
|
|
114453
|
+
patching.patchPython = patchPython;
|
|
114454
|
+
function patchTextCode(pkgTargetVersion, fileContents, upgrades) {
|
|
114420
114455
|
let updatedContents = fileContents;
|
|
114421
114456
|
if (upgrades) {
|
|
114422
114457
|
upgrades.filter(u => u.type === "api").forEach(rule => {
|
|
@@ -114436,7 +114471,6 @@ var pxt;
|
|
|
114436
114471
|
}
|
|
114437
114472
|
return updatedContents;
|
|
114438
114473
|
}
|
|
114439
|
-
patching.patchJavaScript = patchJavaScript;
|
|
114440
114474
|
})(patching = pxt.patching || (pxt.patching = {}));
|
|
114441
114475
|
})(pxt || (pxt = {}));
|
|
114442
114476
|
var pxt;
|
|
@@ -123210,6 +123244,9 @@ var pxt;
|
|
|
123210
123244
|
return mainPkg.getCompileOptionsAsync(target);
|
|
123211
123245
|
}).then(opts => {
|
|
123212
123246
|
patchTS(mainPkg.targetVersion(), opts);
|
|
123247
|
+
if (mainPkg.getPreferredEditor() === pxt.PYTHON_PROJECT_NAME) {
|
|
123248
|
+
patchPY(mainPkg.targetVersion(), opts);
|
|
123249
|
+
}
|
|
123213
123250
|
prepPythonOptions(opts);
|
|
123214
123251
|
return opts;
|
|
123215
123252
|
});
|
|
@@ -123243,6 +123280,22 @@ var pxt;
|
|
|
123243
123280
|
}
|
|
123244
123281
|
}
|
|
123245
123282
|
pxt.patchTS = patchTS;
|
|
123283
|
+
function patchPY(version, opts) {
|
|
123284
|
+
if (!version)
|
|
123285
|
+
return;
|
|
123286
|
+
pxt.debug(`applying PY patches relative to ${version}`);
|
|
123287
|
+
for (let fn of Object.keys(opts.fileSystem)) {
|
|
123288
|
+
if (fn.indexOf("/") == -1 && pxt.U.endsWith(fn, ".py")) {
|
|
123289
|
+
const initial = opts.fileSystem[fn];
|
|
123290
|
+
const patched = pxt.patching.patchPython(version, initial);
|
|
123291
|
+
if (initial != patched) {
|
|
123292
|
+
pxt.debug(`applying PY patch to ${fn}`);
|
|
123293
|
+
opts.fileSystem[fn] = patched;
|
|
123294
|
+
}
|
|
123295
|
+
}
|
|
123296
|
+
}
|
|
123297
|
+
}
|
|
123298
|
+
pxt.patchPY = patchPY;
|
|
123246
123299
|
function setupSimpleCompile(cfg) {
|
|
123247
123300
|
if (typeof global != "undefined" && !global.btoa) {
|
|
123248
123301
|
global.btoa = function (str) { return Buffer.from(str, "binary").toString("base64"); };
|
package/built/pxtcompiler.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ declare namespace pxt {
|
|
|
31
31
|
function simpleGetCompileOptionsAsync(files: pxt.Map<string>, simpleOptions: SimpleCompileOptions): Promise<pxtc.CompileOptions>;
|
|
32
32
|
function simpleCompileAsync(files: pxt.Map<string>, optionsOrNative?: SimpleCompileOptions | boolean): Promise<CompileResultWithErrors>;
|
|
33
33
|
function patchTS(version: string, opts: pxtc.CompileOptions): void;
|
|
34
|
+
function patchPY(version: string, opts: pxtc.CompileOptions): void;
|
|
34
35
|
function setupSimpleCompile(cfg?: SimpleDriverCallbacks): void;
|
|
35
36
|
}
|
|
36
37
|
declare namespace pxt {
|
package/built/pxtcompiler.js
CHANGED
|
@@ -141,6 +141,9 @@ var pxt;
|
|
|
141
141
|
return mainPkg.getCompileOptionsAsync(target);
|
|
142
142
|
}).then(opts => {
|
|
143
143
|
patchTS(mainPkg.targetVersion(), opts);
|
|
144
|
+
if (mainPkg.getPreferredEditor() === pxt.PYTHON_PROJECT_NAME) {
|
|
145
|
+
patchPY(mainPkg.targetVersion(), opts);
|
|
146
|
+
}
|
|
144
147
|
prepPythonOptions(opts);
|
|
145
148
|
return opts;
|
|
146
149
|
});
|
|
@@ -174,6 +177,22 @@ var pxt;
|
|
|
174
177
|
}
|
|
175
178
|
}
|
|
176
179
|
pxt.patchTS = patchTS;
|
|
180
|
+
function patchPY(version, opts) {
|
|
181
|
+
if (!version)
|
|
182
|
+
return;
|
|
183
|
+
pxt.debug(`applying PY patches relative to ${version}`);
|
|
184
|
+
for (let fn of Object.keys(opts.fileSystem)) {
|
|
185
|
+
if (fn.indexOf("/") == -1 && pxt.U.endsWith(fn, ".py")) {
|
|
186
|
+
const initial = opts.fileSystem[fn];
|
|
187
|
+
const patched = pxt.patching.patchPython(version, initial);
|
|
188
|
+
if (initial != patched) {
|
|
189
|
+
pxt.debug(`applying PY patch to ${fn}`);
|
|
190
|
+
opts.fileSystem[fn] = patched;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
pxt.patchPY = patchPY;
|
|
177
196
|
function setupSimpleCompile(cfg) {
|
|
178
197
|
if (typeof global != "undefined" && !global.btoa) {
|
|
179
198
|
global.btoa = function (str) { return Buffer.from(str, "binary").toString("base64"); };
|
package/built/pxtlib.d.ts
CHANGED
|
@@ -1986,8 +1986,10 @@ declare namespace pxt.packetio {
|
|
|
1986
1986
|
}
|
|
1987
1987
|
declare namespace pxt.patching {
|
|
1988
1988
|
function computePatches(version: string, kind?: string): ts.pxtc.UpgradePolicy[];
|
|
1989
|
+
function computePyPatches(version: string, kind?: string): ts.pxtc.UpgradePolicy[];
|
|
1989
1990
|
function upgradePackageReference(pkgTargetVersion: string, pkg: string, val: string): string;
|
|
1990
1991
|
function patchJavaScript(pkgTargetVersion: string, fileContents: string): string;
|
|
1992
|
+
function patchPython(pkgTargetVersion: string, fileContents: string): string;
|
|
1991
1993
|
}
|
|
1992
1994
|
declare namespace pxt.react {
|
|
1993
1995
|
interface FieldEditorView<U> {
|
package/built/pxtlib.js
CHANGED
|
@@ -983,7 +983,7 @@ var pxtc = ts.pxtc;
|
|
|
983
983
|
// First two are valid crowdin\makecode locale code,
|
|
984
984
|
// Last all lowercase one is just for the backup when reading user defined extensions & tutorials.
|
|
985
985
|
function normalizeLanguageCode(code) {
|
|
986
|
-
const langParts = /^(\w{2})-(\w{2}$)/i.exec(code);
|
|
986
|
+
const langParts = /^(\w{2,3})-(\w{2,4}$)/i.exec(code);
|
|
987
987
|
if (langParts && langParts[1] && langParts[2]) {
|
|
988
988
|
return [`${langParts[1].toLowerCase()}-${langParts[2].toUpperCase()}`, langParts[1].toLowerCase(),
|
|
989
989
|
`${langParts[1].toLowerCase()}-${langParts[2].toLowerCase()}`];
|
|
@@ -2347,6 +2347,7 @@ var ts;
|
|
|
2347
2347
|
"ar": { englishName: "Arabic", localizedName: "العربية" },
|
|
2348
2348
|
"az": { englishName: "Azerbaijani", localizedName: "آذربایجان دیلی" },
|
|
2349
2349
|
"bg": { englishName: "Bulgarian", localizedName: "български" },
|
|
2350
|
+
"bi": { englishName: "Bislama", localizedName: "Bislama" },
|
|
2350
2351
|
"bn": { englishName: "Bengali", localizedName: "বাংলা" },
|
|
2351
2352
|
"ca": { englishName: "Catalan", localizedName: "Català" },
|
|
2352
2353
|
"cs": { englishName: "Czech", localizedName: "Čeština" },
|
|
@@ -2361,9 +2362,14 @@ var ts;
|
|
|
2361
2362
|
"eu": { englishName: "Basque", localizedName: "Euskara" },
|
|
2362
2363
|
"fa": { englishName: "Persian", localizedName: "فارسی" },
|
|
2363
2364
|
"fi": { englishName: "Finnish", localizedName: "Suomi" },
|
|
2365
|
+
"fil": { englishName: "Filipino", localizedName: "Filipino" },
|
|
2366
|
+
"fo": { englishName: "Faroese", localizedName: "føroyskt" },
|
|
2364
2367
|
"fr": { englishName: "French", localizedName: "Français" },
|
|
2365
2368
|
"fr-CA": { englishName: "French (Canada)", localizedName: "Français (Canada)" },
|
|
2369
|
+
"gl": { englishName: "Galician", localizedName: "galego" },
|
|
2366
2370
|
"gu-IN": { englishName: "Gujarati", localizedName: "ગુજરાતી" },
|
|
2371
|
+
"haw": { englishName: "Hawaiian", localizedName: "ʻŌlelo Hawaiʻi" },
|
|
2372
|
+
"hi": { englishName: "Hindi", localizedName: "हिन्दी" },
|
|
2367
2373
|
"he": { englishName: "Hebrew", localizedName: "עברית" },
|
|
2368
2374
|
"hr": { englishName: "Croatian", localizedName: "Hrvatski" },
|
|
2369
2375
|
"hu": { englishName: "Hungarian", localizedName: "Magyar" },
|
|
@@ -2372,30 +2378,40 @@ var ts;
|
|
|
2372
2378
|
"is": { englishName: "Icelandic", localizedName: "Íslenska" },
|
|
2373
2379
|
"it": { englishName: "Italian", localizedName: "Italiano" },
|
|
2374
2380
|
"ja": { englishName: "Japanese", localizedName: "日本語" },
|
|
2381
|
+
"ja-HIRA": { englishName: "Hiragana", localizedName: "にほんご" },
|
|
2382
|
+
"ka": { englishName: "Georgian", localizedName: "ქართული" },
|
|
2375
2383
|
"kab": { englishName: "Kabyle", localizedName: "شئعم" },
|
|
2376
|
-
"
|
|
2384
|
+
"kk": { englishName: "Kazakh", localizedName: "қазақ тілі" },
|
|
2385
|
+
"km": { englishName: "Khmer", localizedName: "ខ្មែរ" },
|
|
2377
2386
|
"kmr": { englishName: "Kurmanji (Kurdish)", localizedName: "کورمانجی" },
|
|
2378
2387
|
"kn": { englishName: "Kannada", localizedName: "ಕನ್ನಡ" },
|
|
2388
|
+
"ko": { englishName: "Korean", localizedName: "한국어" },
|
|
2379
2389
|
"lt": { englishName: "Lithuanian", localizedName: "Lietuvių" },
|
|
2380
2390
|
"lv": { englishName: "Latvian", localizedName: "Latviešu" },
|
|
2381
2391
|
"ml-IN": { englishName: "Malayalam", localizedName: "മലയാളം" },
|
|
2382
2392
|
"mr": { englishName: "Marathi", localizedName: "मराठी" },
|
|
2393
|
+
"ms": { englishName: "Malay", localizedName: "Melayu" },
|
|
2383
2394
|
"nl": { englishName: "Dutch", localizedName: "Nederlands" },
|
|
2384
2395
|
"no": { englishName: "Norwegian", localizedName: "Norsk" },
|
|
2385
2396
|
"nb": { englishName: "Norwegian Bokmal", localizedName: "Norsk bokmål" },
|
|
2386
2397
|
"nn-NO": { englishName: "Norwegian Nynorsk", localizedName: "Norsk nynorsk" },
|
|
2387
2398
|
"pa-IN": { englishName: "Punjabi", localizedName: "ਪੰਜਾਬੀ" },
|
|
2388
2399
|
"pl": { englishName: "Polish", localizedName: "Polski" },
|
|
2400
|
+
"ps": { englishName: "Pashto", localizedName: "پښتو" },
|
|
2389
2401
|
"pt-BR": { englishName: "Portuguese (Brazil)", localizedName: "Português (Brasil)" },
|
|
2390
2402
|
"pt-PT": { englishName: "Portuguese (Portugal)", localizedName: "Português (Portugal)" },
|
|
2391
2403
|
"ro": { englishName: "Romanian", localizedName: "Română" },
|
|
2392
2404
|
"ru": { englishName: "Russian", localizedName: "Русский" },
|
|
2405
|
+
"sat": { englishName: "Santali", localizedName: "ᱥᱚᱸᱴᱚᱞᱤ" },
|
|
2393
2406
|
"si-LK": { englishName: "Sinhala", localizedName: "සිංහල" },
|
|
2394
2407
|
"sk": { englishName: "Slovak", localizedName: "Slovenčina" },
|
|
2395
2408
|
"sl": { englishName: "Slovenian", localizedName: "Slovenski" },
|
|
2409
|
+
"sq": { englishName: "Albanian", localizedName: "shqip" },
|
|
2396
2410
|
"sr": { englishName: "Serbian (Latin)", localizedName: "Srpski" },
|
|
2397
2411
|
"su": { englishName: "Sundanese", localizedName: "ᮘᮞ ᮞᮥᮔ᮪ᮓ" },
|
|
2398
2412
|
"sv-SE": { englishName: "Swedish", localizedName: "Svenska" },
|
|
2413
|
+
"sw": { englishName: "Swahili", localizedName: "Kiswahili" },
|
|
2414
|
+
"sw-TZ": { englishName: "Swahili (Tanzania)", localizedName: "Kiswahili (Tanzania)" },
|
|
2399
2415
|
"ta": { englishName: "Tamil", localizedName: "தமிழ்" },
|
|
2400
2416
|
"te": { englishName: "Telugu", localizedName: "తెలుగు" },
|
|
2401
2417
|
"th": { englishName: "Thai", localizedName: "ภาษาไทย" },
|
|
@@ -16702,6 +16718,17 @@ var pxt;
|
|
|
16702
16718
|
const patches = pxt.appTarget.compile ? pxt.appTarget.compile.patches : undefined;
|
|
16703
16719
|
if (!patches)
|
|
16704
16720
|
return undefined;
|
|
16721
|
+
return parsePatches(version, patches, kind);
|
|
16722
|
+
}
|
|
16723
|
+
patching.computePatches = computePatches;
|
|
16724
|
+
function computePyPatches(version, kind) {
|
|
16725
|
+
const patches = pxt.appTarget.compile ? pxt.appTarget.compile.pyPatches : undefined;
|
|
16726
|
+
if (!patches)
|
|
16727
|
+
return undefined;
|
|
16728
|
+
return parsePatches(version, patches, kind);
|
|
16729
|
+
}
|
|
16730
|
+
patching.computePyPatches = computePyPatches;
|
|
16731
|
+
function parsePatches(version, patches, kind) {
|
|
16705
16732
|
const v = pxt.semver.tryParse(version || "0.0.0") || pxt.semver.tryParse("0.0.0");
|
|
16706
16733
|
let r = [];
|
|
16707
16734
|
Object.keys(patches)
|
|
@@ -16711,7 +16738,6 @@ var pxt;
|
|
|
16711
16738
|
r = r.filter(p => p.type == kind);
|
|
16712
16739
|
return r.length ? r : undefined;
|
|
16713
16740
|
}
|
|
16714
|
-
patching.computePatches = computePatches;
|
|
16715
16741
|
function upgradePackageReference(pkgTargetVersion, pkg, val) {
|
|
16716
16742
|
if (val != "*")
|
|
16717
16743
|
return pkg;
|
|
@@ -16731,6 +16757,15 @@ var pxt;
|
|
|
16731
16757
|
patching.upgradePackageReference = upgradePackageReference;
|
|
16732
16758
|
function patchJavaScript(pkgTargetVersion, fileContents) {
|
|
16733
16759
|
const upgrades = pxt.patching.computePatches(pkgTargetVersion);
|
|
16760
|
+
return patchTextCode(pkgTargetVersion, fileContents, upgrades);
|
|
16761
|
+
}
|
|
16762
|
+
patching.patchJavaScript = patchJavaScript;
|
|
16763
|
+
function patchPython(pkgTargetVersion, fileContents) {
|
|
16764
|
+
const upgrades = pxt.patching.computePyPatches(pkgTargetVersion);
|
|
16765
|
+
return patchTextCode(pkgTargetVersion, fileContents, upgrades);
|
|
16766
|
+
}
|
|
16767
|
+
patching.patchPython = patchPython;
|
|
16768
|
+
function patchTextCode(pkgTargetVersion, fileContents, upgrades) {
|
|
16734
16769
|
let updatedContents = fileContents;
|
|
16735
16770
|
if (upgrades) {
|
|
16736
16771
|
upgrades.filter(u => u.type === "api").forEach(rule => {
|
|
@@ -16750,7 +16785,6 @@ var pxt;
|
|
|
16750
16785
|
}
|
|
16751
16786
|
return updatedContents;
|
|
16752
16787
|
}
|
|
16753
|
-
patching.patchJavaScript = patchJavaScript;
|
|
16754
16788
|
})(patching = pxt.patching || (pxt.patching = {}));
|
|
16755
16789
|
})(pxt || (pxt = {}));
|
|
16756
16790
|
var pxt;
|