codeplay-common 4.10.2 → 4.10.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.10.4 — 2026-10-23
4
+
5
+ Version name: 4.10.4. Version code/build number: not applicable to this npm package.
6
+
7
+ Files changed: `package.json`, `files/scripts-common/run-codeplay-sync-after.js`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
8
+
9
+ - Ship an updated sync-after hook for apps retaining the custom hook command after script migration.
10
+ - Run unversioned splash helpers instead of searching for removed versioned filenames.
11
+ - Resolve baseline profile setup from `scripts-common/` and preserve the existing native splash when no splash icon is configured.
12
+
13
+ ## 4.10.3 — 2026-10-23
14
+
15
+ Version name: 4.10.3. Version code/build number: not applicable to this npm package.
16
+
17
+ Files changed: `package.json`, `files/finalrelease`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
18
+
19
+ - Allow ad-free apps with `plugins.AdMob.ADMOB_ENABLED: false` to pass release validation without an AdMob alias or controller.
20
+ - Continue requiring a production AdMob alias when advertising is enabled or the enabled flag is unspecified.
21
+ - Preserve rejection of test aliases, commented or duplicate aliases, and missing production controllers for apps with ads enabled.
22
+
3
23
  ## 4.10.0 — 2026-10-23
4
24
 
5
25
  Version name: 4.10.0. Version code/build number: not applicable to this npm package.
package/RELEASE_NOTES.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Release notes
2
2
 
3
+ ## 4.10.4 — 2026-10-23
4
+
5
+ Version name: 4.10.4. Version code/build number: not applicable to this npm package.
6
+
7
+ Files changed: `package.json`, `files/scripts-common/run-codeplay-sync-after.js`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
8
+
9
+ - Fix Android sync failures caused by the old versioned splash script lookup.
10
+ - Use the migrated baseline profile setup path.
11
+ - Update the custom sync hook automatically during plugin installation.
12
+
13
+ ## 4.10.3 — 2026-10-23
14
+
15
+ Version name: 4.10.3. Version code/build number: not applicable to this npm package.
16
+
17
+ Files changed: `package.json`, `files/finalrelease`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
18
+
19
+ - Release ad-free apps without adding an unnecessary AdMob alias or controller.
20
+ - Explicitly set `plugins.AdMob.ADMOB_ENABLED` to `false` to use the ad-free release path.
21
+ - Keep production AdMob safety checks for apps with advertising enabled.
22
+
3
23
  ## 4.10.0 — 2026-10-23
4
24
 
5
25
  Version name: 4.10.0. Version code/build number: not applicable to this npm package.
@@ -90,6 +90,12 @@ function stripJavaScriptComments(content) {
90
90
  }
91
91
 
92
92
  function checkProductionAdmobAlias() {
93
+ const capacitorConfig = JSON.parse(readFileSync(resolve(__dirname, 'capacitor.config.json'), 'utf8'));
94
+ if (capacitorConfig.plugins?.AdMob?.ADMOB_ENABLED === false) {
95
+ console.log('ℹ️ AdMob is disabled; production @admob alias validation skipped.');
96
+ return;
97
+ }
98
+
93
99
  const possibleConfigFiles = ['vite.config.mjs', 'vite.config.js'];
94
100
  const viteConfigPath = possibleConfigFiles
95
101
  .map(configFile => resolve(__dirname, configFile))
@@ -133,7 +139,7 @@ function checkProductionAdmobAlias() {
133
139
  console.log(`✅ Production @admob alias verified: ${activeAlias}`);
134
140
  }
135
141
 
136
- // This must be the first release validation so test/no-ad builds cannot proceed.
142
+ // Validate the production alias first when AdMob is enabled.
137
143
  checkProductionAdmobAlias();
138
144
 
139
145
  // Define a mapping between store IDs and store names
@@ -0,0 +1,21 @@
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+ const { execFileSync } = require('child_process');
4
+
5
+ const root = path.resolve(__dirname, '..');
6
+ const buildDir = path.join(root, 'buildCodeplay');
7
+
8
+ function run(scriptPath) {
9
+ execFileSync(process.execPath, [scriptPath], { cwd: root, stdio: 'inherit' });
10
+ }
11
+
12
+ const splashIcon = path.join(root, 'resources', 'splash_icon.png');
13
+ if (fs.existsSync(splashIcon)) {
14
+ run(path.join(buildDir, 'add-splash-screen.js'));
15
+ run(path.join(buildDir, 'setSplashAnimation.js'));
16
+ } else {
17
+ console.log('ℹ️ Keeping the existing native splash because resources/splash_icon.png is not configured.');
18
+ }
19
+
20
+ run(path.join(buildDir, 'manifestModification.js'));
21
+ run(path.join(__dirname, 'setup-baseline-profile.js'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeplay-common",
3
- "version": "4.10.2",
3
+ "version": "4.10.4",
4
4
  "description": "Common build scripts and files",
5
5
  "scripts": {
6
6
  "postinstall": "node scripts/sync-files.js",