wikiploy 2.2.0 → 2.2.2
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/.vscode/extensions.json +3 -1
- package/DEV.md +8 -0
- package/assets/test.css +1 -1
- package/assets/test.js +1 -1
- package/check/UpdateChecker.php +41 -0
- package/check/runner.php +2 -0
- package/check_up.php +18 -9
- package/composer.json +20 -0
- package/composer.lock +1707 -0
- package/package.json +1 -1
- package/phpunit.xml +10 -0
- package/src/WikiployLite.js +1 -2
- package/test/UpdateCheckerTest.php +70 -0
package/.vscode/extensions.json
CHANGED
package/DEV.md
CHANGED
|
@@ -33,6 +33,14 @@ To view output of individual tests use the testing sidebar. Navigate to the test
|
|
|
33
33
|
|
|
34
34
|
You can also run (and debug) each test case directly from a test file. You might need to press reload in the sidebar if you don't see buttons to run and debug tests.
|
|
35
35
|
|
|
36
|
+
## PHP tests
|
|
37
|
+
|
|
38
|
+
```powershell
|
|
39
|
+
#composer update
|
|
40
|
+
composer install
|
|
41
|
+
composer test
|
|
42
|
+
```
|
|
43
|
+
|
|
36
44
|
## Publishing
|
|
37
45
|
|
|
38
46
|
Step 1. Check and update versions.
|
package/assets/test.css
CHANGED
package/assets/test.js
CHANGED
package/check/UpdateChecker.php
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<?php
|
|
2
|
+
namespace Wikiploy;
|
|
3
|
+
|
|
2
4
|
/**
|
|
3
5
|
* Check for updates.
|
|
4
6
|
*/
|
|
@@ -93,4 +95,43 @@ class UpdateChecker {
|
|
|
93
95
|
$content = preg_replace('@(/\*##).+(##\*/)@', $versionInfo, $content);
|
|
94
96
|
file_put_contents($path, $content);
|
|
95
97
|
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Update a script with version.
|
|
101
|
+
*
|
|
102
|
+
* @param string $path I/O path.
|
|
103
|
+
*/
|
|
104
|
+
public function updateScript($path, $vName, $version) {
|
|
105
|
+
$input = file_get_contents($path);
|
|
106
|
+
$content = self::updateScriptContent($input, $vName, $version);
|
|
107
|
+
file_put_contents($path, $content);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Update input text with named version.
|
|
111
|
+
*
|
|
112
|
+
* @param string $input Input.
|
|
113
|
+
* @param string $vName Name of the version (added in marker).
|
|
114
|
+
* @param string $version New version number.
|
|
115
|
+
*/
|
|
116
|
+
public static function updateScriptContent($input, $vName, $version):string {
|
|
117
|
+
// Example:
|
|
118
|
+
// /*version:vName:*/''/*:vName:version*/
|
|
119
|
+
$content = preg_replace_callback(
|
|
120
|
+
'@(/\*version:'.$vName.':\*/)(?:(\')[^\']*\'|(")[^"]*")(/\*:'.$vName.':version\*/)@',
|
|
121
|
+
function ($matches) use ($version) {
|
|
122
|
+
$qt = !empty($matches[2]) ? $matches[2] : $matches[3];
|
|
123
|
+
return $matches[1].$qt.$version.$qt.$matches[4];
|
|
124
|
+
},
|
|
125
|
+
$input
|
|
126
|
+
);
|
|
127
|
+
return $content;
|
|
128
|
+
}
|
|
96
129
|
}
|
|
130
|
+
|
|
131
|
+
// quick debug
|
|
132
|
+
// $input = "const version = /*version:main:*/''/*:main:version*/;";
|
|
133
|
+
// $expected = "const version = /*version:main:*/'3.0.0'/*:main:version*/;";
|
|
134
|
+
// $result = UpdateChecker::updateScriptContent($input, 'main', '3.0.0');
|
|
135
|
+
// echo "\n e: $expected";
|
|
136
|
+
// echo "\n r: $result";
|
|
137
|
+
|
package/check/runner.php
CHANGED
package/check_up.php
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<?php
|
|
2
|
+
namespace Wikiploy;
|
|
3
|
+
|
|
2
4
|
/**
|
|
3
5
|
* Automated check for updates.
|
|
4
6
|
*/
|
|
@@ -9,28 +11,35 @@ runner('git pull', -1);
|
|
|
9
11
|
|
|
10
12
|
$options = getopt("", ["force"]);
|
|
11
13
|
|
|
12
|
-
$
|
|
14
|
+
$upChecker = new UpdateChecker();
|
|
15
|
+
|
|
16
|
+
// update package version
|
|
17
|
+
$packageVersion = $upChecker->checkMain();
|
|
18
|
+
$upChecker->updateScript("./src/WikiployLite.js", "main", $packageVersion);
|
|
19
|
+
|
|
13
20
|
// check and update internals
|
|
14
|
-
// $
|
|
15
|
-
$
|
|
21
|
+
// $upChecker->checkPackage("puppeteer");
|
|
22
|
+
$upChecker->checkPackage("mwn");
|
|
16
23
|
// save
|
|
17
|
-
if (!isset($options['force']) && !$
|
|
24
|
+
if (!isset($options['force']) && !$upChecker->hasChanges) {
|
|
18
25
|
echo "\n[INFO] No updates for main deps.\n";
|
|
19
26
|
} else {
|
|
20
|
-
$
|
|
27
|
+
$upChecker->save();
|
|
21
28
|
|
|
22
29
|
echo "\n[INFO] Bump version\n";
|
|
23
30
|
runner('npm run bump');
|
|
24
31
|
|
|
25
|
-
$packageVersion = $
|
|
32
|
+
$packageVersion = $upChecker->checkMain(); // check and update internals
|
|
26
33
|
echo "\n[INFO] New version: $packageVersion\n";
|
|
34
|
+
// re-update package version
|
|
35
|
+
$upChecker->updateScript("./src/WikiployLite.js", "main", $packageVersion);
|
|
27
36
|
// update test.js/css (puppeteer/mwn version)
|
|
28
37
|
echo "\n[INFO] Update version in assets\n";
|
|
29
|
-
$
|
|
30
|
-
$
|
|
38
|
+
$upChecker->updateAsset('assets/test.css');
|
|
39
|
+
$upChecker->updateAsset('assets/test.js');
|
|
31
40
|
|
|
32
41
|
echo "\n[INFO] Update packages and locks\n";
|
|
33
42
|
runner('npm up');
|
|
34
43
|
echo "\n[INFO] Test\n";
|
|
35
44
|
runner('npm test', 3);
|
|
36
|
-
}
|
|
45
|
+
}
|
package/composer.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "nux/wikiploy",
|
|
3
|
+
"type": "project",
|
|
4
|
+
"require-dev": {
|
|
5
|
+
"phpunit/phpunit": "^11.0"
|
|
6
|
+
},
|
|
7
|
+
"autoload": {
|
|
8
|
+
"psr-4": {
|
|
9
|
+
"Wikiploy\\": "check/"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"autoload-dev": {
|
|
13
|
+
"psr-4": {
|
|
14
|
+
"Wikiploy\\Tests\\": "test/"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"test": "phpunit"
|
|
19
|
+
}
|
|
20
|
+
}
|