codeplay-common 2.1.24 → 2.1.26
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.
|
@@ -10,34 +10,34 @@ const configPath = path.join(process.cwd(), 'capacitor.config.json');
|
|
|
10
10
|
|
|
11
11
|
// Expected plugin list with minimum versions
|
|
12
12
|
const requiredPlugins = [
|
|
13
|
-
{ pattern: /backbutton-(\d+\.\d+)\.js$/, minVersion: '1.
|
|
13
|
+
{ pattern: /backbutton-(\d+\.\d+)\.js$/, minVersion: '1.8', required: true, baseDir: 'js',mandatoryUpdate: true},
|
|
14
14
|
|
|
15
15
|
/*/common-(\d+\.\d+)\.js$/*/
|
|
16
|
-
{ pattern: /common-(\d+\.\d+)(?:-beta-(\d+))?\.js$/, minVersion: '5.3', required: true, baseDir: 'js' },
|
|
16
|
+
{ pattern: /common-(\d+\.\d+)(?:-beta-(\d+))?\.js$/, minVersion: '5.3', required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
17
17
|
|
|
18
|
-
{ pattern: /localization_settings-(\d+\.\d+)\.js$/, minVersion: '1.1', required: true, baseDir: 'js' },
|
|
19
|
-
{ pattern: /localization-(\d+\.\d+)\.js$/, minVersion: '1.
|
|
20
|
-
{ pattern: /localNotification-(\d+\.\d+)\.js$/, minVersion: '2.2', required: true, baseDir: 'js' },
|
|
21
|
-
{ pattern: /localNotification_AppSettings-(\d+\.\d+)\.js$/, minVersion: '1.0', required: true, baseDir: 'js' },
|
|
22
|
-
{ pattern: /onesignal-(\d+\.\d+)\.js$/, minVersion: '2.3', required: true, baseDir: 'js' },
|
|
23
|
-
{ pattern: /saveToGalleryAndSaveAnyFile-(\d+\.\d+)(-ios)?\.js$/, minVersion: '3.0', required: true, baseDir: 'js' },
|
|
24
|
-
{ pattern: /Ads[\/\\]IAP-(\d+\.\d+)$/, minVersion: '2.5', isFolder: true , required: true, baseDir: 'js' },
|
|
25
|
-
{ pattern: /Ads[\/\\]admob-emi-(\d+\.\d+)\.js$/, minVersion: '3.3', required: true, baseDir: 'js' },
|
|
18
|
+
{ pattern: /localization_settings-(\d+\.\d+)\.js$/, minVersion: '1.1', required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
19
|
+
{ pattern: /localization-(\d+\.\d+)\.js$/, minVersion: '1.4', required: true, baseDir: 'js',mandatoryUpdate: true },
|
|
20
|
+
{ pattern: /localNotification-(\d+\.\d+)\.js$/, minVersion: '2.2', required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
21
|
+
{ pattern: /localNotification_AppSettings-(\d+\.\d+)\.js$/, minVersion: '1.0', required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
22
|
+
{ pattern: /onesignal-(\d+\.\d+)\.js$/, minVersion: '2.3', required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
23
|
+
{ pattern: /saveToGalleryAndSaveAnyFile-(\d+\.\d+)(-ios)?\.js$/, minVersion: '3.0', required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
24
|
+
{ pattern: /Ads[\/\\]IAP-(\d+\.\d+)$/, minVersion: '2.5', isFolder: true , required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
25
|
+
{ pattern: /Ads[\/\\]admob-emi-(\d+\.\d+)\.js$/, minVersion: '3.3', required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
26
26
|
|
|
27
27
|
// New added plugins
|
|
28
|
-
{ pattern: /video-player-(\d+\.\d+)\.js$/, minVersion: '1.5', required: true, baseDir: 'js' },
|
|
29
|
-
{ pattern: /image-cropper-(\d+\.\d+)\.js$/, minVersion: '1.1', required: true, baseDir: 'js' },
|
|
28
|
+
{ pattern: /video-player-(\d+\.\d+)\.js$/, minVersion: '1.5', required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
29
|
+
{ pattern: /image-cropper-(\d+\.\d+)\.js$/, minVersion: '1.1', required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
30
30
|
|
|
31
|
-
{ pattern: /common-(\d+\.\d+)\.less$/, minVersion: '1.6', required: true, baseDir: 'assets/css' },
|
|
31
|
+
{ pattern: /common-(\d+\.\d+)\.less$/, minVersion: '1.6', required: true, baseDir: 'assets/css',mandatoryUpdate: false },
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
// New folders
|
|
35
|
-
{ pattern: /editor-(\d+\.\d+)$/, minVersion: '1.9', isFolder: true, required: true, baseDir: 'js' },
|
|
36
|
-
{ pattern: /ffmpeg-(\d+\.\d+)$/, minVersion: '1.3', isFolder: true, required: true, baseDir: 'js' },
|
|
37
|
-
{ pattern: /theme-(\d+\.\d+)$/, minVersion: '1.9', isFolder: true , required: true, baseDir: 'theme' },
|
|
35
|
+
{ pattern: /editor-(\d+\.\d+)$/, minVersion: '1.9', isFolder: true, required: true, baseDir: 'js',mandatoryUpdate: true },
|
|
36
|
+
{ pattern: /ffmpeg-(\d+\.\d+)$/, minVersion: '1.3', isFolder: true, required: true, baseDir: 'js',mandatoryUpdate: false },
|
|
37
|
+
{ pattern: /theme-(\d+\.\d+)$/, minVersion: '1.9', isFolder: true , required: true, baseDir: 'theme',mandatoryUpdate: true },
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
{ pattern: /certificatejs-(\d+\.\d+)$/, minVersion: '1.4', isFolder: true , required: true, baseDir: 'certificate' }
|
|
40
|
+
{ pattern: /certificatejs-(\d+\.\d+)$/, minVersion: '1.4', isFolder: true , required: true, baseDir: 'certificate',mandatoryUpdate: true }
|
|
41
41
|
|
|
42
42
|
];
|
|
43
43
|
|
|
@@ -954,13 +954,17 @@ function getSearchRoot(plugin) {
|
|
|
954
954
|
return path.join(srcDir, plugin.baseDir || 'js');
|
|
955
955
|
}
|
|
956
956
|
|
|
957
|
+
let hasMandatoryUpdate = false;
|
|
957
958
|
function checkPlugins() {
|
|
958
959
|
return new Promise((resolve, reject) => {
|
|
959
960
|
const files = walkSync(srcDir);
|
|
961
|
+
const outdatedPlugins = [];
|
|
962
|
+
let hasMandatoryUpdate = false;
|
|
960
963
|
|
|
961
964
|
for (const plugin of requiredPlugins) {
|
|
962
965
|
const searchRoot = getSearchRoot(plugin);
|
|
963
966
|
|
|
967
|
+
// ---------- Folder plugins ----------
|
|
964
968
|
if (plugin.isFolder) {
|
|
965
969
|
if (!fs.existsSync(searchRoot)) continue;
|
|
966
970
|
|
|
@@ -974,18 +978,25 @@ function checkPlugins() {
|
|
|
974
978
|
|
|
975
979
|
if (match) {
|
|
976
980
|
const currentVersion = match[1];
|
|
981
|
+
|
|
977
982
|
if (compareVersions(currentVersion, plugin.minVersion) < 0) {
|
|
978
983
|
outdatedPlugins.push({
|
|
979
984
|
name: relativePath,
|
|
980
985
|
currentVersion,
|
|
981
|
-
requiredVersion: plugin.minVersion
|
|
986
|
+
requiredVersion: plugin.minVersion,
|
|
987
|
+
mandatoryUpdate: plugin.mandatoryUpdate === true
|
|
982
988
|
});
|
|
989
|
+
|
|
990
|
+
if (plugin.mandatoryUpdate) {
|
|
991
|
+
hasMandatoryUpdate = true;
|
|
992
|
+
}
|
|
983
993
|
}
|
|
984
994
|
}
|
|
985
995
|
}
|
|
986
996
|
continue;
|
|
987
997
|
}
|
|
988
998
|
|
|
999
|
+
// ---------- File plugins ----------
|
|
989
1000
|
const matchedFile = files.find(file =>
|
|
990
1001
|
file.startsWith(searchRoot) && plugin.pattern.test(file)
|
|
991
1002
|
);
|
|
@@ -1004,35 +1015,56 @@ function checkPlugins() {
|
|
|
1004
1015
|
outdatedPlugins.push({
|
|
1005
1016
|
name: path.relative(srcDir, matchedFile),
|
|
1006
1017
|
currentVersion: isBeta ? `${currentVersion}-beta` : currentVersion,
|
|
1007
|
-
requiredVersion: plugin.minVersion
|
|
1018
|
+
requiredVersion: plugin.minVersion,
|
|
1019
|
+
mandatoryUpdate: plugin.mandatoryUpdate === true
|
|
1008
1020
|
});
|
|
1021
|
+
|
|
1022
|
+
if (plugin.mandatoryUpdate) {
|
|
1023
|
+
hasMandatoryUpdate = true;
|
|
1024
|
+
}
|
|
1009
1025
|
}
|
|
1010
1026
|
}
|
|
1011
1027
|
}
|
|
1012
1028
|
}
|
|
1013
1029
|
|
|
1030
|
+
// ---------- Result handling ----------
|
|
1014
1031
|
if (outdatedPlugins.length > 0) {
|
|
1015
|
-
console.log('\n❗ The following plugins are outdated
|
|
1032
|
+
console.log('\n❗ The following plugins are outdated:\n');
|
|
1033
|
+
|
|
1016
1034
|
outdatedPlugins.forEach(p => {
|
|
1017
|
-
|
|
1035
|
+
const tag = p.mandatoryUpdate ? '🔥 MANDATORY' : '';
|
|
1036
|
+
console.log(
|
|
1037
|
+
` ❌ - ${p.name} (Current: ${p.currentVersion}, Required: ${p.requiredVersion}) ${tag}`
|
|
1038
|
+
);
|
|
1018
1039
|
});
|
|
1019
1040
|
|
|
1041
|
+
// 🚨 Mandatory update → stop build
|
|
1042
|
+
if (hasMandatoryUpdate) {
|
|
1043
|
+
console.log('\n🚫 One or more plugins require a mandatory update.');
|
|
1044
|
+
console.log('❌ Build cancelled. Please update mandatory plugins and try again.');
|
|
1045
|
+
process.exit(1);
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
// Optional updates → ask user
|
|
1020
1049
|
const rl = readline.createInterface({
|
|
1021
1050
|
input: process.stdin,
|
|
1022
1051
|
output: process.stdout
|
|
1023
1052
|
});
|
|
1024
1053
|
|
|
1025
|
-
rl.question(
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1054
|
+
rl.question(
|
|
1055
|
+
'\nAre you sure you want to continue without updating these plugins? (y/n): ',
|
|
1056
|
+
answer => {
|
|
1057
|
+
rl.close();
|
|
1058
|
+
|
|
1059
|
+
if (answer.toLowerCase() !== 'y') {
|
|
1060
|
+
console.log('\n❌ Build cancelled due to outdated plugins.');
|
|
1061
|
+
process.exit(1);
|
|
1062
|
+
} else {
|
|
1063
|
+
console.log('\n✅ Continuing build...');
|
|
1064
|
+
resolve();
|
|
1065
|
+
}
|
|
1034
1066
|
}
|
|
1035
|
-
|
|
1067
|
+
);
|
|
1036
1068
|
} else {
|
|
1037
1069
|
console.log('✅ All plugin versions are up to date.');
|
|
1038
1070
|
resolve();
|