pxt-core 13.1.18 → 13.1.20
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/pxt.js +61 -60
- package/built/pxtlib.js +61 -60
- package/built/target.js +1 -1
- package/built/targetlight.js +1 -1
- package/built/web/main.js +30 -30
- package/built/web/pxtapp.js +1 -1
- package/built/web/pxtembed.js +4 -4
- package/built/web/pxtlib.js +1 -1
- package/built/web/pxtworker.js +1 -1
- package/built/web/rtlsemantic.css +2 -2
- package/built/web/runnerembed.js +5 -5
- package/built/web/semantic.css +2 -2
- package/package.json +1 -1
- package/theme/monaco.less +2 -0
- package/theme/music-editor/gallery.less +10 -1
- package/theme/piano-roll/piano-roll.less +3 -0
package/built/pxt.js
CHANGED
|
@@ -113528,7 +113528,7 @@ var pxt;
|
|
|
113528
113528
|
}]
|
|
113529
113529
|
},
|
|
113530
113530
|
{
|
|
113531
|
-
name: lf("
|
|
113531
|
+
name: lf("boom kick"),
|
|
113532
113532
|
startFrequency: 100,
|
|
113533
113533
|
startVolume: 1024,
|
|
113534
113534
|
steps: [{
|
|
@@ -119033,10 +119033,12 @@ var pxt;
|
|
|
119033
119033
|
* @param skipIDs string[] a list of string ids (block id, asset id, or file name) to ignore
|
|
119034
119034
|
**/
|
|
119035
119035
|
isAssetUsed(asset, files, skipIDs) {
|
|
119036
|
-
var _a, _b, _c;
|
|
119037
|
-
|
|
119038
|
-
|
|
119039
|
-
|
|
119036
|
+
var _a, _b, _c, _d, _e;
|
|
119037
|
+
if (!((_a = asset.meta) === null || _a === void 0 ? void 0 : _a.displayName) || !files) {
|
|
119038
|
+
let blockIds = ((_c = (_b = asset.meta) === null || _b === void 0 ? void 0 : _b.blockIDs) === null || _c === void 0 ? void 0 : _c.filter(id => !skipIDs || (skipIDs === null || skipIDs === void 0 ? void 0 : skipIDs.indexOf(id)) < 0)) || [];
|
|
119039
|
+
if (blockIds.length > 0)
|
|
119040
|
+
return true;
|
|
119041
|
+
}
|
|
119040
119042
|
if (asset.type == "tile" /* pxt.AssetType.Tile */) {
|
|
119041
119043
|
for (const tm of this.getAssets("tilemap" /* AssetType.Tilemap */)) {
|
|
119042
119044
|
if ((skipIDs === null || skipIDs === void 0 ? void 0 : skipIDs.indexOf(tm.id)) >= 0) {
|
|
@@ -119048,84 +119050,83 @@ var pxt;
|
|
|
119048
119050
|
}
|
|
119049
119051
|
}
|
|
119050
119052
|
if (files) {
|
|
119051
|
-
const
|
|
119052
|
-
const
|
|
119053
|
-
|
|
119054
|
-
|
|
119055
|
-
|
|
119056
|
-
|
|
119057
|
-
if (
|
|
119058
|
-
|
|
119059
|
-
|
|
119060
|
-
|
|
119061
|
-
|
|
119062
|
-
|
|
119063
|
-
|
|
119064
|
-
|
|
119065
|
-
|
|
119066
|
-
assetTsRefs += `|assets.animation\`${displayName}\``;
|
|
119067
|
-
break;
|
|
119068
|
-
case "song" /* pxt.AssetType.Song */:
|
|
119069
|
-
assetTsRefs = `assets.song\`${shortId}\``;
|
|
119070
|
-
if (displayName)
|
|
119071
|
-
assetTsRefs += `|assets.song\`${displayName}\``;
|
|
119072
|
-
break;
|
|
119073
|
-
case "json" /* pxt.AssetType.Json */:
|
|
119074
|
-
assetTsRefs = `assets.json\`${shortId}\``;
|
|
119075
|
-
if (displayName)
|
|
119076
|
-
assetTsRefs += `|assets.json\`${displayName}\``;
|
|
119077
|
-
break;
|
|
119078
|
-
default:
|
|
119079
|
-
assetTsRefs = `assets.image\`${shortId}\``;
|
|
119080
|
-
if (displayName)
|
|
119081
|
-
assetTsRefs += `|assets.image\`${displayName}\``;
|
|
119082
|
-
break;
|
|
119053
|
+
const config = pxt.U.jsonTryParse((_d = files["pxt.json"]) === null || _d === void 0 ? void 0 : _d.content);
|
|
119054
|
+
const filesToCheck = [];
|
|
119055
|
+
if (config === null || config === void 0 ? void 0 : config.files) {
|
|
119056
|
+
for (const file of config.files) {
|
|
119057
|
+
if (file.endsWith(".g.ts"))
|
|
119058
|
+
continue;
|
|
119059
|
+
if (skipIDs && (skipIDs.indexOf(file) !== -1))
|
|
119060
|
+
continue;
|
|
119061
|
+
if (file.endsWith(".ts") && file !== pxt.MAIN_TS || file.endsWith(".py") && file !== pxt.MAIN_PY) {
|
|
119062
|
+
filesToCheck.push(file);
|
|
119063
|
+
}
|
|
119064
|
+
}
|
|
119065
|
+
}
|
|
119066
|
+
if ((config === null || config === void 0 ? void 0 : config.preferredEditor) === pxt.BLOCKS_PROJECT_NAME) {
|
|
119067
|
+
filesToCheck.push(pxt.MAIN_BLOCKS);
|
|
119083
119068
|
}
|
|
119084
|
-
|
|
119085
|
-
|
|
119069
|
+
else if ((config === null || config === void 0 ? void 0 : config.preferredEditor) === pxt.JAVASCRIPT_PROJECT_NAME) {
|
|
119070
|
+
filesToCheck.push(pxt.MAIN_TS);
|
|
119071
|
+
}
|
|
119072
|
+
else if ((config === null || config === void 0 ? void 0 : config.preferredEditor) === pxt.PYTHON_PROJECT_NAME) {
|
|
119073
|
+
filesToCheck.push(pxt.MAIN_PY);
|
|
119074
|
+
}
|
|
119075
|
+
const references = [];
|
|
119076
|
+
const shortId = pxt.Util.escapeForRegex(getShortIDForAsset(asset));
|
|
119077
|
+
const displayName = pxt.Util.escapeForRegex((_e = asset.meta) === null || _e === void 0 ? void 0 : _e.displayName) || "";
|
|
119078
|
+
const addNamespaceReference = (namespace, fun, id) => {
|
|
119079
|
+
references.push(`${namespace}\\s*\\.\\s*${fun}\`\\s*${id}\\s*\``);
|
|
119080
|
+
};
|
|
119086
119081
|
switch (asset.type) {
|
|
119087
119082
|
case "tile" /* pxt.AssetType.Tile */:
|
|
119088
|
-
|
|
119083
|
+
references.push(`myTiles\\s*\\.\\s*${shortId}\\s*`);
|
|
119084
|
+
addNamespaceReference("assets", "tile", shortId);
|
|
119089
119085
|
if (displayName)
|
|
119090
|
-
|
|
119086
|
+
addNamespaceReference("assets", "tile", displayName);
|
|
119091
119087
|
break;
|
|
119092
119088
|
case "tilemap" /* pxt.AssetType.Tilemap */:
|
|
119093
|
-
|
|
119089
|
+
references.push(`tilemap\`\\s*${shortId}\\s*\``);
|
|
119090
|
+
addNamespaceReference("assets", "tilemap", shortId);
|
|
119091
|
+
if (displayName) {
|
|
119092
|
+
references.push(`tilemap\`\\s*${displayName}\\s*\``);
|
|
119093
|
+
addNamespaceReference("assets", "tilemap", displayName);
|
|
119094
|
+
}
|
|
119094
119095
|
break;
|
|
119095
119096
|
case "animation" /* pxt.AssetType.Animation */:
|
|
119096
|
-
|
|
119097
|
+
addNamespaceReference("assets", "animation", shortId);
|
|
119097
119098
|
if (displayName)
|
|
119098
|
-
|
|
119099
|
+
addNamespaceReference("assets", "animation", displayName);
|
|
119099
119100
|
break;
|
|
119100
119101
|
case "song" /* pxt.AssetType.Song */:
|
|
119101
|
-
|
|
119102
|
+
addNamespaceReference("assets", "song", shortId);
|
|
119102
119103
|
if (displayName)
|
|
119103
|
-
|
|
119104
|
+
addNamespaceReference("assets", "song", displayName);
|
|
119104
119105
|
break;
|
|
119105
119106
|
case "json" /* pxt.AssetType.Json */:
|
|
119106
|
-
|
|
119107
|
+
addNamespaceReference("assets", "json", shortId);
|
|
119107
119108
|
if (displayName)
|
|
119108
|
-
|
|
119109
|
+
addNamespaceReference("assets", "json", displayName);
|
|
119109
119110
|
break;
|
|
119110
119111
|
default:
|
|
119111
|
-
|
|
119112
|
+
addNamespaceReference("assets", "image", shortId);
|
|
119112
119113
|
if (displayName)
|
|
119113
|
-
|
|
119114
|
+
addNamespaceReference("assets", "image", displayName);
|
|
119114
119115
|
break;
|
|
119115
119116
|
}
|
|
119116
|
-
const
|
|
119117
|
-
|
|
119118
|
-
|
|
119119
|
-
|
|
119120
|
-
|
|
119121
|
-
|
|
119122
|
-
if (filename.match(/((?!\.g).{2}|^.{0,1})\.ts$/i)) {
|
|
119123
|
-
if (f.content.match(assetTsRegex))
|
|
119117
|
+
const regex = new RegExp(references.map(r => `(?:${r})`).join("|"));
|
|
119118
|
+
const pyRegex = new RegExp(references.map(r => `(?:${r})`).join("|").replace(/`/g, '"""'));
|
|
119119
|
+
for (const file of filesToCheck) {
|
|
119120
|
+
const content = files[file].content;
|
|
119121
|
+
if (file.endsWith(".py")) {
|
|
119122
|
+
if (pyRegex.test(content)) {
|
|
119124
119123
|
return true;
|
|
119124
|
+
}
|
|
119125
119125
|
}
|
|
119126
|
-
else
|
|
119127
|
-
if (
|
|
119126
|
+
else {
|
|
119127
|
+
if (regex.test(content)) {
|
|
119128
119128
|
return true;
|
|
119129
|
+
}
|
|
119129
119130
|
}
|
|
119130
119131
|
}
|
|
119131
119132
|
}
|
package/built/pxtlib.js
CHANGED
|
@@ -15807,7 +15807,7 @@ var pxt;
|
|
|
15807
15807
|
}]
|
|
15808
15808
|
},
|
|
15809
15809
|
{
|
|
15810
|
-
name: lf("
|
|
15810
|
+
name: lf("boom kick"),
|
|
15811
15811
|
startFrequency: 100,
|
|
15812
15812
|
startVolume: 1024,
|
|
15813
15813
|
steps: [{
|
|
@@ -21312,10 +21312,12 @@ var pxt;
|
|
|
21312
21312
|
* @param skipIDs string[] a list of string ids (block id, asset id, or file name) to ignore
|
|
21313
21313
|
**/
|
|
21314
21314
|
isAssetUsed(asset, files, skipIDs) {
|
|
21315
|
-
var _a, _b, _c;
|
|
21316
|
-
|
|
21317
|
-
|
|
21318
|
-
|
|
21315
|
+
var _a, _b, _c, _d, _e;
|
|
21316
|
+
if (!((_a = asset.meta) === null || _a === void 0 ? void 0 : _a.displayName) || !files) {
|
|
21317
|
+
let blockIds = ((_c = (_b = asset.meta) === null || _b === void 0 ? void 0 : _b.blockIDs) === null || _c === void 0 ? void 0 : _c.filter(id => !skipIDs || (skipIDs === null || skipIDs === void 0 ? void 0 : skipIDs.indexOf(id)) < 0)) || [];
|
|
21318
|
+
if (blockIds.length > 0)
|
|
21319
|
+
return true;
|
|
21320
|
+
}
|
|
21319
21321
|
if (asset.type == "tile" /* pxt.AssetType.Tile */) {
|
|
21320
21322
|
for (const tm of this.getAssets("tilemap" /* AssetType.Tilemap */)) {
|
|
21321
21323
|
if ((skipIDs === null || skipIDs === void 0 ? void 0 : skipIDs.indexOf(tm.id)) >= 0) {
|
|
@@ -21327,84 +21329,83 @@ var pxt;
|
|
|
21327
21329
|
}
|
|
21328
21330
|
}
|
|
21329
21331
|
if (files) {
|
|
21330
|
-
const
|
|
21331
|
-
const
|
|
21332
|
-
|
|
21333
|
-
|
|
21334
|
-
|
|
21335
|
-
|
|
21336
|
-
if (
|
|
21337
|
-
|
|
21338
|
-
|
|
21339
|
-
|
|
21340
|
-
|
|
21341
|
-
|
|
21342
|
-
|
|
21343
|
-
|
|
21344
|
-
|
|
21345
|
-
assetTsRefs += `|assets.animation\`${displayName}\``;
|
|
21346
|
-
break;
|
|
21347
|
-
case "song" /* pxt.AssetType.Song */:
|
|
21348
|
-
assetTsRefs = `assets.song\`${shortId}\``;
|
|
21349
|
-
if (displayName)
|
|
21350
|
-
assetTsRefs += `|assets.song\`${displayName}\``;
|
|
21351
|
-
break;
|
|
21352
|
-
case "json" /* pxt.AssetType.Json */:
|
|
21353
|
-
assetTsRefs = `assets.json\`${shortId}\``;
|
|
21354
|
-
if (displayName)
|
|
21355
|
-
assetTsRefs += `|assets.json\`${displayName}\``;
|
|
21356
|
-
break;
|
|
21357
|
-
default:
|
|
21358
|
-
assetTsRefs = `assets.image\`${shortId}\``;
|
|
21359
|
-
if (displayName)
|
|
21360
|
-
assetTsRefs += `|assets.image\`${displayName}\``;
|
|
21361
|
-
break;
|
|
21332
|
+
const config = pxt.U.jsonTryParse((_d = files["pxt.json"]) === null || _d === void 0 ? void 0 : _d.content);
|
|
21333
|
+
const filesToCheck = [];
|
|
21334
|
+
if (config === null || config === void 0 ? void 0 : config.files) {
|
|
21335
|
+
for (const file of config.files) {
|
|
21336
|
+
if (file.endsWith(".g.ts"))
|
|
21337
|
+
continue;
|
|
21338
|
+
if (skipIDs && (skipIDs.indexOf(file) !== -1))
|
|
21339
|
+
continue;
|
|
21340
|
+
if (file.endsWith(".ts") && file !== pxt.MAIN_TS || file.endsWith(".py") && file !== pxt.MAIN_PY) {
|
|
21341
|
+
filesToCheck.push(file);
|
|
21342
|
+
}
|
|
21343
|
+
}
|
|
21344
|
+
}
|
|
21345
|
+
if ((config === null || config === void 0 ? void 0 : config.preferredEditor) === pxt.BLOCKS_PROJECT_NAME) {
|
|
21346
|
+
filesToCheck.push(pxt.MAIN_BLOCKS);
|
|
21362
21347
|
}
|
|
21363
|
-
|
|
21364
|
-
|
|
21348
|
+
else if ((config === null || config === void 0 ? void 0 : config.preferredEditor) === pxt.JAVASCRIPT_PROJECT_NAME) {
|
|
21349
|
+
filesToCheck.push(pxt.MAIN_TS);
|
|
21350
|
+
}
|
|
21351
|
+
else if ((config === null || config === void 0 ? void 0 : config.preferredEditor) === pxt.PYTHON_PROJECT_NAME) {
|
|
21352
|
+
filesToCheck.push(pxt.MAIN_PY);
|
|
21353
|
+
}
|
|
21354
|
+
const references = [];
|
|
21355
|
+
const shortId = pxt.Util.escapeForRegex(getShortIDForAsset(asset));
|
|
21356
|
+
const displayName = pxt.Util.escapeForRegex((_e = asset.meta) === null || _e === void 0 ? void 0 : _e.displayName) || "";
|
|
21357
|
+
const addNamespaceReference = (namespace, fun, id) => {
|
|
21358
|
+
references.push(`${namespace}\\s*\\.\\s*${fun}\`\\s*${id}\\s*\``);
|
|
21359
|
+
};
|
|
21365
21360
|
switch (asset.type) {
|
|
21366
21361
|
case "tile" /* pxt.AssetType.Tile */:
|
|
21367
|
-
|
|
21362
|
+
references.push(`myTiles\\s*\\.\\s*${shortId}\\s*`);
|
|
21363
|
+
addNamespaceReference("assets", "tile", shortId);
|
|
21368
21364
|
if (displayName)
|
|
21369
|
-
|
|
21365
|
+
addNamespaceReference("assets", "tile", displayName);
|
|
21370
21366
|
break;
|
|
21371
21367
|
case "tilemap" /* pxt.AssetType.Tilemap */:
|
|
21372
|
-
|
|
21368
|
+
references.push(`tilemap\`\\s*${shortId}\\s*\``);
|
|
21369
|
+
addNamespaceReference("assets", "tilemap", shortId);
|
|
21370
|
+
if (displayName) {
|
|
21371
|
+
references.push(`tilemap\`\\s*${displayName}\\s*\``);
|
|
21372
|
+
addNamespaceReference("assets", "tilemap", displayName);
|
|
21373
|
+
}
|
|
21373
21374
|
break;
|
|
21374
21375
|
case "animation" /* pxt.AssetType.Animation */:
|
|
21375
|
-
|
|
21376
|
+
addNamespaceReference("assets", "animation", shortId);
|
|
21376
21377
|
if (displayName)
|
|
21377
|
-
|
|
21378
|
+
addNamespaceReference("assets", "animation", displayName);
|
|
21378
21379
|
break;
|
|
21379
21380
|
case "song" /* pxt.AssetType.Song */:
|
|
21380
|
-
|
|
21381
|
+
addNamespaceReference("assets", "song", shortId);
|
|
21381
21382
|
if (displayName)
|
|
21382
|
-
|
|
21383
|
+
addNamespaceReference("assets", "song", displayName);
|
|
21383
21384
|
break;
|
|
21384
21385
|
case "json" /* pxt.AssetType.Json */:
|
|
21385
|
-
|
|
21386
|
+
addNamespaceReference("assets", "json", shortId);
|
|
21386
21387
|
if (displayName)
|
|
21387
|
-
|
|
21388
|
+
addNamespaceReference("assets", "json", displayName);
|
|
21388
21389
|
break;
|
|
21389
21390
|
default:
|
|
21390
|
-
|
|
21391
|
+
addNamespaceReference("assets", "image", shortId);
|
|
21391
21392
|
if (displayName)
|
|
21392
|
-
|
|
21393
|
+
addNamespaceReference("assets", "image", displayName);
|
|
21393
21394
|
break;
|
|
21394
21395
|
}
|
|
21395
|
-
const
|
|
21396
|
-
|
|
21397
|
-
|
|
21398
|
-
|
|
21399
|
-
|
|
21400
|
-
|
|
21401
|
-
if (filename.match(/((?!\.g).{2}|^.{0,1})\.ts$/i)) {
|
|
21402
|
-
if (f.content.match(assetTsRegex))
|
|
21396
|
+
const regex = new RegExp(references.map(r => `(?:${r})`).join("|"));
|
|
21397
|
+
const pyRegex = new RegExp(references.map(r => `(?:${r})`).join("|").replace(/`/g, '"""'));
|
|
21398
|
+
for (const file of filesToCheck) {
|
|
21399
|
+
const content = files[file].content;
|
|
21400
|
+
if (file.endsWith(".py")) {
|
|
21401
|
+
if (pyRegex.test(content)) {
|
|
21403
21402
|
return true;
|
|
21403
|
+
}
|
|
21404
21404
|
}
|
|
21405
|
-
else
|
|
21406
|
-
if (
|
|
21405
|
+
else {
|
|
21406
|
+
if (regex.test(content)) {
|
|
21407
21407
|
return true;
|
|
21408
|
+
}
|
|
21408
21409
|
}
|
|
21409
21410
|
}
|
|
21410
21411
|
}
|