codeplay-common 4.10.5 → 4.10.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.
package/CHANGELOG.md CHANGED
@@ -1,77 +1,77 @@
1
- # Changelog
2
-
3
- ## 4.10.5 — 2026-10-23
4
-
5
- Version name: 4.10.5. Version code/build number: not applicable to this npm package.
6
-
7
- Files changed: `package.json`, `scripts/sync-files.js`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
8
-
9
- - Migrate known legacy filename lookups in an existing app configurator after installing shared scripts.
10
- - Prefer unversioned pre-build and package-ID helpers while retaining the versioned fallback.
11
- - Correct the known old sync-hook folder assignment without replacing app-specific configuration or adding a configurator to apps that do not have one.
12
-
13
- ## 4.10.4 — 2026-10-23
14
-
15
- Version name: 4.10.4. Version code/build number: not applicable to this npm package.
16
-
17
- Files changed: `package.json`, `files/scripts-common/run-codeplay-sync-after.js`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
18
-
19
- - Ship an updated sync-after hook for apps retaining the custom hook command after script migration.
20
- - Run unversioned splash helpers instead of searching for removed versioned filenames.
21
- - Resolve baseline profile setup from `scripts-common/` and preserve the existing native splash when no splash icon is configured.
22
-
23
- ## 4.10.3 — 2026-10-23
24
-
25
- Version name: 4.10.3. Version code/build number: not applicable to this npm package.
26
-
27
- Files changed: `package.json`, `files/finalrelease`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
28
-
29
- - Allow ad-free apps with `plugins.AdMob.ADMOB_ENABLED: false` to pass release validation without an AdMob alias or controller.
30
- - Continue requiring a production AdMob alias when advertising is enabled or the enabled flag is unspecified.
31
- - Preserve rejection of test aliases, commented or duplicate aliases, and missing production controllers for apps with ads enabled.
32
-
33
- ## 4.10.0 — 2026-10-23
34
-
35
- Version name: 4.10.0. Version code/build number: not applicable to this npm package.
36
- Bundled pre-build script: 6.7.
37
-
38
- Files changed: `package.json`, `files/buildCodeplay/project-scripts.cjs`, `scripts/sync-files.js`, `scripts/uninstall.js`, `files/finalrelease`, `files/buildCodeplay/`, `files/scripts-common/`, `files/take-screen-image.js`, `README.md`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
39
-
40
- - Copy shared build scripts and the versions manifest into each app; run local scripts with unversioned filenames.
41
- - Rename app helper scripts to scripts-common automatically, migrate command paths, and preserve existing files without overwriting folder conflicts.
42
- - Migrate app build/store/sync paths automatically and remove only superseded versioned helpers; preserve app-owned configuration and screenshot data.
43
- - Resolve app sources/native targets from the consuming app directory while keeping bundled assets inside the plugin.
44
- - Download IAP and AdMob directly from htmlcodeplay.com, without bundling archives or adding a separate fallback.
45
- - Automatically migrate deferred ownership verification, purchase-safe advertising, and Home Pro visibility according to each store IAP flag.
46
- - Copy the full finalrelease implementation so it can be tested from the application folder.
47
- - Preserve working files during preinstall and avoid downgrading local/newer plugin installations to an older registry release.
48
-
49
- ## 4.9.8 — 2026-10-22
50
-
51
- Version name: 4.9.8. Version code/build number: not applicable to this npm package.
52
- Bundled pre-build script: 6.5.
53
-
54
- Files changed: `package.json`, `scripts/sync-files.js`, `files/buildCodeplay/codeplayBeforeBuild-6.5.js`, `files/buildCodeplay/sync-admob-nextgen.js`, `files/buildCodeplay/versions.json`, `files/finalrelease`, `README.md`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
55
-
56
- - Install AdMob as `src/js/Ads/admob-nextgen-4.0/` with stable `admob-emi-nextgen.js` and `app-open-state.js` filenames.
57
- - Automatically migrate loose-file references, folder references and Vite aliases during installation and before builds.
58
- - Preserve app-owned ad configuration and select each app's existing IAP analytics module.
59
- - Download every AdMob folder ZIP from htmlcodeplay.com; no AdMob archive is included in this npm package.
60
- - Validate ZIP contents before switching imports; retain the working package when a remote update fails.
61
- - Validate the selected folder controller during final-release checks while continuing to reject test aliases.
62
-
63
- ## 4.7.7 — 2026-10-07
64
-
65
- Version name: 4.7.7. Version code/build number: not applicable to this npm package.
66
- Bundled pre-build script: 6.4.
67
-
68
- Files changed: `package.json`, `scripts/sync-files.js`, `files/buildCodeplay/codeplayBeforeBuild-6.4.js`
69
- (replaces `codeplayBeforeBuild-6.3.js`), `README.md`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
70
-
71
- - Keep `npm run build` as the Android default on every host; add `npm run build:ios` automatically during installation.
72
- - Route `build-capacitor-android` through the same pre-build validation before copying the web build.
73
- - Migrate direct save-gallery imports to `@saveGallery` and select the matching platform helper in Vite after one detailed Enter/y confirmation.
74
- - Stop without import writes on cancellation, missing helpers, mixed versions, unsupported query/hash aliases or concurrent source edits.
75
- - Reuse source directory traversal and combine gallery, retired OneSignal import, StatusBar and editor checks in one content pass.
76
- - Automatically remove an installed/declared `onesignal-cordova-plugin` with a warning; skip legacy OneSignal patching/helper downloads and stop on remaining package imports.
77
- - Keep `agent-temp/` ignored and remove existing `buildCodeplay/` ignore entries without adding them in future projects.
1
+ # Changelog
2
+
3
+ ## 4.10.5 — 2026-10-23
4
+
5
+ Version name: 4.10.5. Version code/build number: not applicable to this npm package.
6
+
7
+ Files changed: `package.json`, `scripts/sync-files.js`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
8
+
9
+ - Migrate known legacy filename lookups in an existing app configurator after installing shared scripts.
10
+ - Prefer unversioned pre-build and package-ID helpers while retaining the versioned fallback.
11
+ - Correct the known old sync-hook folder assignment without replacing app-specific configuration or adding a configurator to apps that do not have one.
12
+
13
+ ## 4.10.4 — 2026-10-23
14
+
15
+ Version name: 4.10.4. Version code/build number: not applicable to this npm package.
16
+
17
+ Files changed: `package.json`, `files/scripts-common/run-codeplay-sync-after.js`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
18
+
19
+ - Ship an updated sync-after hook for apps retaining the custom hook command after script migration.
20
+ - Run unversioned splash helpers instead of searching for removed versioned filenames.
21
+ - Resolve baseline profile setup from `scripts-common/` and preserve the existing native splash when no splash icon is configured.
22
+
23
+ ## 4.10.3 — 2026-10-23
24
+
25
+ Version name: 4.10.3. Version code/build number: not applicable to this npm package.
26
+
27
+ Files changed: `package.json`, `files/finalrelease`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
28
+
29
+ - Allow ad-free apps with `plugins.AdMob.ADMOB_ENABLED: false` to pass release validation without an AdMob alias or controller.
30
+ - Continue requiring a production AdMob alias when advertising is enabled or the enabled flag is unspecified.
31
+ - Preserve rejection of test aliases, commented or duplicate aliases, and missing production controllers for apps with ads enabled.
32
+
33
+ ## 4.10.0 — 2026-10-23
34
+
35
+ Version name: 4.10.0. Version code/build number: not applicable to this npm package.
36
+ Bundled pre-build script: 6.7.
37
+
38
+ Files changed: `package.json`, `files/buildCodeplay/project-scripts.cjs`, `scripts/sync-files.js`, `scripts/uninstall.js`, `files/finalrelease`, `files/buildCodeplay/`, `files/scripts-common/`, `files/take-screen-image.js`, `README.md`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
39
+
40
+ - Copy shared build scripts and the versions manifest into each app; run local scripts with unversioned filenames.
41
+ - Rename app helper scripts to scripts-common automatically, migrate command paths, and preserve existing files without overwriting folder conflicts.
42
+ - Migrate app build/store/sync paths automatically and remove only superseded versioned helpers; preserve app-owned configuration and screenshot data.
43
+ - Resolve app sources/native targets from the consuming app directory while keeping bundled assets inside the plugin.
44
+ - Download IAP and AdMob directly from htmlcodeplay.com, without bundling archives or adding a separate fallback.
45
+ - Automatically migrate deferred ownership verification, purchase-safe advertising, and Home Pro visibility according to each store IAP flag.
46
+ - Copy the full finalrelease implementation so it can be tested from the application folder.
47
+ - Preserve working files during preinstall and avoid downgrading local/newer plugin installations to an older registry release.
48
+
49
+ ## 4.9.8 — 2026-10-22
50
+
51
+ Version name: 4.9.8. Version code/build number: not applicable to this npm package.
52
+ Bundled pre-build script: 6.5.
53
+
54
+ Files changed: `package.json`, `scripts/sync-files.js`, `files/buildCodeplay/codeplayBeforeBuild-6.5.js`, `files/buildCodeplay/sync-admob-nextgen.js`, `files/buildCodeplay/versions.json`, `files/finalrelease`, `README.md`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
55
+
56
+ - Install AdMob as `src/js/Ads/admob-nextgen-4.0/` with stable `admob-emi-nextgen.js` and `app-open-state.js` filenames.
57
+ - Automatically migrate loose-file references, folder references and Vite aliases during installation and before builds.
58
+ - Preserve app-owned ad configuration and select each app's existing IAP analytics module.
59
+ - Download every AdMob folder ZIP from htmlcodeplay.com; no AdMob archive is included in this npm package.
60
+ - Validate ZIP contents before switching imports; retain the working package when a remote update fails.
61
+ - Validate the selected folder controller during final-release checks while continuing to reject test aliases.
62
+
63
+ ## 4.7.7 — 2026-10-07
64
+
65
+ Version name: 4.7.7. Version code/build number: not applicable to this npm package.
66
+ Bundled pre-build script: 6.4.
67
+
68
+ Files changed: `package.json`, `scripts/sync-files.js`, `files/buildCodeplay/codeplayBeforeBuild-6.4.js`
69
+ (replaces `codeplayBeforeBuild-6.3.js`), `README.md`, `CHANGELOG.md`, `RELEASE_NOTES.md`.
70
+
71
+ - Keep `npm run build` as the Android default on every host; add `npm run build:ios` automatically during installation.
72
+ - Route `build-capacitor-android` through the same pre-build validation before copying the web build.
73
+ - Migrate direct save-gallery imports to `@saveGallery` and select the matching platform helper in Vite after one detailed Enter/y confirmation.
74
+ - Stop without import writes on cancellation, missing helpers, mixed versions, unsupported query/hash aliases or concurrent source edits.
75
+ - Reuse source directory traversal and combine gallery, retired OneSignal import, StatusBar and editor checks in one content pass.
76
+ - Automatically remove an installed/declared `onesignal-cordova-plugin` with a warning; skip legacy OneSignal patching/helper downloads and stop on remaining package imports.
77
+ - Keep `agent-temp/` ignored and remove existing `buildCodeplay/` ignore entries without adding them in future projects.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Merbin Joe
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Merbin Joe
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,215 +1,215 @@
1
- # codeplay-common
2
- Everything automatted in Capacitor apps, easy to maintain many apps in capacitor. It will reduce your 40% of work, with common file code.
3
-
4
-
5
- Easy add splashscreen and set animation
6
- Admob id automatically from capacitor.config.json file
7
- Make three build file for different store as per our requirement
8
- Based on store install various IAP plugins
9
- Make it to ionic project
10
-
11
-
12
- ## App helper folder
13
-
14
- Application helper scripts are kept in `scripts-common/`. Installation migrates the old `scripts/` folder and package command paths automatically, preserving every existing file. A conflicting destination file stops migration before any files are moved. The plugin’s internal npm lifecycle folder remains `scripts/`.
15
-
16
- ## Shared unversioned build files (4.10.0)
17
-
18
- The plugin keeps the master build templates in files/buildCodeplay and copies them into each app's buildCodeplay folder during installation/update. Test changes in the application folder, then update these master templates for distribution to other apps.
19
-
20
- App package scripts run local files: node buildCodeplay/codeplayBeforeBuild.js, node buildCodeplay/packageidBaseModification.js, node buildCodeplay/add-splash-screen.js and node buildCodeplay/setSplashAnimation.js. Filenames have no version suffixes. The versions.json plugin manifest remains alongside these scripts and is copied too.
21
-
22
- Installation migrates both legacy versioned filenames and the temporary node_modules runner commands to these local paths. It removes only superseded versioned build scripts, preserves app-owned release configuration and splash XML overrides, and keeps screenshot data and custom helpers. The root finalrelease script is also copied as a local implementation.
23
-
24
- Before-build includes the automatic IAP startup and Home Pro-button migrations. IAP and AdMob ZIPs are downloaded directly from https://htmlcodeplay.com/code-play-plugin/ using the existing update flow. No plugin ZIPs are bundled in this npm package. App-specific configuration and designs remain in the app.
25
-
26
- ## AdMob folder packages
27
-
28
- The next before-build automatically migrates AdMob to at least:
29
-
30
- `src/js/Ads/admob-nextgen-4.1/admob-emi-nextgen.js`
31
-
32
- `src/js/Ads/admob-nextgen-4.1/app-open-state.js`
33
-
34
- Existing `@admob` imports continue to work. Direct imports of the controller or
35
- lightweight state module are rewritten to the selected folder, including relative
36
- paths, `@/` paths and static dynamic imports. App-owned
37
- `src/js/Ads/admob-ad-configuration-nextgen.json` remains outside the package;
38
- installation does not replace its values. The controller's analytics import is
39
- aligned with the newest installed IAP folder containing `firebase-analytics.js`.
40
-
41
- The pre-build script downloads IAP before migrating AdMob so the corresponding imports exist. Postinstall does not independently update AdMob ahead of IAP.
42
- ZIPs may contain the files directly or one matching versioned folder. A complete
43
- controller and state module are required before imports switch. An unavailable or
44
- invalid remote ZIP leaves the installed package in use, with a warning. Unresolved
45
- import targets stop migration before old packages are removed.
46
-
47
- For future AdMob releases, upload `admob-nextgen-X.Y.zip` to
48
- `https://htmlcodeplay.com/code-play-plugin/` and set `"admob-nextgen": "X.Y"`
49
- in that server's `versions.json`. Version the folder, and keep module filenames
50
- stable. The previous `admob-emi-nextgen` manifest key is accepted for versions
51
- 4.0 and later during the transition. Apps automatically select a newer ZIP during
52
- their next normal pre-build; no per-app import changes are needed.
53
- For older manifests without a folder release entry, migration checks the required
54
- `admob-nextgen-4.1.zip` directly from the same server. If offline, an existing compatible
55
- installation is preserved; a missing required package stops the build.
56
-
57
- ## Platform builds and shared validation
58
-
59
- Installing or updating `codeplay-common` updates the consuming project's `package.json`
60
- to use the copied unversioned pre-build script and adds these commands:
61
-
62
- - `npm run build`: Android by default, including on macOS.
63
- - `npm run build:ios`: sets `CODEPLAY_BUILD_PLATFORM=ios` and runs the same build pipeline.
64
- - `npm run build-capacitor-android`: runs the shared checks and copies the web build to Android.
65
-
66
- The pre-build script migrates direct `saveToGalleryAndSaveAnyFile` imports to
67
- `@saveGallery` and sets the Vite alias to the matching Android or iOS helper.
68
- Before changing source imports or the alias, it lists the build target, affected files,
69
- and exact replacements. Press Enter or type `y` to continue; any other answer cancels.
70
- Correct imports and alias targets continue without prompting. Missing helpers, mixed
71
- versions and query/hash imports stop with an actionable error.
72
-
73
- Source validation reuses a directory inventory and combines the gallery and editor
74
- checks in one content pass. The inventory refreshes when generated or downloaded
75
- files change the source tree.
76
-
77
- Builds also keep `agent-temp/` ignored and remove existing `buildCodeplay/` ignore entries.
78
- If `onesignal-cordova-plugin` is declared or installed, the pre-build script warns and
79
- runs `npm uninstall onesignal-cordova-plugin`. It stops if removal fails or active
80
- package imports remain. Legacy OneSignal patching and helper downloads are disabled.
81
-
82
- ## Screenshot data
83
-
84
- Shared screenshot helpers are installed into `scripts-common/screenshot/` and updated with
85
- the package. App-specific data is not bundled with the package.
86
- During an upgrade, cleanup removes only the two legacy helpers `frame-samples.js`
87
- and `background-decorations.js` from `scripts-screenshot/screenshot/`, preserving
88
- the folder, JSON data, and other app files.
89
-
90
- `take-screen-image.js` creates `scripts-screenshot/screenshot/` and empty
91
- `screenshot-copy.json` and `screenshot-info.json` files when needed. Existing files
92
- are preserved during initialization, package installation, and cleanup. Capture
93
- updates screenshot information; the AI text-generation workflow fills screenshot
94
- copy. `--delete` removes matching records, and screenshot runs reconcile records
95
- against the captured images (except dry runs and `--refresh-info`).
96
-
97
- ## Agent instructions
98
-
99
- Agent instructions are updated during `npm run build`, not during npm installation.
100
- The build script reads the `agents` version from
101
- `https://htmlcodeplay.com/code-play-plugin/versions.json` and downloads the matching
102
- `agents-<version>.zip` archive when the project has no agent instructions or the
103
- server version is newer.
104
-
105
- The ZIP root must contain `AGENTS.md` and `AGENTS/`. These are copied directly to
106
- the project root. The installed version is stored in `AGENTS/.codeplay-version`.
107
- Existing files with matching names are replaced; project-only files with other
108
- names inside `AGENTS/` are preserved.
109
-
110
- For example, publish `agents-1.1.zip` and add this entry to the server's
111
- `versions.json`:
112
-
113
- ```json
114
- "agents": "1.1"
115
- ```
116
-
117
- Donate to get full code including many common functions
118
- https://ko-fi.com/codeplay
119
-
120
- Version 4.6.1
121
- Added automatic IAP startup integration for Framework7 home pages.
122
- Updated minimum shared versions to IAP 4.2 and AdMob nextgen 2.5.
123
-
124
- 4.2.8
125
- baseline profile code modifications
126
-
127
- Version 4.2.3
128
- Added build warning confirmation when android.ORIENTATION is not "auto" or android.RESIZEABLE_ACTIVITY is not true.
129
-
130
- Version 4.2.2
131
- Added "bannerDisabledPages" property and its default value
132
- The admob configuration default value priority is updated
133
-
134
- Version 4.2.1
135
- Updated AdMob nextgen file validation to match admob-emi-nextgen file names.
136
-
137
- Version 4.2.0
138
- Firebase related automatic changes updated
139
-
140
- Version 4.1.9
141
- Added AdMob nextgen 1.7 validation/default support for "overlappingHeight", "bannerTypeAndroidLandscape", and "bannerTypeiOSLandscape".
142
-
143
- Version 4.1.8
144
- "consentDebug: false" is added
145
-
146
- Version 4.1.7
147
- admob configuration automatically added.
148
-
149
- Version 4.1.6
150
- "setup-baseline-profile.js" modification, duplicate validation error fixed
151
-
152
- Version 4.1.5
153
- While isTesting is true it is not validated from our new configuration admob file, now it is solved
154
-
155
- Version 4.1.4
156
- hardcoded version is removed for the admob-emi-nextgen
157
-
158
-
159
- Version 4.1.3
160
- "consentDebug": false automatically adds if not
161
-
162
- Version 4.1.2
163
- Speedup
164
-
165
- Version 4.1.1
166
- Auto admob integration updated
167
-
168
-
169
- version 4.0.9
170
- packageJson.scripts["ionic:serve"] = "cross-env NODE_ENV=development vite"; this line updated in "sync-files.js"
171
-
172
-
173
- version 4.0.8
174
- safearea plugin is checked and removed automatically
175
- Automatically added following in capacitor.config.json file
176
- "SystemBars": {
177
- "insetsHandling": "css"
178
- }
179
- patchFile() method is removed
180
-
181
-
182
-
183
-
184
- Version 4.0.6
185
- IAP related some automatic variable creation and validation
186
- Fetch from vite.config.json file
187
- 'import.meta.env.VITE_APP_UNIQUE_ID': JSON.stringify(APP_UNIQUE_ID),
188
- 'import.meta.env.VITE_ANDROID_ANALYTICS_ENABLED': JSON.stringify(ANDROID_ANALYTICS_ENABLED),
189
- 'import.meta.env.VITE_IOS_ANALYTICS_ENABLED': JSON.stringify(IOS_ANALYTICS_ENABLED),
190
- 'import.meta.env.VITE_IAP_DESIGN': JSON.stringify(IAP_DESIGN),
191
-
192
-
193
- Version 4.0.5
194
- In "files\buildCodeplay\packageidBaseModification-1.4.js" SCHEDULE_EXACT_ALARM permission added for the app unique id 2 (resume generator app)
195
-
196
-
197
- Version 4.0.4
198
- patchFile(); method is disabled, Due to "@capacitor/android:8.4.2" this update. I think it is realted to safearea issue fixed in this latest version, file in "SystemBars.java"
199
-
200
- Version 4.0.3
201
- Old admob check performs through plugin location, but not it is validated from capacitor.config.json
202
-
203
-
204
- Version: 4.0.2
205
- After check & install/download the latest version, the re-check is cancelled now
206
-
207
- Version: 4.0.1
208
- Base profile script added
209
-
210
-
211
- "version": "",
212
- Version : 4.0.0 (Previous version 3.2.19)
213
- 1) In here we are completly remove the admob-emi and use "capacitor-admob-nextgen"
214
- 2) Removed "modify-plugin-xml.js"
215
- 3)
1
+ # codeplay-common
2
+ Everything automatted in Capacitor apps, easy to maintain many apps in capacitor. It will reduce your 40% of work, with common file code.
3
+
4
+
5
+ Easy add splashscreen and set animation
6
+ Admob id automatically from capacitor.config.json file
7
+ Make three build file for different store as per our requirement
8
+ Based on store install various IAP plugins
9
+ Make it to ionic project
10
+
11
+
12
+ ## App helper folder
13
+
14
+ Application helper scripts are kept in `scripts-common/`. Installation migrates the old `scripts/` folder and package command paths automatically, preserving every existing file. A conflicting destination file stops migration before any files are moved. The plugin’s internal npm lifecycle folder remains `scripts/`.
15
+
16
+ ## Shared unversioned build files (4.10.0)
17
+
18
+ The plugin keeps the master build templates in files/buildCodeplay and copies them into each app's buildCodeplay folder during installation/update. Test changes in the application folder, then update these master templates for distribution to other apps.
19
+
20
+ App package scripts run local files: node buildCodeplay/codeplayBeforeBuild.js, node buildCodeplay/packageidBaseModification.js, node buildCodeplay/add-splash-screen.js and node buildCodeplay/setSplashAnimation.js. Filenames have no version suffixes. The versions.json plugin manifest remains alongside these scripts and is copied too.
21
+
22
+ Installation migrates both legacy versioned filenames and the temporary node_modules runner commands to these local paths. It removes only superseded versioned build scripts, preserves app-owned release configuration and splash XML overrides, and keeps screenshot data and custom helpers. The root finalrelease script is also copied as a local implementation.
23
+
24
+ Before-build includes the automatic IAP startup and Home Pro-button migrations. IAP and AdMob ZIPs are downloaded directly from https://htmlcodeplay.com/code-play-plugin/ using the existing update flow. No plugin ZIPs are bundled in this npm package. App-specific configuration and designs remain in the app.
25
+
26
+ ## AdMob folder packages
27
+
28
+ The next before-build automatically migrates AdMob to at least:
29
+
30
+ `src/js/Ads/admob-nextgen-4.1/admob-emi-nextgen.js`
31
+
32
+ `src/js/Ads/admob-nextgen-4.1/app-open-state.js`
33
+
34
+ Existing `@admob` imports continue to work. Direct imports of the controller or
35
+ lightweight state module are rewritten to the selected folder, including relative
36
+ paths, `@/` paths and static dynamic imports. App-owned
37
+ `src/js/Ads/admob-ad-configuration-nextgen.json` remains outside the package;
38
+ installation does not replace its values. The controller's analytics import is
39
+ aligned with the newest installed IAP folder containing `firebase-analytics.js`.
40
+
41
+ The pre-build script downloads IAP before migrating AdMob so the corresponding imports exist. Postinstall does not independently update AdMob ahead of IAP.
42
+ ZIPs may contain the files directly or one matching versioned folder. A complete
43
+ controller and state module are required before imports switch. An unavailable or
44
+ invalid remote ZIP leaves the installed package in use, with a warning. Unresolved
45
+ import targets stop migration before old packages are removed.
46
+
47
+ For future AdMob releases, upload `admob-nextgen-X.Y.zip` to
48
+ `https://htmlcodeplay.com/code-play-plugin/` and set `"admob-nextgen": "X.Y"`
49
+ in that server's `versions.json`. Version the folder, and keep module filenames
50
+ stable. The previous `admob-emi-nextgen` manifest key is accepted for versions
51
+ 4.0 and later during the transition. Apps automatically select a newer ZIP during
52
+ their next normal pre-build; no per-app import changes are needed.
53
+ For older manifests without a folder release entry, migration checks the required
54
+ `admob-nextgen-4.1.zip` directly from the same server. If offline, an existing compatible
55
+ installation is preserved; a missing required package stops the build.
56
+
57
+ ## Platform builds and shared validation
58
+
59
+ Installing or updating `codeplay-common` updates the consuming project's `package.json`
60
+ to use the copied unversioned pre-build script and adds these commands:
61
+
62
+ - `npm run build`: Android by default, including on macOS.
63
+ - `npm run build:ios`: sets `CODEPLAY_BUILD_PLATFORM=ios` and runs the same build pipeline.
64
+ - `npm run build-capacitor-android`: runs the shared checks and copies the web build to Android.
65
+
66
+ The pre-build script migrates direct `saveToGalleryAndSaveAnyFile` imports to
67
+ `@saveGallery` and sets the Vite alias to the matching Android or iOS helper.
68
+ Before changing source imports or the alias, it lists the build target, affected files,
69
+ and exact replacements. Press Enter or type `y` to continue; any other answer cancels.
70
+ Correct imports and alias targets continue without prompting. Missing helpers, mixed
71
+ versions and query/hash imports stop with an actionable error.
72
+
73
+ Source validation reuses a directory inventory and combines the gallery and editor
74
+ checks in one content pass. The inventory refreshes when generated or downloaded
75
+ files change the source tree.
76
+
77
+ Builds also keep `agent-temp/` ignored and remove existing `buildCodeplay/` ignore entries.
78
+ If `onesignal-cordova-plugin` is declared or installed, the pre-build script warns and
79
+ runs `npm uninstall onesignal-cordova-plugin`. It stops if removal fails or active
80
+ package imports remain. Legacy OneSignal patching and helper downloads are disabled.
81
+
82
+ ## Screenshot data
83
+
84
+ Shared screenshot helpers are installed into `scripts-common/screenshot/` and updated with
85
+ the package. App-specific data is not bundled with the package.
86
+ During an upgrade, cleanup removes only the two legacy helpers `frame-samples.js`
87
+ and `background-decorations.js` from `scripts-screenshot/screenshot/`, preserving
88
+ the folder, JSON data, and other app files.
89
+
90
+ `take-screen-image.js` creates `scripts-screenshot/screenshot/` and empty
91
+ `screenshot-copy.json` and `screenshot-info.json` files when needed. Existing files
92
+ are preserved during initialization, package installation, and cleanup. Capture
93
+ updates screenshot information; the AI text-generation workflow fills screenshot
94
+ copy. `--delete` removes matching records, and screenshot runs reconcile records
95
+ against the captured images (except dry runs and `--refresh-info`).
96
+
97
+ ## Agent instructions
98
+
99
+ Agent instructions are updated during `npm run build`, not during npm installation.
100
+ The build script reads the `agents` version from
101
+ `https://htmlcodeplay.com/code-play-plugin/versions.json` and downloads the matching
102
+ `agents-<version>.zip` archive when the project has no agent instructions or the
103
+ server version is newer.
104
+
105
+ The ZIP root must contain `AGENTS.md` and `AGENTS/`. These are copied directly to
106
+ the project root. The installed version is stored in `AGENTS/.codeplay-version`.
107
+ Existing files with matching names are replaced; project-only files with other
108
+ names inside `AGENTS/` are preserved.
109
+
110
+ For example, publish `agents-1.1.zip` and add this entry to the server's
111
+ `versions.json`:
112
+
113
+ ```json
114
+ "agents": "1.1"
115
+ ```
116
+
117
+ Donate to get full code including many common functions
118
+ https://ko-fi.com/codeplay
119
+
120
+ Version 4.6.1
121
+ Added automatic IAP startup integration for Framework7 home pages.
122
+ Updated minimum shared versions to IAP 4.2 and AdMob nextgen 2.5.
123
+
124
+ 4.2.8
125
+ baseline profile code modifications
126
+
127
+ Version 4.2.3
128
+ Added build warning confirmation when android.ORIENTATION is not "auto" or android.RESIZEABLE_ACTIVITY is not true.
129
+
130
+ Version 4.2.2
131
+ Added "bannerDisabledPages" property and its default value
132
+ The admob configuration default value priority is updated
133
+
134
+ Version 4.2.1
135
+ Updated AdMob nextgen file validation to match admob-emi-nextgen file names.
136
+
137
+ Version 4.2.0
138
+ Firebase related automatic changes updated
139
+
140
+ Version 4.1.9
141
+ Added AdMob nextgen 1.7 validation/default support for "overlappingHeight", "bannerTypeAndroidLandscape", and "bannerTypeiOSLandscape".
142
+
143
+ Version 4.1.8
144
+ "consentDebug: false" is added
145
+
146
+ Version 4.1.7
147
+ admob configuration automatically added.
148
+
149
+ Version 4.1.6
150
+ "setup-baseline-profile.js" modification, duplicate validation error fixed
151
+
152
+ Version 4.1.5
153
+ While isTesting is true it is not validated from our new configuration admob file, now it is solved
154
+
155
+ Version 4.1.4
156
+ hardcoded version is removed for the admob-emi-nextgen
157
+
158
+
159
+ Version 4.1.3
160
+ "consentDebug": false automatically adds if not
161
+
162
+ Version 4.1.2
163
+ Speedup
164
+
165
+ Version 4.1.1
166
+ Auto admob integration updated
167
+
168
+
169
+ version 4.0.9
170
+ packageJson.scripts["ionic:serve"] = "cross-env NODE_ENV=development vite"; this line updated in "sync-files.js"
171
+
172
+
173
+ version 4.0.8
174
+ safearea plugin is checked and removed automatically
175
+ Automatically added following in capacitor.config.json file
176
+ "SystemBars": {
177
+ "insetsHandling": "css"
178
+ }
179
+ patchFile() method is removed
180
+
181
+
182
+
183
+
184
+ Version 4.0.6
185
+ IAP related some automatic variable creation and validation
186
+ Fetch from vite.config.json file
187
+ 'import.meta.env.VITE_APP_UNIQUE_ID': JSON.stringify(APP_UNIQUE_ID),
188
+ 'import.meta.env.VITE_ANDROID_ANALYTICS_ENABLED': JSON.stringify(ANDROID_ANALYTICS_ENABLED),
189
+ 'import.meta.env.VITE_IOS_ANALYTICS_ENABLED': JSON.stringify(IOS_ANALYTICS_ENABLED),
190
+ 'import.meta.env.VITE_IAP_DESIGN': JSON.stringify(IAP_DESIGN),
191
+
192
+
193
+ Version 4.0.5
194
+ In "files\buildCodeplay\packageidBaseModification-1.4.js" SCHEDULE_EXACT_ALARM permission added for the app unique id 2 (resume generator app)
195
+
196
+
197
+ Version 4.0.4
198
+ patchFile(); method is disabled, Due to "@capacitor/android:8.4.2" this update. I think it is realted to safearea issue fixed in this latest version, file in "SystemBars.java"
199
+
200
+ Version 4.0.3
201
+ Old admob check performs through plugin location, but not it is validated from capacitor.config.json
202
+
203
+
204
+ Version: 4.0.2
205
+ After check & install/download the latest version, the re-check is cancelled now
206
+
207
+ Version: 4.0.1
208
+ Base profile script added
209
+
210
+
211
+ "version": "",
212
+ Version : 4.0.0 (Previous version 3.2.19)
213
+ 1) In here we are completly remove the admob-emi and use "capacitor-admob-nextgen"
214
+ 2) Removed "modify-plugin-xml.js"
215
+ 3)