fix(ci): resolve latent PHPCS + JS lint failures
Latent debt surfaced by the reusable PHPCS job (previously continue-on-error). PHPCS fixes (all pre-existing, not introduced by this PR): - Add @package PeptideReconstitutionCalculator to file docblocks in all 12 PHP files (previously missing; phpcbf cannot insert missing docblock tags). - Replace two short-ternary ?: operators in class-prc-preset-provider.php with full ternary (Universal.Operators.DisallowShortTernary.Found; lines 136+152). JS lint fix: - Add package.json + package-lock.json (no deps; lint script = node --check) so the reusable lint-js job's npm ci / cache: npm steps succeed. The calculator ships vanilla JS with no build toolchain — package.json is the minimal stub the reusable workflow requires for has_js: true. Agent-Session: claude/adopt-ci-20260616
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
* @see class-prc-preset-provider.php — Data source for presets.
|
* @see class-prc-preset-provider.php — Data source for presets.
|
||||||
* @see class-prc-math.php — Calculation engine.
|
* @see class-prc-math.php — Calculation engine.
|
||||||
* @see class-prc-shortcode.php — Frontend JS consumes these endpoints.
|
* @see class-prc-shortcode.php — Frontend JS consumes these endpoints.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
* What: Runs on plugin activation — flushes rewrite rules.
|
* What: Runs on plugin activation — flushes rewrite rules.
|
||||||
* Who calls it: register_activation_hook in bootstrap.
|
* Who calls it: register_activation_hook in bootstrap.
|
||||||
* Dependencies: None.
|
* Dependencies: None.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
* Dependencies: None.
|
* Dependencies: None.
|
||||||
*
|
*
|
||||||
* @see class-pr-core-autoloader.php in Peptide Repo Core — same pattern.
|
* @see class-pr-core-autoloader.php in Peptide Repo Core — same pattern.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
*
|
*
|
||||||
* @see class-prc-preset-provider.php — Cache being invalidated.
|
* @see class-prc-preset-provider.php — Cache being invalidated.
|
||||||
* @see PR_Core_Dosing_Repository — Fires the hooks we listen to.
|
* @see PR_Core_Dosing_Repository — Fires the hooks we listen to.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
* @see class-prc-shortcode.php — Frontend calculator widget.
|
* @see class-prc-shortcode.php — Frontend calculator widget.
|
||||||
* @see class-prc-rest-controller.php — REST endpoints for presets.
|
* @see class-prc-rest-controller.php — REST endpoints for presets.
|
||||||
* @see class-prc-preset-provider.php — PR Core integration + fallback defaults.
|
* @see class-prc-preset-provider.php — PR Core integration + fallback defaults.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
* What: Runs on plugin deactivation — flushes rewrite rules.
|
* What: Runs on plugin deactivation — flushes rewrite rules.
|
||||||
* Who calls it: register_deactivation_hook in bootstrap.
|
* Who calls it: register_deactivation_hook in bootstrap.
|
||||||
* Dependencies: None.
|
* Dependencies: None.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
* Dependencies: None.
|
* Dependencies: None.
|
||||||
*
|
*
|
||||||
* @see class-prc-preset-provider.php — Merges these with live PR Core data.
|
* @see class-prc-preset-provider.php — Merges these with live PR Core data.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
*
|
*
|
||||||
* @see assets/js/calculator.js — Client-side mirror of this math.
|
* @see assets/js/calculator.js — Client-side mirror of this math.
|
||||||
* @see api/class-prc-rest-controller.php — Server-side consumer.
|
* @see api/class-prc-rest-controller.php — Server-side consumer.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
* @see class-prc-default-presets.php — Hardcoded fallback presets.
|
* @see class-prc-default-presets.php — Hardcoded fallback presets.
|
||||||
* @see PR_Core_Peptide_Repository (PR Core) — Peptide list source.
|
* @see PR_Core_Peptide_Repository (PR Core) — Peptide list source.
|
||||||
* @see PR_Core_Dosing_Repository (PR Core) — Dosing data source.
|
* @see PR_Core_Dosing_Repository (PR Core) — Dosing data source.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
@@ -133,7 +134,7 @@ class PRC_Preset_Provider {
|
|||||||
// Extract dose range across all rows.
|
// Extract dose range across all rows.
|
||||||
$dose_mins = array_filter( array_map( fn( $r ) => $r->dose_min, $rows ) );
|
$dose_mins = array_filter( array_map( fn( $r ) => $r->dose_min, $rows ) );
|
||||||
$dose_maxs = array_filter( array_map( fn( $r ) => $r->dose_max, $rows ) );
|
$dose_maxs = array_filter( array_map( fn( $r ) => $r->dose_max, $rows ) );
|
||||||
$dose_unit = $rows[0]->dose_unit ?: 'mcg';
|
$dose_unit = ! empty( $rows[0]->dose_unit ) ? $rows[0]->dose_unit : 'mcg';
|
||||||
|
|
||||||
// Derive typical vial sizes from dose range.
|
// Derive typical vial sizes from dose range.
|
||||||
// Why: Most peptides are sold in standard vial sizes (2mg, 5mg, 10mg, 15mg, 30mg).
|
// Why: Most peptides are sold in standard vial sizes (2mg, 5mg, 10mg, 15mg, 30mg).
|
||||||
@@ -149,7 +150,7 @@ class PRC_Preset_Provider {
|
|||||||
|
|
||||||
return array(
|
return array(
|
||||||
'slug' => $peptide->slug,
|
'slug' => $peptide->slug,
|
||||||
'name' => $display_name ?: $peptide->title,
|
'name' => ! empty( $display_name ) ? $display_name : $peptide->title,
|
||||||
'vial_sizes_mg' => $vial_sizes,
|
'vial_sizes_mg' => $vial_sizes,
|
||||||
'default_vial_mg' => $vial_sizes[0] ?? 5,
|
'default_vial_mg' => $vial_sizes[0] ?? 5,
|
||||||
'recommended_water_ml' => $this->recommend_water_ml( $vial_sizes[0] ?? 5 ),
|
'recommended_water_ml' => $this->recommend_water_ml( $vial_sizes[0] ?? 5 ),
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
* @see assets/js/calculator.js — Client-side calculator logic.
|
* @see assets/js/calculator.js — Client-side calculator logic.
|
||||||
* @see assets/css/calculator.css — Calculator styles.
|
* @see assets/css/calculator.css — Calculator styles.
|
||||||
* @see class-prc-calculator.php — Boot orchestrator.
|
* @see class-prc-calculator.php — Boot orchestrator.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
13
package-lock.json
generated
Normal file
13
package-lock.json
generated
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"name": "peptide-reconstitution-calculator",
|
||||||
|
"version": "1.2.0",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "peptide-reconstitution-calculator",
|
||||||
|
"version": "1.2.0",
|
||||||
|
"license": "GPL-2.0-or-later"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
package.json
Normal file
9
package.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"name": "peptide-reconstitution-calculator",
|
||||||
|
"version": "1.2.0",
|
||||||
|
"description": "Reconstitution calculator WordPress plugin — JS asset package config.",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"lint": "node --check assets/js/calculator.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
*
|
*
|
||||||
* Depends on: Peptide Repo Core (optional — provides peptide-specific presets).
|
* Depends on: Peptide Repo Core (optional — provides peptide-specific presets).
|
||||||
* Without PR Core, the calculator still works with manual entry and built-in defaults.
|
* Without PR Core, the calculator still works with manual entry and built-in defaults.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
* Dependencies: None (standalone, no autoloader).
|
* Dependencies: None (standalone, no autoloader).
|
||||||
*
|
*
|
||||||
* @see ARCHITECTURE.md — Teardown section.
|
* @see ARCHITECTURE.md — Teardown section.
|
||||||
|
* @package PeptideReconstitutionCalculator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|||||||
Reference in New Issue
Block a user