codeplay-common 1.4.4 → 1.4.6

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.
@@ -86,8 +86,86 @@ try {
86
86
 
87
87
 
88
88
 
89
+ // saveToGalleryAndSaveAnyFile-x.x-ios.js file check for android and return error if exists START
90
+
91
+ // saveToGalleryAndSaveAnyFile-x.x-ios.js file check based on platform START
92
+
93
+ const os = require('os');
94
+
95
+ const saveToGalleryAndSaveFileCheck_iOS = () => {
96
+ const ROOT_DIR = path.resolve(__dirname, '../src');
97
+
98
+ const IOS_FILE_REGEX = /(?:import|require)?\s*\(?['"].*saveToGalleryAndSaveAnyFile-\d+(\.\d+)?-ios\.js['"]\)?/;
99
+ const ALLOWED_EXTENSIONS = ['.js', '.f7'];
100
+ const isMac = os.platform() === 'darwin';
101
+
102
+ let iosImportFound = false;
103
+
104
+ function scanDirectory(dir) {
105
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
106
+
107
+ for (let entry of entries) {
108
+ const fullPath = path.join(dir, entry.name);
109
+
110
+ if (entry.isDirectory()) {
111
+ if (entry.name === 'node_modules') continue;
112
+ scanDirectory(fullPath);
113
+ } else if (
114
+ entry.isFile() &&
115
+ ALLOWED_EXTENSIONS.some(ext => fullPath.endsWith(ext))
116
+ ) {
117
+ const content = fs.readFileSync(fullPath, 'utf8');
118
+ const matches = content.match(IOS_FILE_REGEX);
119
+ if (matches) {
120
+ iosImportFound = true;
121
+ console.error(`\n❌❌❌ BIG ERROR: iOS-specific import detected in: ${fullPath}`);
122
+ console.error(`🔍 Matched: ${matches[0]}\n`);
123
+ if (!isMac) {
124
+ console.error(`🚫 STOPPED: This file should not be imported in Android/Windows/Linux builds.\n`);
125
+ process.exit(1);
126
+ }
127
+ }
128
+ }
129
+ }
130
+ }
131
+
132
+ // Check if src folder exists first
133
+ if (!fs.existsSync(ROOT_DIR)) {
134
+ console.warn(`⚠️ Warning: 'src' directory not found at: ${ROOT_DIR}`);
135
+ return;
136
+ }
137
+
138
+ scanDirectory(ROOT_DIR);
139
+
140
+ if (isMac && !iosImportFound) {
141
+ console.warn(`\x1b[31m\n⚠️⚠️⚠️ WARNING: You're on macOS but no iOS-specific file (saveToGalleryAndSaveAnyFile-x.x-ios.js) was found.\x1b[0m`);
142
+ console.warn(`👉 You may want to double-check your imports for the iOS platform.\n`);
143
+ } else if (isMac && iosImportFound) {
144
+ console.log('✅ iOS file detected as expected for macOS.');
145
+ } else if (!iosImportFound) {
146
+ console.log('✅ No iOS-specific file imports detected for non-macOS.');
147
+ }
148
+ };
149
+
150
+ saveToGalleryAndSaveFileCheck_iOS();
151
+ // saveToGalleryAndSaveAnyFile-x.x-ios.js file check based on platform END
152
+
153
+
154
+ // saveToGalleryAndSaveAnyFile-x.x-ios.js file check for android and return error if exists END
155
+
156
+
157
+
89
158
 
90
159
 
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+ /*
91
169
  // Clean up AppleDouble files (._*) created by macOS START
92
170
  if (process.platform === 'darwin') {
93
171
  try {
@@ -102,7 +180,7 @@ if (process.platform === 'darwin') {
102
180
  }
103
181
 
104
182
  // Clean up AppleDouble files (._*) created by macOS END
105
-
183
+ */
106
184
 
107
185
 
108
186
 
@@ -395,6 +473,8 @@ function checkAndCopyResources() {
395
473
  }
396
474
  }
397
475
 
476
+
477
+
398
478
  function getAdMobConfig() {
399
479
  if (!fileExists(configPath)) {
400
480
  throw new Error('capacitor.config.json not found. Ensure this is a Capacitor project.');
@@ -426,7 +506,6 @@ function getAdMobConfig() {
426
506
  };
427
507
  }
428
508
 
429
-
430
509
  function updatePluginXml(admobConfig) {
431
510
  if (!fileExists(pluginPath)) {
432
511
  console.error('plugin.xml not found. Ensure the plugin is installed.');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeplay-common",
3
- "version": "1.4.4",
3
+ "version": "1.4.6",
4
4
  "description": "Common build scripts and files",
5
5
  "scripts": {
6
6
  "postinstall": "node scripts/sync-files.js",