oc 0.50.13 → 0.50.15
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 +10 -0
- package/biome.json +28 -15
- package/dist/cli/domain/get-components-by-dir.js +2 -2
- package/dist/cli/domain/handle-dependencies/install-compiler.js +1 -1
- package/dist/cli/domain/init-template/install-template.js +1 -1
- package/dist/cli/domain/local.js +1 -1
- package/dist/cli/domain/registry.js +3 -3
- package/dist/cli/facade/clean.js +1 -1
- package/dist/cli/facade/dev.js +7 -3
- package/dist/cli/facade/preview.js +1 -1
- package/dist/cli/facade/publish.d.ts +1 -1
- package/dist/cli/facade/publish.js +1 -1
- package/dist/cli/index.js +3 -3
- package/dist/cli/programmatic-api.d.ts +1 -1
- package/dist/components/oc-client/_package/package.json +4 -4
- package/dist/components/oc-client/_package/server.js +1 -1
- package/dist/components/oc-client/package.json +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/registry/domain/authentication.js +1 -1
- package/dist/registry/domain/plugins-initialiser.js +2 -2
- package/dist/registry/domain/sanitiser.js +1 -1
- package/dist/registry/domain/storage-adapter.js +1 -1
- package/dist/registry/domain/validators/component-parameters.js +2 -2
- package/dist/registry/domain/validators/index.d.ts +1 -1
- package/dist/registry/domain/validators/index.js +1 -1
- package/dist/registry/index.js +0 -1
- package/dist/registry/router.js +2 -2
- package/dist/registry/routes/component-preview.js +1 -1
- package/dist/registry/routes/component.js +1 -1
- package/dist/registry/routes/components.js +1 -1
- package/dist/registry/routes/helpers/get-component-fallback.js +1 -1
- package/dist/registry/routes/helpers/get-component.js +1 -1
- package/dist/registry/routes/helpers/is-url-discoverable.js +1 -1
- package/dist/registry/routes/history.js +1 -1
- package/dist/registry/views/index.js +1 -1
- package/dist/registry/views/static/index.d.ts +1 -1
- package/dist/registry/views/static/index.js +100 -18
- package/dist/registry/views/static/style.d.ts +1 -1
- package/dist/registry/views/static/style.js +99 -28
- package/logintervals.md +1 -1
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
## Change Log
|
|
2
2
|
|
|
3
|
+
### v0.50.15
|
|
4
|
+
- [#1421](https://github.com/opencomponents/oc/pull/1421) express 5 migration
|
|
5
|
+
- [#1387](https://github.com/opencomponents/oc/pull/1387) [Snyk] Security upgrade cross-spawn from 7.0.3 to 7.0.5
|
|
6
|
+
- [#1389](https://github.com/opencomponents/oc/pull/1389) [Snyk] Security upgrade undici from 6.19.8 to 6.21.1
|
|
7
|
+
- [#1419](https://github.com/opencomponents/oc/pull/1419) fix livereload so its correctly called after repackaging
|
|
8
|
+
- [#1418](https://github.com/opencomponents/oc/pull/1418) Leave preview open without discovery
|
|
9
|
+
|
|
10
|
+
### v0.50.14
|
|
11
|
+
- [#1417](https://github.com/opencomponents/oc/pull/1417) add infinite scrolling to history
|
|
12
|
+
|
|
3
13
|
### v0.50.13
|
|
4
14
|
- [#1416](https://github.com/opencomponents/oc/pull/1416) Add history endpoint and lazy load it on the UI
|
|
5
15
|
|
package/biome.json
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/1.
|
|
3
|
-
"
|
|
4
|
-
"enabled":
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"formatter": {
|
|
8
|
-
"trailingCommas": "none",
|
|
9
|
-
"indentStyle": "space",
|
|
10
|
-
"quoteStyle": "single"
|
|
11
|
-
}
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.1.2/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": false,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": false
|
|
12
7
|
},
|
|
13
8
|
"files": {
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"biome.json"
|
|
9
|
+
"ignoreUnknown": false,
|
|
10
|
+
"includes": [
|
|
11
|
+
"src/**/*",
|
|
12
|
+
"!src/components/oc-client/**/*"
|
|
19
13
|
]
|
|
20
14
|
},
|
|
15
|
+
"formatter": {
|
|
16
|
+
"enabled": true,
|
|
17
|
+
"indentStyle": "tab"
|
|
18
|
+
},
|
|
21
19
|
"linter": {
|
|
22
20
|
"enabled": true,
|
|
23
21
|
"rules": {
|
|
@@ -38,5 +36,20 @@
|
|
|
38
36
|
"noExplicitAny": "off"
|
|
39
37
|
}
|
|
40
38
|
}
|
|
39
|
+
},
|
|
40
|
+
"javascript": {
|
|
41
|
+
"formatter": {
|
|
42
|
+
"trailingCommas": "none",
|
|
43
|
+
"indentStyle": "space",
|
|
44
|
+
"quoteStyle": "single"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"assist": {
|
|
48
|
+
"enabled": true,
|
|
49
|
+
"actions": {
|
|
50
|
+
"source": {
|
|
51
|
+
"organizeImports": "on"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
41
54
|
}
|
|
42
55
|
}
|
|
@@ -15,7 +15,7 @@ function getComponentsByDir() {
|
|
|
15
15
|
try {
|
|
16
16
|
content = fs_extra_1.default.readJsonSync(packagePath);
|
|
17
17
|
}
|
|
18
|
-
catch
|
|
18
|
+
catch {
|
|
19
19
|
return false;
|
|
20
20
|
}
|
|
21
21
|
if (!content.oc) {
|
|
@@ -34,7 +34,7 @@ function getComponentsByDir() {
|
|
|
34
34
|
.map((component) => node_path_1.default.resolve(componentsDir, component));
|
|
35
35
|
return components;
|
|
36
36
|
}
|
|
37
|
-
catch
|
|
37
|
+
catch {
|
|
38
38
|
return [];
|
|
39
39
|
}
|
|
40
40
|
};
|
package/dist/cli/domain/local.js
CHANGED
|
@@ -77,7 +77,7 @@ function registry(opts = {}) {
|
|
|
77
77
|
}
|
|
78
78
|
return fs_extra_1.default.writeJson(settings_1.default.configFile.src, res);
|
|
79
79
|
}
|
|
80
|
-
catch
|
|
80
|
+
catch {
|
|
81
81
|
throw 'oc registry not available';
|
|
82
82
|
}
|
|
83
83
|
},
|
|
@@ -91,7 +91,7 @@ function registry(opts = {}) {
|
|
|
91
91
|
throw 'No oc registries';
|
|
92
92
|
return res.registries;
|
|
93
93
|
}
|
|
94
|
-
catch
|
|
94
|
+
catch {
|
|
95
95
|
throw 'No oc registries';
|
|
96
96
|
}
|
|
97
97
|
},
|
|
@@ -122,7 +122,7 @@ function registry(opts = {}) {
|
|
|
122
122
|
try {
|
|
123
123
|
parsedError = JSON.parse(String(parsedError));
|
|
124
124
|
}
|
|
125
|
-
catch
|
|
125
|
+
catch { }
|
|
126
126
|
}
|
|
127
127
|
if (!!parsedError.code && parsedError.code === 'ECONNREFUSED') {
|
|
128
128
|
errMsg = 'Connection to registry has not been established';
|
package/dist/cli/facade/clean.js
CHANGED
package/dist/cli/facade/dev.js
CHANGED
|
@@ -60,7 +60,7 @@ const dev = ({ local, logger }) => (0, universalify_1.fromPromise)(async (opts)
|
|
|
60
60
|
const optWatch = typeof opts.watch === 'undefined' ? true : opts.watch;
|
|
61
61
|
let packaging = false;
|
|
62
62
|
const postRequestPayloadSize = opts.postRequestPayloadSize || '100kb';
|
|
63
|
-
const watchForChanges = ({ components, refreshLiveReload },
|
|
63
|
+
const watchForChanges = ({ components, refreshLiveReload }, packageComponents) => {
|
|
64
64
|
(0, watch_1.default)(components, componentsDir, (err, changedFile, componentDir) => {
|
|
65
65
|
if (err) {
|
|
66
66
|
logger.err(index_1.default.errors.generic(String(err)));
|
|
@@ -71,10 +71,14 @@ const dev = ({ local, logger }) => (0, universalify_1.fromPromise)(async (opts)
|
|
|
71
71
|
logger.warn(cliMessages.HOT_RELOADING_DISABLED);
|
|
72
72
|
}
|
|
73
73
|
else if (!componentDir) {
|
|
74
|
-
|
|
74
|
+
packageComponents(components).then(() => {
|
|
75
|
+
refreshLiveReload();
|
|
76
|
+
});
|
|
75
77
|
}
|
|
76
78
|
else {
|
|
77
|
-
|
|
79
|
+
packageComponents([componentDir]).then(() => {
|
|
80
|
+
refreshLiveReload();
|
|
81
|
+
});
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
});
|
|
@@ -12,7 +12,7 @@ const preview = ({ logger, registry }) => (0, universalify_1.fromPromise)(async
|
|
|
12
12
|
await (0, open_1.default)(href);
|
|
13
13
|
return href;
|
|
14
14
|
}
|
|
15
|
-
catch
|
|
15
|
+
catch {
|
|
16
16
|
logger.err(index_1.default.errors.cli.COMPONENT_HREF_NOT_FOUND);
|
|
17
17
|
throw index_1.default.errors.cli.COMPONENT_HREF_NOT_FOUND;
|
|
18
18
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Local } from '../domain/local';
|
|
2
|
-
import type { Logger } from '../logger';
|
|
3
2
|
import type { RegistryCli } from '../domain/registry';
|
|
3
|
+
import type { Logger } from '../logger';
|
|
4
4
|
declare const publish: ({ logger, registry, local }: {
|
|
5
5
|
logger: Logger;
|
|
6
6
|
registry: RegistryCli;
|
package/dist/cli/index.js
CHANGED
|
@@ -5,12 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const semver_1 = __importDefault(require("semver"));
|
|
7
7
|
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
-
const commands_1 = __importDefault(require("./commands"));
|
|
9
8
|
const resources_1 = __importDefault(require("../resources"));
|
|
9
|
+
const commands_1 = __importDefault(require("./commands"));
|
|
10
10
|
const local_1 = __importDefault(require("./domain/local"));
|
|
11
11
|
const registry_1 = __importDefault(require("./domain/registry"));
|
|
12
|
-
const logger_1 = __importDefault(require("./logger"));
|
|
13
|
-
const validate_command_1 = __importDefault(require("./validate-command"));
|
|
14
12
|
const clean_1 = __importDefault(require("./facade/clean"));
|
|
15
13
|
const dev_1 = __importDefault(require("./facade/dev"));
|
|
16
14
|
const init_1 = __importDefault(require("./facade/init"));
|
|
@@ -22,6 +20,8 @@ const registry_2 = __importDefault(require("./facade/registry"));
|
|
|
22
20
|
const registry_add_1 = __importDefault(require("./facade/registry-add"));
|
|
23
21
|
const registry_ls_1 = __importDefault(require("./facade/registry-ls"));
|
|
24
22
|
const registry_remove_1 = __importDefault(require("./facade/registry-remove"));
|
|
23
|
+
const logger_1 = __importDefault(require("./logger"));
|
|
24
|
+
const validate_command_1 = __importDefault(require("./validate-command"));
|
|
25
25
|
const cliFunctions = {
|
|
26
26
|
clean: clean_1.default,
|
|
27
27
|
dev: dev_1.default,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Logger } from './logger';
|
|
2
1
|
import dev from './facade/dev';
|
|
3
2
|
import init from './facade/init';
|
|
4
3
|
import mock from './facade/mock';
|
|
@@ -8,6 +7,7 @@ import publish from './facade/publish';
|
|
|
8
7
|
import registryAdd from './facade/registry-add';
|
|
9
8
|
import registryLs from './facade/registry-ls';
|
|
10
9
|
import registryRemove from './facade/registry-remove';
|
|
10
|
+
import type { Logger } from './logger';
|
|
11
11
|
type Options<T extends (...args: any) => any> = Parameters<ReturnType<T>>[0];
|
|
12
12
|
type Cb<T extends (...args: any) => any> = Parameters<ReturnType<T>>[1];
|
|
13
13
|
declare const _default: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oc-client",
|
|
3
3
|
"description": "The OpenComponents client-side javascript client",
|
|
4
|
-
"version": "0.50.
|
|
4
|
+
"version": "0.50.15",
|
|
5
5
|
"repository": "https://github.com/opencomponents/oc/tree/master/components/oc-client",
|
|
6
6
|
"author": "Matteo Figus <matteofigus@gmail.com>",
|
|
7
7
|
"oc": {
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dataProvider": {
|
|
24
24
|
"type": "node.js",
|
|
25
|
-
"hashKey": "
|
|
25
|
+
"hashKey": "9d5cc79c1bf4f21e1b95847f06f5ce53da115dbb",
|
|
26
26
|
"src": "server.js",
|
|
27
27
|
"size": 613
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
-
"version": "0.50.
|
|
30
|
+
"version": "0.50.15",
|
|
31
31
|
"packaged": true,
|
|
32
|
-
"date":
|
|
32
|
+
"date": 1754027962777
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"oc-template-es6-compiler": "^1.0.1"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=(t,s)=>{const{staticPath:e,templates:a}=t;return s(null,{staticPath:e,templates:a})},o=(t,s)=>{r(t,(e,a)=>{if(e)return s(e);if(a==null)return s(null,{__oc_emptyResponse:!0});const n=t.action?a:Object.assign({},a,{_staticPath:t.staticPath,_baseUrl:t.baseUrl,_componentName:"oc-client",_componentVersion:"0.50.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=(t,s)=>{const{staticPath:e,templates:a}=t;return s(null,{staticPath:e,templates:a})},o=(t,s)=>{r(t,(e,a)=>{if(e)return s(e);if(a==null)return s(null,{__oc_emptyResponse:!0});const n=t.action?a:Object.assign({},a,{_staticPath:t.staticPath,_baseUrl:t.baseUrl,_componentName:"oc-client",_componentVersion:"0.50.15"}),c=t.staticPath.indexOf("http")===0?t.staticPath:"https:"+t.staticPath;return s(null,Object.assign({},{component:{key:"8b7545cba94f7c029b9d46108bfe8e4e6040ea09",src:c+"template.js",props:n}}))})};exports.data=o;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oc-client",
|
|
3
3
|
"description": "The OpenComponents client-side javascript client",
|
|
4
|
-
"version": "0.50.
|
|
4
|
+
"version": "0.50.15",
|
|
5
5
|
"repository": "https://github.com/opencomponents/oc/tree/master/components/oc-client",
|
|
6
6
|
"author": "Matteo Figus <matteofigus@gmail.com>",
|
|
7
7
|
"oc": {
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -3,10 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Registry = exports.
|
|
7
|
-
var programmatic_api_1 = require("./cli/programmatic-api");
|
|
8
|
-
Object.defineProperty(exports, "cli", { enumerable: true, get: function () { return __importDefault(programmatic_api_1).default; } });
|
|
6
|
+
exports.Registry = exports.cli = exports.Client = void 0;
|
|
9
7
|
var oc_client_1 = require("oc-client");
|
|
10
8
|
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return __importDefault(oc_client_1).default; } });
|
|
9
|
+
var programmatic_api_1 = require("./cli/programmatic-api");
|
|
10
|
+
Object.defineProperty(exports, "cli", { enumerable: true, get: function () { return __importDefault(programmatic_api_1).default; } });
|
|
11
11
|
var registry_1 = require("./registry");
|
|
12
12
|
Object.defineProperty(exports, "Registry", { enumerable: true, get: function () { return __importDefault(registry_1).default; } });
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.init = init;
|
|
7
7
|
const node_util_1 = require("node:util");
|
|
8
8
|
const dependency_graph_1 = require("dependency-graph");
|
|
9
|
-
const pLimit_1 = __importDefault(require("../../utils/pLimit"));
|
|
10
9
|
const resources_1 = __importDefault(require("../../resources"));
|
|
10
|
+
const pLimit_1 = __importDefault(require("../../utils/pLimit"));
|
|
11
11
|
function validatePlugins(plugins) {
|
|
12
12
|
for (let idx = 0; idx < plugins.length; idx++) {
|
|
13
13
|
const plugin = plugins[idx];
|
|
@@ -32,7 +32,7 @@ function checkDependencies(plugins) {
|
|
|
32
32
|
try {
|
|
33
33
|
graph.addDependency(p.name, d);
|
|
34
34
|
}
|
|
35
|
-
catch
|
|
35
|
+
catch {
|
|
36
36
|
throw new Error(`unknown plugin dependency: ${d}`);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -37,7 +37,7 @@ function sanitiseComponentParameters(requestParameters, expectedParameters) {
|
|
|
37
37
|
const result = {};
|
|
38
38
|
for (const [requestParameterName, requestParameter] of Object.entries(requestParameters)) {
|
|
39
39
|
if (typeof expectedParameters === 'object' &&
|
|
40
|
-
// biome-ignore lint/suspicious/noPrototypeBuiltins:
|
|
40
|
+
// biome-ignore lint/suspicious/noPrototypeBuiltins: hasOwnProperty is fine
|
|
41
41
|
expectedParameters.hasOwnProperty(requestParameterName)) {
|
|
42
42
|
const expectedType = expectedParameters[requestParameterName].type;
|
|
43
43
|
const sanitised = sanitise.parameter(requestParameter, expectedType);
|
|
@@ -28,7 +28,7 @@ function componentParameters(requestParameters, expectedParameters = {}) {
|
|
|
28
28
|
}
|
|
29
29
|
for (const mandatoryParameterName of mandatoryParameters) {
|
|
30
30
|
if (typeof requestParameters === 'object' &&
|
|
31
|
-
// biome-ignore lint/suspicious/noPrototypeBuiltins:
|
|
31
|
+
// biome-ignore lint/suspicious/noPrototypeBuiltins: hasOwnProperty is fine
|
|
32
32
|
!requestParameters.hasOwnProperty(mandatoryParameterName)) {
|
|
33
33
|
if (!result.errors.mandatory) {
|
|
34
34
|
result.errors.mandatory = {};
|
|
@@ -40,7 +40,7 @@ function componentParameters(requestParameters, expectedParameters = {}) {
|
|
|
40
40
|
}
|
|
41
41
|
for (const [requestParameterName, requestParameter] of Object.entries(requestParameters)) {
|
|
42
42
|
if (typeof expectedParameters === 'object' &&
|
|
43
|
-
// biome-ignore lint/suspicious/noPrototypeBuiltins:
|
|
43
|
+
// biome-ignore lint/suspicious/noPrototypeBuiltins: hasOwnProperty is fine
|
|
44
44
|
expectedParameters.hasOwnProperty(requestParameterName)) {
|
|
45
45
|
const expectedType = expectedParameters[requestParameterName].type;
|
|
46
46
|
if (!validateParameter(requestParameter, expectedType)) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import componentParametersValidator from './component-parameters';
|
|
2
|
+
import nodeVersionValidator from './node-version';
|
|
2
3
|
import ocCliVersionValidator from './oc-cli-version';
|
|
3
4
|
import packageJsonValidator from './package-json-validator';
|
|
4
5
|
import pluginsRequirementsValidator from './plugins-requirements';
|
|
5
6
|
import registryConfigurationValidator from './registry-configuration';
|
|
6
7
|
import templateOcVersionValidator from './templace-oc-version';
|
|
7
|
-
import nodeVersionValidator from './node-version';
|
|
8
8
|
import uploadedPackageValidator from './uploaded-package';
|
|
9
9
|
export declare function validateComponentName(componentName: string): boolean;
|
|
10
10
|
export declare const validateComponentParameters: typeof componentParametersValidator;
|
|
@@ -8,12 +8,12 @@ exports.validateComponentName = validateComponentName;
|
|
|
8
8
|
exports.validateVersion = validateVersion;
|
|
9
9
|
const semver_1 = __importDefault(require("semver"));
|
|
10
10
|
const component_parameters_1 = __importDefault(require("./component-parameters"));
|
|
11
|
+
const node_version_1 = __importDefault(require("./node-version"));
|
|
11
12
|
const oc_cli_version_1 = __importDefault(require("./oc-cli-version"));
|
|
12
13
|
const package_json_validator_1 = __importDefault(require("./package-json-validator"));
|
|
13
14
|
const plugins_requirements_1 = __importDefault(require("./plugins-requirements"));
|
|
14
15
|
const registry_configuration_1 = __importDefault(require("./registry-configuration"));
|
|
15
16
|
const templace_oc_version_1 = __importDefault(require("./templace-oc-version"));
|
|
16
|
-
const node_version_1 = __importDefault(require("./node-version"));
|
|
17
17
|
const uploaded_package_1 = __importDefault(require("./uploaded-package"));
|
|
18
18
|
function validateComponentName(componentName) {
|
|
19
19
|
return !/[^a-zA-Z0-9\-_]/.test(componentName) && componentName !== '_package';
|
package/dist/registry/index.js
CHANGED
|
@@ -79,7 +79,6 @@ function registry(inputOptions) {
|
|
|
79
79
|
if (options.keepAliveTimeout) {
|
|
80
80
|
server.keepAliveTimeout = options.keepAliveTimeout;
|
|
81
81
|
}
|
|
82
|
-
// @ts-ignore Type not taking error on callback (this can error, though)
|
|
83
82
|
server.listen(options.port, (err) => {
|
|
84
83
|
if (err) {
|
|
85
84
|
return callback(err);
|
package/dist/registry/router.js
CHANGED
|
@@ -31,7 +31,7 @@ function create(app, conf, repository) {
|
|
|
31
31
|
const prefix = conf.prefix;
|
|
32
32
|
if (prefix !== '/') {
|
|
33
33
|
app.get('/', (_req, res) => res.redirect(prefix));
|
|
34
|
-
app.get(prefix.
|
|
34
|
+
app.get(prefix.substring(0, prefix.length - 1), routes.index);
|
|
35
35
|
}
|
|
36
36
|
app.get(`${prefix}oc-client/client.js`, routes.staticRedirector);
|
|
37
37
|
app.get(`${prefix}oc-client/client.dev.js`, routes.staticRedirector);
|
|
@@ -40,7 +40,7 @@ function create(app, conf, repository) {
|
|
|
40
40
|
app.get(`${prefix}~registry/dependencies`, routes.dependencies);
|
|
41
41
|
app.get(`${prefix}~registry/history`, routes.history);
|
|
42
42
|
if (conf.local) {
|
|
43
|
-
app.get(`${prefix}:componentName/:componentVersion/${settings_1.default.registry.localStaticRedirectorPath}
|
|
43
|
+
app.get(`${prefix}:componentName/:componentVersion/${settings_1.default.registry.localStaticRedirectorPath}*splat`, routes.staticRedirector);
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
46
|
app.put(`${prefix}:componentName/:componentVersion`, conf.beforePublish, routes.publish);
|
|
@@ -53,7 +53,7 @@ function componentPreview(err, req, res, component, templates) {
|
|
|
53
53
|
liveReload = `<script src="http://localhost:${res.conf.liveReloadPort}/livereload.js?snipver=1"></script>`;
|
|
54
54
|
}
|
|
55
55
|
const isHtmlRequest = !!req.headers.accept && req.headers.accept.indexOf('text/html') >= 0;
|
|
56
|
-
if (isHtmlRequest
|
|
56
|
+
if (isHtmlRequest) {
|
|
57
57
|
res.send((0, preview_1.default)({
|
|
58
58
|
component,
|
|
59
59
|
href: res.conf.baseUrl,
|
|
@@ -37,9 +37,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.default = component;
|
|
40
|
-
const serialize_error_1 = require("serialize-error");
|
|
41
40
|
const node_stream_1 = require("node:stream");
|
|
42
41
|
const turbo_stream_1 = require("@rdevis/turbo-stream");
|
|
42
|
+
const serialize_error_1 = require("serialize-error");
|
|
43
43
|
const resources_1 = __importDefault(require("../../resources"));
|
|
44
44
|
const get_component_1 = __importStar(require("./helpers/get-component"));
|
|
45
45
|
function component(conf, repository) {
|
|
@@ -61,7 +61,7 @@ function getComponentFallbackForViewType(buildUrl, conf, req, res, registryError
|
|
|
61
61
|
try {
|
|
62
62
|
return callback(null, JSON.parse(fallbackResponse));
|
|
63
63
|
}
|
|
64
|
-
catch
|
|
64
|
+
catch {
|
|
65
65
|
return callback({
|
|
66
66
|
registryError: registryError,
|
|
67
67
|
fallbackError: `Could not parse fallback response: ${fallbackResponse}`
|
|
@@ -10,9 +10,9 @@ const components_history_1 = __importDefault(require("./partials/components-hist
|
|
|
10
10
|
const components_list_1 = __importDefault(require("./partials/components-list"));
|
|
11
11
|
const components_plugins_1 = __importDefault(require("./partials/components-plugins"));
|
|
12
12
|
const components_templates_1 = __importDefault(require("./partials/components-templates"));
|
|
13
|
-
const index_1 = __importDefault(require("./static/index"));
|
|
14
13
|
const layout_1 = __importDefault(require("./partials/layout"));
|
|
15
14
|
const property_1 = __importDefault(require("./partials/property"));
|
|
15
|
+
const index_1 = __importDefault(require("./static/index"));
|
|
16
16
|
function indexView(vm) {
|
|
17
17
|
const getCount = (state) => vm.stateCounts[state] || 0;
|
|
18
18
|
const isLocal = vm.type !== 'oc-registry';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "'use strict';\n\nvar oc = oc || {};\noc.cmd = oc.cmd || [];\n\noc.cmd.push(function() {\n var componentsListChanged = function() {\n $('.componentRow').removeClass('hide');\n var s = $('.search-filter').val(),\n a = $('.author-filter').val(),\n r = new RegExp(s),\n ar = new RegExp(a, 'i'),\n selectedCheckboxes = $('input[type=checkbox]:checked'),\n hiddenStates = [],\n hidden = 0,\n i;\n\n for (i = 0; i < selectedCheckboxes.length; i++) {\n hiddenStates.push($(selectedCheckboxes[i]).attr('name'));\n }\n\n for (i = 0; i < componentsList.length; i++) {\n var matches = !s || !!componentsList[i].name.match(r),\n matchesAuthor =\n !a ||\n (componentsList[i].author.name &&\n !!componentsList[i].author.name.match(ar)),\n selector = $('#component-' + componentsList[i].name),\n isHidden = false;\n\n for (var j = 0; j < hiddenStates.length; j++) {\n if (componentsList[i].state.toLowerCase() === hiddenStates[j]) {\n isHidden = true;\n }\n }\n\n var show = matches && matchesAuthor && !isHidden;\n selector[show ? 'removeClass' : 'addClass']('hide');\n if (!show) {\n hidden += 1;\n }\n }\n\n var totalShowing = componentsList.length - hidden,\n result = 'Showing ' + totalShowing + ' components';\n\n if (s) {\n result += ' matching search query: \"' + s + '\"';\n if (a) {\n result += ' and';\n }\n }\n if (a) {\n result += ' matching author query: \"' + a + '\"';\n }\n\n $('.componentRow.header .title').text(result);\n\n return false;\n };\n\n var
|
|
1
|
+
declare const _default: "'use strict';\n\nvar oc = oc || {};\noc.cmd = oc.cmd || [];\n\noc.cmd.push(function() {\n var componentsListChanged = function() {\n $('.componentRow').removeClass('hide');\n var s = $('.search-filter').val(),\n a = $('.author-filter').val(),\n r = new RegExp(s),\n ar = new RegExp(a, 'i'),\n selectedCheckboxes = $('input[type=checkbox]:checked'),\n hiddenStates = [],\n hidden = 0,\n i;\n\n for (i = 0; i < selectedCheckboxes.length; i++) {\n hiddenStates.push($(selectedCheckboxes[i]).attr('name'));\n }\n\n for (i = 0; i < componentsList.length; i++) {\n var matches = !s || !!componentsList[i].name.match(r),\n matchesAuthor =\n !a ||\n (componentsList[i].author.name &&\n !!componentsList[i].author.name.match(ar)),\n selector = $('#component-' + componentsList[i].name),\n isHidden = false;\n\n for (var j = 0; j < hiddenStates.length; j++) {\n if (componentsList[i].state.toLowerCase() === hiddenStates[j]) {\n isHidden = true;\n }\n }\n\n var show = matches && matchesAuthor && !isHidden;\n selector[show ? 'removeClass' : 'addClass']('hide');\n if (!show) {\n hidden += 1;\n }\n }\n\n var totalShowing = componentsList.length - hidden,\n result = 'Showing ' + totalShowing + ' components';\n\n if (s) {\n result += ' matching search query: \"' + s + '\"';\n if (a) {\n result += ' and';\n }\n }\n if (a) {\n result += ' matching author query: \"' + a + '\"';\n }\n\n $('.componentRow.header .title').text(result);\n\n return false;\n };\n\n var historyData = [];\n var historyRenderedCount = 0;\n var historyBatchSize = 50; // Number of items to render per batch\n var isLoadingMore = false;\n\n var renderHistoryBatch = function() {\n if (historyRenderedCount >= historyData.length || isLoadingMore) {\n return;\n }\n\n isLoadingMore = true;\n var historyContent = $('#history-content');\n var batchEnd = Math.min(historyRenderedCount + historyBatchSize, historyData.length);\n var batchHtml = '';\n\n for (var i = historyRenderedCount; i < batchEnd; i++) {\n var item = historyData[i];\n var templateSizeText = item.templateSize ? \n ' [' + Math.round(item.templateSize / 1024) + ' kb]' : '';\n \n batchHtml += '<a href=\"' + item.name + '/' + item.version + '/~info\">' +\n '<div class=\"componentRow row table\">' +\n '<p class=\"release\">' +\n item.publishDate + ' - Published ' + item.name + '@' + item.version +\n templateSizeText +\n '</p>' +\n '</div>' +\n '</a>';\n }\n\n // Append new batch to existing content\n historyContent.append(batchHtml);\n historyRenderedCount = batchEnd;\n \n // Add loading indicator if there are more items\n if (historyRenderedCount < historyData.length) {\n historyContent.append('<div id=\"history-loading-more\" class=\"loading-more\">Loading more...</div>');\n }\n \n isLoadingMore = false;\n };\n\n var setupHistoryScrollListener = function() {\n var historyContainer = $('#components-history');\n var checkScroll = function() {\n if (historyRenderedCount >= historyData.length) {\n return;\n }\n\n var containerTop = historyContainer.offset().top;\n var containerHeight = historyContainer.outerHeight();\n var scrollTop = $(window).scrollTop();\n var windowHeight = $(window).height();\n \n // Check if user scrolled close to the bottom of the history container\n var distanceFromBottom = (containerTop + containerHeight) - (scrollTop + windowHeight);\n \n if (distanceFromBottom < 200) { // Load more when 200px from bottom\n $('#history-loading-more').remove();\n renderHistoryBatch();\n }\n };\n\n $(window).on('scroll.history', checkScroll);\n \n // Also check on resize\n $(window).on('resize.history', checkScroll);\n };\n\n var loadComponentsHistory = function() {\n var historyLoader = $('#history-loader');\n var historyContent = $('#history-content');\n var historyError = $('#history-error');\n\n // Show loader\n historyLoader.show();\n historyContent.hide();\n historyError.hide();\n\n // Reset state\n historyData = [];\n historyRenderedCount = 0;\n isLoadingMore = false;\n\n // Remove any existing scroll listeners\n $(window).off('scroll.history resize.history');\n\n // Fetch history data\n fetch('~registry/history')\n .then(function(response) {\n if (!response.ok) {\n throw new Error('Failed to fetch history');\n }\n return response.json();\n })\n .then(function(data) {\n historyData = data.componentsHistory || [];\n \n // Clear content and show container\n historyContent.empty();\n historyLoader.hide();\n historyContent.show();\n \n if (historyData.length === 0) {\n historyContent.html('<p style=\"text-align: center; color: #64748b; padding: 2em;\">No components history available.</p>');\n return;\n }\n\n // Render first batch\n renderHistoryBatch();\n \n // Setup scroll listener for infinite loading\n setupHistoryScrollListener();\n })\n .catch(function(error) {\n console.error('Error loading components history:', error);\n historyLoader.hide();\n historyError.show();\n });\n };\n\n var isHistoryLoaded = false;\n\n var initialiseTabs = function() {\n var selectItem = function(target) {\n var $target = $(target);\n $('.box').hide();\n $target.show();\n $('#menuList a').removeClass('selected');\n $('#menuList a[href=\"' + target + '\"]').addClass('selected');\n \n // Clean up scroll listeners when leaving history tab\n if (target !== '#components-history') {\n $(window).off('scroll.history resize.history');\n }\n \n // Load history data when history tab is selected for the first time\n if (target === '#components-history' && !isHistoryLoaded) {\n loadComponentsHistory();\n isHistoryLoaded = true;\n }\n // Re-enable scroll listeners when returning to history tab\n else if (target === '#components-history' && isHistoryLoaded && historyRenderedCount < historyData.length) {\n setupHistoryScrollListener();\n }\n };\n\n var hash = location.href.split('#')[1] || '';\n var isHashValid = hash && $('#' + hash);\n var target = isHashValid ? '#' + hash : $($('#menuList a')[0]).attr('href');\n selectItem(target);\n\n $('#menuList a').click(function() {\n selectItem($(this).attr('href'));\n });\n };\n\n $('#filter-components')\n .submit(componentsListChanged)\n .keyup(componentsListChanged);\n $('#filter-components input[type=checkbox]').change(componentsListChanged);\n\n if (q) {\n $('.search').val(q);\n }\n\n componentsListChanged();\n initialiseTabs();\n});";
|
|
2
2
|
export default _default;
|
|
@@ -61,6 +61,75 @@ oc.cmd.push(function() {
|
|
|
61
61
|
return false;
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
+
var historyData = [];
|
|
65
|
+
var historyRenderedCount = 0;
|
|
66
|
+
var historyBatchSize = 50; // Number of items to render per batch
|
|
67
|
+
var isLoadingMore = false;
|
|
68
|
+
|
|
69
|
+
var renderHistoryBatch = function() {
|
|
70
|
+
if (historyRenderedCount >= historyData.length || isLoadingMore) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
isLoadingMore = true;
|
|
75
|
+
var historyContent = $('#history-content');
|
|
76
|
+
var batchEnd = Math.min(historyRenderedCount + historyBatchSize, historyData.length);
|
|
77
|
+
var batchHtml = '';
|
|
78
|
+
|
|
79
|
+
for (var i = historyRenderedCount; i < batchEnd; i++) {
|
|
80
|
+
var item = historyData[i];
|
|
81
|
+
var templateSizeText = item.templateSize ?
|
|
82
|
+
' [' + Math.round(item.templateSize / 1024) + ' kb]' : '';
|
|
83
|
+
|
|
84
|
+
batchHtml += '<a href="' + item.name + '/' + item.version + '/~info">' +
|
|
85
|
+
'<div class="componentRow row table">' +
|
|
86
|
+
'<p class="release">' +
|
|
87
|
+
item.publishDate + ' - Published ' + item.name + '@' + item.version +
|
|
88
|
+
templateSizeText +
|
|
89
|
+
'</p>' +
|
|
90
|
+
'</div>' +
|
|
91
|
+
'</a>';
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Append new batch to existing content
|
|
95
|
+
historyContent.append(batchHtml);
|
|
96
|
+
historyRenderedCount = batchEnd;
|
|
97
|
+
|
|
98
|
+
// Add loading indicator if there are more items
|
|
99
|
+
if (historyRenderedCount < historyData.length) {
|
|
100
|
+
historyContent.append('<div id="history-loading-more" class="loading-more">Loading more...</div>');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
isLoadingMore = false;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
var setupHistoryScrollListener = function() {
|
|
107
|
+
var historyContainer = $('#components-history');
|
|
108
|
+
var checkScroll = function() {
|
|
109
|
+
if (historyRenderedCount >= historyData.length) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
var containerTop = historyContainer.offset().top;
|
|
114
|
+
var containerHeight = historyContainer.outerHeight();
|
|
115
|
+
var scrollTop = $(window).scrollTop();
|
|
116
|
+
var windowHeight = $(window).height();
|
|
117
|
+
|
|
118
|
+
// Check if user scrolled close to the bottom of the history container
|
|
119
|
+
var distanceFromBottom = (containerTop + containerHeight) - (scrollTop + windowHeight);
|
|
120
|
+
|
|
121
|
+
if (distanceFromBottom < 200) { // Load more when 200px from bottom
|
|
122
|
+
$('#history-loading-more').remove();
|
|
123
|
+
renderHistoryBatch();
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
$(window).on('scroll.history', checkScroll);
|
|
128
|
+
|
|
129
|
+
// Also check on resize
|
|
130
|
+
$(window).on('resize.history', checkScroll);
|
|
131
|
+
};
|
|
132
|
+
|
|
64
133
|
var loadComponentsHistory = function() {
|
|
65
134
|
var historyLoader = $('#history-loader');
|
|
66
135
|
var historyContent = $('#history-content');
|
|
@@ -71,6 +140,14 @@ oc.cmd.push(function() {
|
|
|
71
140
|
historyContent.hide();
|
|
72
141
|
historyError.hide();
|
|
73
142
|
|
|
143
|
+
// Reset state
|
|
144
|
+
historyData = [];
|
|
145
|
+
historyRenderedCount = 0;
|
|
146
|
+
isLoadingMore = false;
|
|
147
|
+
|
|
148
|
+
// Remove any existing scroll listeners
|
|
149
|
+
$(window).off('scroll.history resize.history');
|
|
150
|
+
|
|
74
151
|
// Fetch history data
|
|
75
152
|
fetch('~registry/history')
|
|
76
153
|
.then(function(response) {
|
|
@@ -80,27 +157,23 @@ oc.cmd.push(function() {
|
|
|
80
157
|
return response.json();
|
|
81
158
|
})
|
|
82
159
|
.then(function(data) {
|
|
83
|
-
|
|
84
|
-
var historyHtml = '';
|
|
85
|
-
|
|
86
|
-
for (var i = 0; i < componentsHistory.length; i++) {
|
|
87
|
-
var item = componentsHistory[i];
|
|
88
|
-
var templateSizeText = item.templateSize ?
|
|
89
|
-
' [' + Math.round(item.templateSize / 1024) + ' kb]' : '';
|
|
90
|
-
|
|
91
|
-
historyHtml += '<a href="' + item.name + '/' + item.version + '/~info">' +
|
|
92
|
-
'<div class="componentRow row table">' +
|
|
93
|
-
'<p class="release">' +
|
|
94
|
-
item.publishDate + ' - Published ' + item.name + '@' + item.version +
|
|
95
|
-
templateSizeText +
|
|
96
|
-
'</p>' +
|
|
97
|
-
'</div>' +
|
|
98
|
-
'</a>';
|
|
99
|
-
}
|
|
160
|
+
historyData = data.componentsHistory || [];
|
|
100
161
|
|
|
101
|
-
|
|
162
|
+
// Clear content and show container
|
|
163
|
+
historyContent.empty();
|
|
102
164
|
historyLoader.hide();
|
|
103
165
|
historyContent.show();
|
|
166
|
+
|
|
167
|
+
if (historyData.length === 0) {
|
|
168
|
+
historyContent.html('<p style="text-align: center; color: #64748b; padding: 2em;">No components history available.</p>');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Render first batch
|
|
173
|
+
renderHistoryBatch();
|
|
174
|
+
|
|
175
|
+
// Setup scroll listener for infinite loading
|
|
176
|
+
setupHistoryScrollListener();
|
|
104
177
|
})
|
|
105
178
|
.catch(function(error) {
|
|
106
179
|
console.error('Error loading components history:', error);
|
|
@@ -119,11 +192,20 @@ oc.cmd.push(function() {
|
|
|
119
192
|
$('#menuList a').removeClass('selected');
|
|
120
193
|
$('#menuList a[href="' + target + '"]').addClass('selected');
|
|
121
194
|
|
|
195
|
+
// Clean up scroll listeners when leaving history tab
|
|
196
|
+
if (target !== '#components-history') {
|
|
197
|
+
$(window).off('scroll.history resize.history');
|
|
198
|
+
}
|
|
199
|
+
|
|
122
200
|
// Load history data when history tab is selected for the first time
|
|
123
201
|
if (target === '#components-history' && !isHistoryLoaded) {
|
|
124
202
|
loadComponentsHistory();
|
|
125
203
|
isHistoryLoaded = true;
|
|
126
204
|
}
|
|
205
|
+
// Re-enable scroll listeners when returning to history tab
|
|
206
|
+
else if (target === '#components-history' && isHistoryLoaded && historyRenderedCount < historyData.length) {
|
|
207
|
+
setupHistoryScrollListener();
|
|
208
|
+
}
|
|
127
209
|
};
|
|
128
210
|
|
|
129
211
|
var hash = location.href.split('#')[1] || '';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n:root {\n
|
|
1
|
+
declare const _default: "\n@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap\");\n\n :root {\n /* New accent-based color system */\n --color-bg-default: #ffffff;\n --color-bg-muted: #f8fafc;\n --color-bg-alt: #f1f5f9;\n --color-bg-hover: #f3f0ff;\n\n --color-text-default: #22223b;\n --color-text-muted: #64748b;\n --color-text-inverse: #ffffff;\n\n --color-primary: #7c3aed;\n --color-primary-hover: #5f3dc4;\n /* Secondary accent for informational text (author names, etc.) */\n --color-info: #3b5bdb;\n\n --color-border-default: #e0e0e0;\n --color-border-muted: #d1d5db;\n --color-border-focus: #5f3dc4;\n\n --color-warning: #ffe066;\n --color-warning-text: #7c3aed;\n --color-danger: #ffd6d6;\n --color-danger-text: #c92a2a;\n --color-state-border: #e9ecef;\n\n /* Shadow definitions */\n --shadow-main: 0 2px 8px rgba(60, 60, 100, 0.04);\n --shadow-hover: 0 4px 16px rgba(95, 61, 196, 0.08);\n }\n\nbody {\n width: 100%;\n max-width: 1100px;\n margin: 0 auto;\n font-family: \"Inter\", \"Helvetica Neue\", Arial, sans-serif;\n background: var(--color-bg-muted);\n color: var(--color-text-default);\n line-height: 1.6;\n}\n\nh1,\nh2,\nh3 {\n color: var(--color-text-default);\n width: 100%;\n font-weight: 600;\n margin-bottom: 0.5em;\n}\n\nh1 {\n margin-top: 0;\n color: var(--color-text-default);\n border-bottom: 1px solid var(--color-border-default);\n font-size: 2.5rem;\n letter-spacing: -1px;\n padding-bottom: 0.3em;\n}\n\na {\n color: var(--color-primary);\n text-decoration: none;\n transition: color 0.2s;\n}\na:hover {\n color: var(--color-primary-hover);\n text-decoration: underline;\n}\n\n#components-list a:hover {\n text-decoration: none;\n}\n\np {\n margin-top: 0;\n}\n\n.back {\n width: 100%;\n margin-top: -20px;\n margin-bottom: 1.5em;\n display: block;\n color: var(--color-text-muted);\n font-size: 0.95em;\n}\n\n.code,\n.preview {\n width: 100%;\n background: var(--color-bg-default);\n border-radius: 10px;\n box-shadow: var(--shadow-main);\n margin-bottom: 1.5em;\n}\n\n.preview {\n height: 300px;\n border: 1px solid var(--color-border-default);\n}\n\n.table {\n width: 100%;\n}\n\n.w-100 {\n width: 100%;\n}\n\n.row {\n background: var(--color-bg-default);\n border: 1px solid var(--color-border-default);\n border-radius: 12px;\n width: 100%;\n display: flex;\n padding: 14px 0px;\n box-sizing: border-box;\n margin-bottom: 8px;\n align-items: center;\n box-shadow: var(--shadow-main);\n transition:\n box-shadow 0.2s,\n border 0.2s;\n}\n\n.row.header {\n background: var(--color-bg-alt);\n border: 1px solid var(--color-border-muted) !important;\n font-size: 1.1em;\n font-weight: 600;\n border-radius: 12px 12px 0 0;\n box-shadow: none;\n}\n\n.row.header div {\n font-weight: bold;\n margin: 0;\n align-self: flex-start;\n}\n\n.row.double {\n min-height: 60px;\n}\n\n.row div {\n word-wrap: break-word;\n}\n\n.row span {\n padding-right: 10px;\n}\n\n.componentRow {\n transition:\n box-shadow 0.2s,\n background 0.2s;\n}\n\n.componentRow:hover {\n background: var(--color-bg-hover);\n box-shadow: var(--shadow-hover);\n border-color: var(--color-primary-hover);\n}\n\n.componentRow .title .name {\n font-weight: bold;\n font-size: 1.15rem;\n margin: 0;\n width: 100%;\n color: var(--color-text-default);\n}\n\n.componentRow .release {\n font-size: 1rem;\n margin: 0;\n width: 100%;\n color: var(--color-text-default);\n}\n\n.componentRow .title .description {\n padding: 0;\n font-size: 0.98rem;\n color: var(--color-text-muted);\n}\n\n.social {\n width: 100%;\n margin-top: 20px;\n text-align: center;\n}\n\n.field {\n width: 100%;\n margin-bottom: 1em;\n}\n\n.field p,\n.field span,\n.field a {\n margin: 0;\n font-weight: 500;\n}\n\n.field p {\n color: var(--color-primary);\n font-weight: bold;\n margin-right: 10px;\n}\n\ninput[type=\"text\"],\ntextarea {\n height: 43px;\n font-family: \"Inter\", Arial, sans-serif;\n border: 1px solid var(--color-border-default);\n margin-bottom: 10px;\n font-size: 1.05rem;\n padding: 10px;\n border-radius: 8px;\n background: var(--color-bg-muted);\n box-sizing: border-box;\n transition: border 0.2s;\n}\ninput[type=\"text\"]:focus,\ntextarea:focus {\n border: 1.5px solid var(--color-primary);\n outline: none;\n}\n\n.filters {\n width: 100%;\n display: flex;\n justify-content: space-between;\n gap: 1em;\n margin-bottom: 0.5em;\n}\n\n.row > * {\n flex: 0 1 8%;\n padding: 0px 5px;\n align-self: center;\n}\n\n.row > *:last-child {\n padding-right: 10px;\n}\n\n.row > *:first-child {\n padding-left: 10px;\n}\n\n.release,\n.title,\n.filters > * {\n flex: 1 0;\n}\n\n.title {\n display: flex;\n flex-direction: column;\n}\n\n.author-filter {\n flex: 0 1 30%;\n margin-left: 15px;\n}\n\n.parameter {\n flex: 1 0;\n max-width: 25%;\n align-self: flex-start;\n}\n\n.parameter-description {\n flex: 1 0;\n max-width: 70%;\n}\n\n.author {\n flex: 0 1 15%;\n word-break: break-all;\n color: var(--color-info);\n}\n\n#href {\n height: 60px;\n}\n\n.states {\n width: 100%;\n margin-bottom: 30px;\n display: flex;\n align-items: center;\n}\n\n.states span,\n.states .state {\n margin-right: 20px;\n}\n\n.states input {\n margin-right: 6px;\n}\n\n.details-state span {\n padding: 1px 8px;\n margin-left: 10px;\n font-size: 0.95em;\n font-weight: bold;\n color: var(--color-text-inverse);\n background: var(--color-primary);\n border-radius: 8px;\n white-space: nowrap;\n}\n\n.state {\n margin-right: 10px;\n font-size: 0.95em;\n font-weight: bold;\n color: var(--color-text-inverse);\n border-radius: 8px;\n white-space: nowrap;\n padding: 2px 8px;\n}\n\n.table .state {\n background: var(--color-primary);\n height: 20px;\n}\n\n.component-state-experimental,\n.details-state .component-state-experimental,\n.table .component-state-experimental {\n background: var(--color-warning);\n color: var(--color-warning-text);\n border: 1px solid var(--color-state-border);\n}\n\n.component-state-deprecated,\n.details-state .component-state-deprecated,\n.table .component-state-deprecated {\n background: var(--color-danger);\n color: var(--color-danger-text);\n border: 1px solid var(--color-state-border);\n}\n\na.tab-link {\n color: var(--color-primary);\n font-weight: 500;\n padding: 0.1em 0.6em;\n border-radius: 8px;\n transition:\n background 0.2s,\n color 0.2s;\n font-size: 1.4rem;\n line-height: 1.2;\n vertical-align: middle;\n display: inline-block;\n}\n\na.tab-link.selected {\n background: var(--color-primary);\n color: var(--color-text-inverse);\n text-decoration: none;\n font-size: 1.5rem;\n line-height: 1.2;\n}\n\n.bold {\n font-weight: bold;\n}\n\n.hide {\n display: none !important;\n}\n\n.box {\n background: var(--color-bg-default);\n border-radius: 14px;\n box-shadow: var(--shadow-main);\n padding: 1.5em 1em;\n margin-bottom: 2em;\n}\n\n@media (max-width: 900px) {\n body {\n max-width: 100vw;\n padding: 0 0.5em;\n }\n .filters {\n flex-direction: column;\n gap: 0.5em;\n }\n .row {\n flex-direction: column;\n gap: 0.5em;\n padding: 10px 0;\n }\n .box {\n padding: 1em 0.5em;\n }\n }\n\n /* History loading states */\n .loader {\n text-align: center;\n padding: 2em;\n color: var(--color-text-muted);\n }\n\n .loader p {\n margin: 0;\n font-style: italic;\n }\n\n .loader::before {\n content: '';\n display: inline-block;\n width: 20px;\n height: 20px;\n border: 2px solid var(--color-border-muted);\n border-top: 2px solid var(--color-primary);\n border-radius: 50%;\n animation: spin 1s linear infinite;\n margin-right: 0.5em;\n vertical-align: middle;\n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n\n .loading-more {\n text-align: center;\n padding: 1em 2em;\n color: var(--color-text-muted);\n font-style: italic;\n font-size: 0.9em;\n border-top: 1px solid var(--color-border-default);\n margin-top: 1em;\n }\n\n .loading-more::before {\n content: '';\n display: inline-block;\n width: 16px;\n height: 16px;\n border: 2px solid var(--color-border-muted);\n border-top: 2px solid var(--color-primary);\n border-radius: 50%;\n animation: spin 1s linear infinite;\n margin-right: 0.5em;\n vertical-align: middle;\n }\n\n #history-error {\n text-align: center;\n padding: 2em;\n color: var(--color-danger-text);\n background-color: var(--color-danger);\n border: 1px solid var(--color-state-border);\n border-radius: 6px;\n margin: 1em 0;\n }\n\n #history-error p {\n margin: 0;\n }\n ";
|
|
2
2
|
export default _default;
|
|
@@ -3,32 +3,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.default = `
|
|
4
4
|
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");
|
|
5
5
|
|
|
6
|
-
:root {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
6
|
+
:root {
|
|
7
|
+
/* New accent-based color system */
|
|
8
|
+
--color-bg-default: #ffffff;
|
|
9
|
+
--color-bg-muted: #f8fafc;
|
|
10
|
+
--color-bg-alt: #f1f5f9;
|
|
11
|
+
--color-bg-hover: #f3f0ff;
|
|
12
|
+
|
|
13
|
+
--color-text-default: #22223b;
|
|
14
|
+
--color-text-muted: #64748b;
|
|
15
|
+
--color-text-inverse: #ffffff;
|
|
16
|
+
|
|
17
|
+
--color-primary: #7c3aed;
|
|
18
|
+
--color-primary-hover: #5f3dc4;
|
|
19
|
+
/* Secondary accent for informational text (author names, etc.) */
|
|
20
|
+
--color-info: #3b5bdb;
|
|
21
|
+
|
|
22
|
+
--color-border-default: #e0e0e0;
|
|
23
|
+
--color-border-muted: #d1d5db;
|
|
24
|
+
--color-border-focus: #5f3dc4;
|
|
25
|
+
|
|
26
|
+
--color-warning: #ffe066;
|
|
27
|
+
--color-warning-text: #7c3aed;
|
|
28
|
+
--color-danger: #ffd6d6;
|
|
29
|
+
--color-danger-text: #c92a2a;
|
|
30
|
+
--color-state-border: #e9ecef;
|
|
31
|
+
|
|
32
|
+
/* Shadow definitions */
|
|
33
|
+
--shadow-main: 0 2px 8px rgba(60, 60, 100, 0.04);
|
|
34
|
+
--shadow-hover: 0 4px 16px rgba(95, 61, 196, 0.08);
|
|
35
|
+
}
|
|
32
36
|
|
|
33
37
|
body {
|
|
34
38
|
width: 100%;
|
|
@@ -397,6 +401,73 @@ a.tab-link.selected {
|
|
|
397
401
|
}
|
|
398
402
|
.box {
|
|
399
403
|
padding: 1em 0.5em;
|
|
404
|
+
}
|
|
400
405
|
}
|
|
401
|
-
|
|
402
|
-
|
|
406
|
+
|
|
407
|
+
/* History loading states */
|
|
408
|
+
.loader {
|
|
409
|
+
text-align: center;
|
|
410
|
+
padding: 2em;
|
|
411
|
+
color: var(--color-text-muted);
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.loader p {
|
|
415
|
+
margin: 0;
|
|
416
|
+
font-style: italic;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.loader::before {
|
|
420
|
+
content: '';
|
|
421
|
+
display: inline-block;
|
|
422
|
+
width: 20px;
|
|
423
|
+
height: 20px;
|
|
424
|
+
border: 2px solid var(--color-border-muted);
|
|
425
|
+
border-top: 2px solid var(--color-primary);
|
|
426
|
+
border-radius: 50%;
|
|
427
|
+
animation: spin 1s linear infinite;
|
|
428
|
+
margin-right: 0.5em;
|
|
429
|
+
vertical-align: middle;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
@keyframes spin {
|
|
433
|
+
0% { transform: rotate(0deg); }
|
|
434
|
+
100% { transform: rotate(360deg); }
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.loading-more {
|
|
438
|
+
text-align: center;
|
|
439
|
+
padding: 1em 2em;
|
|
440
|
+
color: var(--color-text-muted);
|
|
441
|
+
font-style: italic;
|
|
442
|
+
font-size: 0.9em;
|
|
443
|
+
border-top: 1px solid var(--color-border-default);
|
|
444
|
+
margin-top: 1em;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
.loading-more::before {
|
|
448
|
+
content: '';
|
|
449
|
+
display: inline-block;
|
|
450
|
+
width: 16px;
|
|
451
|
+
height: 16px;
|
|
452
|
+
border: 2px solid var(--color-border-muted);
|
|
453
|
+
border-top: 2px solid var(--color-primary);
|
|
454
|
+
border-radius: 50%;
|
|
455
|
+
animation: spin 1s linear infinite;
|
|
456
|
+
margin-right: 0.5em;
|
|
457
|
+
vertical-align: middle;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
#history-error {
|
|
461
|
+
text-align: center;
|
|
462
|
+
padding: 2em;
|
|
463
|
+
color: var(--color-danger-text);
|
|
464
|
+
background-color: var(--color-danger);
|
|
465
|
+
border: 1px solid var(--color-state-border);
|
|
466
|
+
border-radius: 6px;
|
|
467
|
+
margin: 1em 0;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
#history-error p {
|
|
471
|
+
margin: 0;
|
|
472
|
+
}
|
|
473
|
+
`;
|
package/logintervals.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"to":"v0.50.13","from":"v0.50.12"},{"to":"v0.50.12","from":"v0.50.11"},{"to":"v0.50.11","from":"v0.50.10"},{"to":"v0.50.10","from":"v0.50.9"},{"to":"v0.50.9","from":"v0.50.8"},{"to":"v0.50.8","from":"v0.50.7"},{"to":"v0.50.7","from":"v0.50.6"},{"to":"v0.50.6","from":"v0.50.5"},{"to":"v0.50.5","from":"v0.50.4"},{"to":"v0.50.4","from":"v0.50.3"},{"to":"v0.50.3","from":"v0.50.2"},{"to":"v0.50.2","from":"v0.50.1"},{"to":"v0.50.1","from":"v0.50.0"},{"to":"v0.50.0","from":"v0.49.67"},{"to":"v0.49.67","from":"v0.49.66"},{"to":"v0.49.66","from":"v0.49.65"},{"to":"v0.49.65","from":"v0.49.64"},{"to":"v0.49.64","from":"v0.49.63"},{"to":"v0.49.63","from":"v0.49.62"},{"to":"v0.49.62","from":"v0.49.61"},{"to":"v0.49.61","from":"v0.49.60"},{"to":"v0.49.60","from":"v0.49.59"},{"to":"v0.49.59","from":"v0.49.58"},{"to":"v0.49.58","from":"v0.49.57"},{"to":"v0.49.57","from":"v0.49.56"},{"to":"v0.49.56","from":"v0.49.55"},{"to":"v0.49.55","from":"v0.49.54"},{"to":"v0.49.54","from":"v0.49.53"},{"to":"v0.49.53","from":"v0.49.52"},{"to":"v0.49.52","from":"v0.49.51"},{"to":"v0.49.51","from":"v0.49.50"},{"to":"v0.49.50","from":"v0.49.49"},{"to":"v0.49.49","from":"v0.49.48"},{"to":"v0.49.48","from":"v0.49.47"},{"to":"v0.49.47","from":"v0.49.46"},{"to":"v0.49.46","from":"v0.49.45"},{"to":"v0.49.45","from":"v0.49.44"},{"to":"v0.49.44","from":"v0.49.43"},{"to":"v0.49.43","from":"v0.49.42"},{"to":"v0.49.42","from":"v0.49.41"},{"to":"v0.49.41","from":"v0.49.40"},{"to":"v0.49.40","from":"v0.49.39"},{"to":"v0.49.39","from":"v0.49.38"},{"to":"v0.49.38","from":"v0.49.37"},{"to":"v0.49.37","from":"v0.49.36"},{"to":"v0.49.36","from":"v0.49.35"},{"to":"v0.49.35","from":"v0.49.34"},{"to":"v0.49.34","from":"v0.49.32"},{"to":"v0.49.32","from":"v0.49.31"},{"to":"v0.49.31","from":"v0.49.30"},{"to":"v0.49.30","from":"v0.49.29"},{"to":"v0.49.29","from":"v0.49.28"},{"to":"v0.49.28","from":"v0.49.27"},{"to":"v0.49.27","from":"v0.49.26"},{"to":"v0.49.26","from":"v0.49.25"},{"to":"v0.49.25","from":"v0.49.24"},{"to":"v0.49.24","from":"v0.49.23"},{"to":"v0.49.23","from":"v0.49.22"},{"to":"v0.49.22","from":"v0.49.21"},{"to":"v0.49.21","from":"v0.49.20"},{"to":"v0.49.20","from":"v0.49.19"},{"to":"v0.49.19","from":"v0.49.18"},{"to":"v0.49.18","from":"v0.49.17"},{"to":"v0.49.17","from":"v0.49.16"},{"to":"v0.49.16","from":"v0.49.15"},{"to":"v0.49.15","from":"v0.49.14"},{"to":"v0.49.14","from":"v0.49.12"},{"to":"v0.49.12","from":"v0.49.11"},{"to":"v0.49.11","from":"v0.49.9"},{"to":"v0.49.9","from":"v0.49.8"},{"to":"v0.49.8","from":"v0.49.7"},{"to":"v0.49.7","from":"v0.49.6"},{"to":"v0.49.6","from":"v0.49.5"},{"to":"v0.49.5","from":"v0.49.4"},{"to":"v0.49.4","from":"v0.49.3"},{"to":"v0.49.3","from":"v0.49.2"},{"to":"v0.49.2","from":"v0.49.1"},{"to":"v0.49.1","from":"v0.49.0"},{"to":"v0.49.0","from":"v0.48.23"},{"to":"v0.48.23","from":"v0.48.22"},{"to":"v0.48.22","from":"v0.48.21"},{"to":"v0.48.21","from":"v0.48.19"},{"to":"v0.48.19","from":"v0.48.18"},{"to":"v0.48.18","from":"v0.48.17"},{"to":"v0.48.17","from":"v0.48.16"},{"to":"v0.48.16","from":"v0.48.15"},{"to":"v0.48.15","from":"v0.48.14"},{"to":"v0.48.14","from":"v0.48.13"},{"to":"v0.48.13","from":"v0.48.12"},{"to":"v0.48.12","from":"v0.48.11"},{"to":"v0.48.11","from":"v0.48.10"},{"to":"v0.48.10","from":"v0.48.9"},{"to":"v0.48.9","from":"v0.48.7"},{"to":"v0.48.7","from":"v0.48.6"},{"to":"v0.48.6","from":"v0.48.5"},{"to":"v0.48.5","from":"v0.48.4"},{"to":"v0.48.4","from":"v0.48.3"},{"to":"v0.48.3","from":"v0.48.2"},{"to":"v0.48.2","from":"v0.48.1"},{"to":"v0.48.1","from":"v0.48.0"},{"to":"v0.48.0","from":"v0.47.1"},{"to":"v0.47.1","from":"v0.47.0"},{"to":"v0.47.0","from":"v0.46.0"},{"to":"v0.46.0","from":"v0.45.4"},{"to":"v0.45.4","from":"v0.45.3"},{"to":"v0.45.3","from":"v0.45.2"},{"to":"v0.45.2","from":"v0.45.1"},{"to":"v0.45.1","from":"v0.45.0"},{"to":"v0.45.0","from":"v0.44.13"},{"to":"v0.44.13","from":"v0.44.12"},{"to":"v0.44.12","from":"v0.44.11"},{"to":"v0.44.11","from":"v0.44.10"},{"to":"v0.44.10","from":"v0.44.9"},{"to":"v0.44.9","from":"v0.44.8"},{"to":"v0.44.8","from":"v0.44.7"},{"to":"v0.44.7","from":"v0.44.6"},{"to":"v0.44.6","from":"v0.44.5"},{"to":"v0.44.5","from":"v0.44.4"},{"to":"v0.44.4","from":"v0.44.3"},{"to":"v0.44.3","from":"v0.44.2"},{"to":"v0.44.2","from":"v0.44.1"},{"to":"v0.44.1","from":"v0.44.0"},{"to":"v0.44.0","from":"v0.43.2"},{"to":"v0.43.2","from":"v0.43.1"},{"to":"v0.43.1","from":"v0.43.0"},{"to":"v0.43.0","from":"v0.42.26"},{"to":"v0.42.26","from":"v0.42.25"},{"to":"v0.42.25","from":"v0.42.24"},{"to":"v0.42.24","from":"v0.42.23"},{"to":"v0.42.23","from":"v0.42.22"},{"to":"v0.42.22","from":"v0.42.21"},{"to":"v0.42.21","from":"v0.42.20"},{"to":"v0.42.20","from":"v0.42.19"},{"to":"v0.42.19","from":"v0.42.18"},{"to":"v0.42.18","from":"v0.42.17"},{"to":"v0.42.17","from":"v0.42.16"},{"to":"v0.42.16","from":"v0.42.15"},{"to":"v0.42.15","from":"v0.42.14"},{"to":"v0.42.14","from":"v0.42.13"},{"to":"v0.42.13","from":"v0.42.12"},{"to":"v0.42.12","from":"v0.42.10"},{"to":"v0.42.10","from":"v0.42.9"},{"to":"v0.42.9","from":"v0.42.8"},{"to":"v0.42.8","from":"v0.42.7"},{"to":"v0.42.7","from":"v0.42.6"},{"to":"v0.42.6","from":"v0.42.5"},{"to":"v0.42.5","from":"v0.42.4"},{"to":"v0.42.4","from":"v0.42.3"},{"to":"v0.42.3","from":"v0.42.2"},{"to":"v0.42.2","from":"v0.42.1"},{"to":"v0.42.1","from":"v0.42.0"},{"to":"v0.42.0","from":"v0.41.16"},{"to":"v0.41.16","from":"v0.41.15"},{"to":"v0.41.15","from":"v0.41.14"},{"to":"v0.41.14","from":"v0.41.13"},{"to":"v0.41.13","from":"v0.41.12"},{"to":"v0.41.12","from":"v0.41.11"},{"to":"v0.41.11","from":"v0.41.10"},{"to":"v0.41.10","from":"v0.41.9"},{"to":"v0.41.9","from":"v0.41.8"},{"to":"v0.41.8","from":"v0.41.7"},{"to":"v0.41.7","from":"v0.41.6"},{"to":"v0.41.6","from":"v0.41.5"},{"to":"v0.41.5","from":"v0.41.4"},{"to":"v0.41.4","from":"v0.41.3"},{"to":"v0.41.3","from":"v0.41.2"},{"to":"v0.41.2","from":"v0.41.1"},{"to":"v0.41.1","from":"v0.41.0"},{"to":"v0.41.0","from":"v0.40.10"},{"to":"v0.40.10","from":"v0.40.9"},{"to":"v0.40.9","from":"v0.40.8"},{"to":"v0.40.8","from":"v0.40.7"},{"to":"v0.40.7","from":"v0.40.6"},{"to":"v0.40.6","from":"v0.40.5"},{"to":"v0.40.5","from":"v0.40.4"},{"to":"v0.40.4","from":"v0.40.3"},{"to":"v0.40.3","from":"v0.40.2"},{"to":"v0.40.2","from":"v0.40.1"},{"to":"v0.40.1","from":"v0.40.0"},{"to":"v0.40.0","from":"v0.39.8"},{"to":"v0.39.8","from":"v0.39.7"},{"to":"v0.39.7","from":"v0.39.6"},{"to":"v0.39.6","from":"v0.39.5"},{"to":"v0.39.5","from":"v0.39.4"},{"to":"v0.39.4","from":"v0.39.3"},{"to":"v0.39.3","from":"v0.39.2"},{"to":"v0.39.2","from":"v0.39.1"},{"to":"v0.39.1","from":"v0.39.0"},{"to":"v0.39.0","from":"v0.38.8"},{"to":"v0.38.8","from":"v0.38.7"},{"to":"v0.38.7","from":"v0.38.6"},{"to":"v0.38.6","from":"v0.38.5"},{"to":"v0.38.5","from":"v0.38.4"},{"to":"v0.38.4","from":"v0.38.3"},{"to":"v0.38.3","from":"v0.38.2"},{"to":"v0.38.2","from":"v0.38.1"},{"to":"v0.38.1","from":"v0.38.0"},{"to":"v0.38.0","from":"v0.37.11"},{"to":"v0.37.11","from":"v0.37.10"},{"to":"v0.37.10","from":"v0.37.9"},{"to":"v0.37.9","from":"v0.37.8"},{"to":"v0.37.8","from":"v0.37.7"},{"to":"v0.37.7","from":"v0.37.6"},{"to":"v0.37.6","from":"v0.37.5"},{"to":"v0.37.5","from":"v0.37.4"},{"to":"v0.37.4","from":"v0.37.3"},{"to":"v0.37.3","from":"v0.37.2"},{"to":"v0.37.2","from":"v0.37.1"},{"to":"v0.37.1","from":"v0.37.0"},{"to":"v0.37.0","from":"v0.36.28"},{"to":"v0.36.28","from":"v0.36.27"},{"to":"v0.36.27","from":"v0.36.26"},{"to":"v0.36.26","from":"v0.36.25"},{"to":"v0.36.25","from":"v0.36.24"},{"to":"v0.36.24","from":"v0.36.23"},{"to":"v0.36.23","from":"v0.36.22"},{"to":"v0.36.22","from":"v0.36.21"},{"to":"v0.36.21","from":"v0.36.20"},{"to":"v0.36.20","from":"v0.36.19"},{"to":"v0.36.19","from":"v0.36.18"},{"to":"v0.36.18","from":"v0.36.17"},{"to":"v0.36.17","from":"v0.36.16"},{"to":"v0.36.16","from":"v0.36.15"},{"to":"v0.36.15","from":"v0.36.14"},{"to":"v0.36.14","from":"v0.36.13"},{"to":"v0.36.13","from":"v0.36.12"},{"to":"v0.36.12","from":"v0.36.11"},{"to":"v0.36.11","from":"v0.36.10"},{"to":"v0.36.10","from":"v0.36.9"},{"to":"v0.36.9","from":"v0.36.8"},{"to":"v0.36.8","from":"v0.36.7"},{"to":"v0.36.7","from":"v0.36.6"},{"to":"v0.36.6","from":"v0.36.5"},{"to":"v0.36.5","from":"v0.36.4"},{"to":"v0.36.4","from":"v0.36.3"},{"to":"v0.36.3","from":"v0.36.2"},{"to":"v0.36.2","from":"v0.36.1"},{"to":"v0.36.1","from":"v0.36.0"},{"to":"v0.36.0","from":"v0.35.6"},{"to":"v0.35.6","from":"v0.35.5"},{"to":"v0.35.5","from":"v0.35.4"},{"to":"v0.35.4","from":"v0.35.3"},{"to":"v0.35.3","from":"v0.35.2"},{"to":"v0.35.2","from":"v0.35.1"},{"to":"v0.35.1","from":"v0.35.0"},{"to":"v0.35.0","from":"v0.34.8"},{"to":"v0.34.8","from":"v0.34.7"},{"to":"v0.34.7","from":"v0.34.6"},{"to":"v0.34.6","from":"v0.34.5"},{"to":"v0.34.5","from":"v0.34.4"},{"to":"v0.34.4","from":"v0.34.3"},{"to":"v0.34.3","from":"v0.34.2"},{"to":"v0.34.2","from":"v0.34.1"},{"to":"v0.34.1","from":"v0.34.0"},{"to":"v0.34.0","from":"v0.33.31"},{"to":"v0.33.31","from":"v0.33.30"},{"to":"v0.33.30","from":"v0.33.29"},{"to":"v0.33.29","from":"v0.33.28"},{"to":"v0.33.28","from":"v0.33.27"},{"to":"v0.33.27","from":"v0.33.26"},{"to":"v0.33.26","from":"v0.33.25"},{"to":"v0.33.25","from":"v0.33.24"},{"to":"v0.33.24","from":"v0.33.23"},{"to":"v0.33.23","from":"v0.33.22"},{"to":"v0.33.22","from":"v0.33.21"},{"to":"v0.33.21","from":"v0.33.20"},{"to":"v0.33.20","from":"v0.33.19"},{"to":"v0.33.19","from":"v0.33.18"},{"to":"v0.33.18","from":"v0.33.17"},{"to":"v0.33.17","from":"v0.33.16"},{"to":"v0.33.16","from":"v0.33.15"},{"to":"v0.33.15","from":"v0.33.14"},{"to":"v0.33.14","from":"v0.33.13"},{"to":"v0.33.13","from":"v0.33.12"},{"to":"v0.33.12","from":"v0.33.11"},{"to":"v0.33.11","from":"v0.33.10"},{"to":"v0.33.10","from":"v0.33.9"},{"to":"v0.33.9","from":"v0.33.8"},{"to":"v0.33.8","from":"v0.33.7"},{"to":"v0.33.7","from":"v0.33.6"},{"to":"v0.33.6","from":"v0.33.5"},{"to":"v0.33.5","from":"v0.33.4"},{"to":"v0.33.4","from":"v0.33.3"},{"to":"v0.33.3","from":"v0.33.2"},{"to":"v0.33.2","from":"v0.33.1"},{"to":"v0.33.1","from":"v0.33.0"},{"to":"v0.33.0","from":"v0.32.6"},{"to":"v0.32.6","from":"v0.32.5"},{"to":"v0.32.5","from":"v0.32.4"},{"to":"v0.32.4","from":"v0.32.3"},{"to":"v0.32.3","from":"v0.32.2"},{"to":"v0.32.2","from":"v0.32.1"},{"to":"v0.32.1","from":"v0.32.0"},{"to":"v0.32.0","from":"v0.31.2"},{"to":"v0.31.2","from":"v0.31.1"},{"to":"v0.31.1","from":"v0.31.0"},{"to":"v0.31.0","from":"v0.30.9"},{"to":"v0.30.9","from":"v0.30.8"},{"to":"v0.30.8","from":"v0.30.7"},{"to":"v0.30.7","from":"v0.30.6"},{"to":"v0.30.6","from":"v0.30.5"},{"to":"v0.30.5","from":"v0.30.4"},{"to":"v0.30.4","from":"v0.30.3"},{"to":"v0.30.3","from":"v0.30.2"},{"to":"v0.30.2","from":"v0.30.1"},{"to":"v0.30.1","from":"v0.30.0"},{"to":"v0.30.0","from":"v0.29.4"},{"to":"v0.29.4","from":"v0.29.3"},{"to":"v0.29.3","from":"v0.29.2"},{"to":"v0.29.2","from":"v0.29.1"},{"to":"v0.29.1","from":"v0.29.0"},{"to":"v0.29.0","from":"v0.28.9"},{"to":"v0.28.9","from":"v0.28.8"},{"to":"v0.28.8","from":"v0.28.7"},{"to":"v0.28.7","from":"v0.28.6"},{"to":"v0.28.6","from":"v0.28.5"},{"to":"v0.28.5","from":"v0.28.4"},{"to":"v0.28.4","from":"v0.28.3"},{"to":"v0.28.3","from":"v0.28.2"},{"to":"v0.28.2","from":"v0.28.1"},{"to":"v0.28.1","from":"v0.28.0"},{"to":"v0.28.0","from":"v0.27.9"},{"to":"v0.27.9","from":"v0.27.8"},{"to":"v0.27.8","from":"v0.27.7"},{"to":"v0.27.7","from":"v0.27.6"},{"to":"v0.27.6","from":"v0.27.5"},{"to":"v0.27.5","from":"v0.27.4"},{"to":"v0.27.4","from":"v0.27.3"},{"to":"v0.27.3","from":"v0.27.2"},{"to":"v0.27.2","from":"v0.27.1"},{"to":"v0.27.1","from":"v0.27.0"},{"to":"v0.27.0","from":"v0.26.2"},{"to":"v0.26.2","from":"v0.26.1"},{"to":"v0.26.1","from":"v0.26.0"},{"to":"v0.26.0","from":"v0.25.0"},{"to":"v0.25.0","from":"v0.24.1"},{"to":"v0.24.1","from":"v0.24.0"},{"to":"v0.24.0","from":"v0.23.7"},{"to":"v0.23.7","from":"v0.23.6"},{"to":"v0.23.6","from":"v0.23.5"},{"to":"v0.23.5","from":"v0.23.4"},{"to":"v0.23.4","from":"v0.23.3"},{"to":"v0.23.3","from":"v0.23.2"},{"to":"v0.23.2","from":"v0.23.1"},{"to":"v0.23.1","from":"v0.23.0"},{"to":"v0.23.0","from":"v0.22.3"},{"to":"v0.22.3","from":"v0.22.2"},{"to":"v0.22.2","from":"v0.22.1"},{"to":"v0.22.1","from":"v0.22.0"},{"to":"v0.22.0","from":"v0.21.0"},{"to":"v0.21.0","from":"v0.20.5"},{"to":"v0.20.5","from":"v0.20.4"},{"to":"v0.20.4","from":"v0.20.3"},{"to":"v0.20.3","from":"v0.20.2"},{"to":"v0.20.2","from":"v0.20.1"},{"to":"v0.20.1","from":"v0.20.0"},{"to":"v0.20.0","from":"v0.19.5"},{"to":"v0.19.5","from":"v0.19.4"},{"to":"v0.19.4","from":"v0.19.3"},{"to":"v0.19.3","from":"v0.19.2"},{"to":"v0.19.2","from":"v0.19.1"},{"to":"v0.19.1","from":"v0.19.0"},{"to":"v0.19.0","from":"6181a540729a7179d7a9d41489dfc241335cf1b5"}]
|
|
1
|
+
[{"to":"v0.50.15","from":"v0.50.14"},{"to":"v0.50.14","from":"v0.50.13"},{"to":"v0.50.13","from":"v0.50.12"},{"to":"v0.50.12","from":"v0.50.11"},{"to":"v0.50.11","from":"v0.50.10"},{"to":"v0.50.10","from":"v0.50.9"},{"to":"v0.50.9","from":"v0.50.8"},{"to":"v0.50.8","from":"v0.50.7"},{"to":"v0.50.7","from":"v0.50.6"},{"to":"v0.50.6","from":"v0.50.5"},{"to":"v0.50.5","from":"v0.50.4"},{"to":"v0.50.4","from":"v0.50.3"},{"to":"v0.50.3","from":"v0.50.2"},{"to":"v0.50.2","from":"v0.50.1"},{"to":"v0.50.1","from":"v0.50.0"},{"to":"v0.50.0","from":"v0.49.67"},{"to":"v0.49.67","from":"v0.49.66"},{"to":"v0.49.66","from":"v0.49.65"},{"to":"v0.49.65","from":"v0.49.64"},{"to":"v0.49.64","from":"v0.49.63"},{"to":"v0.49.63","from":"v0.49.62"},{"to":"v0.49.62","from":"v0.49.61"},{"to":"v0.49.61","from":"v0.49.60"},{"to":"v0.49.60","from":"v0.49.59"},{"to":"v0.49.59","from":"v0.49.58"},{"to":"v0.49.58","from":"v0.49.57"},{"to":"v0.49.57","from":"v0.49.56"},{"to":"v0.49.56","from":"v0.49.55"},{"to":"v0.49.55","from":"v0.49.54"},{"to":"v0.49.54","from":"v0.49.53"},{"to":"v0.49.53","from":"v0.49.52"},{"to":"v0.49.52","from":"v0.49.51"},{"to":"v0.49.51","from":"v0.49.50"},{"to":"v0.49.50","from":"v0.49.49"},{"to":"v0.49.49","from":"v0.49.48"},{"to":"v0.49.48","from":"v0.49.47"},{"to":"v0.49.47","from":"v0.49.46"},{"to":"v0.49.46","from":"v0.49.45"},{"to":"v0.49.45","from":"v0.49.44"},{"to":"v0.49.44","from":"v0.49.43"},{"to":"v0.49.43","from":"v0.49.42"},{"to":"v0.49.42","from":"v0.49.41"},{"to":"v0.49.41","from":"v0.49.40"},{"to":"v0.49.40","from":"v0.49.39"},{"to":"v0.49.39","from":"v0.49.38"},{"to":"v0.49.38","from":"v0.49.37"},{"to":"v0.49.37","from":"v0.49.36"},{"to":"v0.49.36","from":"v0.49.35"},{"to":"v0.49.35","from":"v0.49.34"},{"to":"v0.49.34","from":"v0.49.32"},{"to":"v0.49.32","from":"v0.49.31"},{"to":"v0.49.31","from":"v0.49.30"},{"to":"v0.49.30","from":"v0.49.29"},{"to":"v0.49.29","from":"v0.49.28"},{"to":"v0.49.28","from":"v0.49.27"},{"to":"v0.49.27","from":"v0.49.26"},{"to":"v0.49.26","from":"v0.49.25"},{"to":"v0.49.25","from":"v0.49.24"},{"to":"v0.49.24","from":"v0.49.23"},{"to":"v0.49.23","from":"v0.49.22"},{"to":"v0.49.22","from":"v0.49.21"},{"to":"v0.49.21","from":"v0.49.20"},{"to":"v0.49.20","from":"v0.49.19"},{"to":"v0.49.19","from":"v0.49.18"},{"to":"v0.49.18","from":"v0.49.17"},{"to":"v0.49.17","from":"v0.49.16"},{"to":"v0.49.16","from":"v0.49.15"},{"to":"v0.49.15","from":"v0.49.14"},{"to":"v0.49.14","from":"v0.49.12"},{"to":"v0.49.12","from":"v0.49.11"},{"to":"v0.49.11","from":"v0.49.9"},{"to":"v0.49.9","from":"v0.49.8"},{"to":"v0.49.8","from":"v0.49.7"},{"to":"v0.49.7","from":"v0.49.6"},{"to":"v0.49.6","from":"v0.49.5"},{"to":"v0.49.5","from":"v0.49.4"},{"to":"v0.49.4","from":"v0.49.3"},{"to":"v0.49.3","from":"v0.49.2"},{"to":"v0.49.2","from":"v0.49.1"},{"to":"v0.49.1","from":"v0.49.0"},{"to":"v0.49.0","from":"v0.48.23"},{"to":"v0.48.23","from":"v0.48.22"},{"to":"v0.48.22","from":"v0.48.21"},{"to":"v0.48.21","from":"v0.48.19"},{"to":"v0.48.19","from":"v0.48.18"},{"to":"v0.48.18","from":"v0.48.17"},{"to":"v0.48.17","from":"v0.48.16"},{"to":"v0.48.16","from":"v0.48.15"},{"to":"v0.48.15","from":"v0.48.14"},{"to":"v0.48.14","from":"v0.48.13"},{"to":"v0.48.13","from":"v0.48.12"},{"to":"v0.48.12","from":"v0.48.11"},{"to":"v0.48.11","from":"v0.48.10"},{"to":"v0.48.10","from":"v0.48.9"},{"to":"v0.48.9","from":"v0.48.7"},{"to":"v0.48.7","from":"v0.48.6"},{"to":"v0.48.6","from":"v0.48.5"},{"to":"v0.48.5","from":"v0.48.4"},{"to":"v0.48.4","from":"v0.48.3"},{"to":"v0.48.3","from":"v0.48.2"},{"to":"v0.48.2","from":"v0.48.1"},{"to":"v0.48.1","from":"v0.48.0"},{"to":"v0.48.0","from":"v0.47.1"},{"to":"v0.47.1","from":"v0.47.0"},{"to":"v0.47.0","from":"v0.46.0"},{"to":"v0.46.0","from":"v0.45.4"},{"to":"v0.45.4","from":"v0.45.3"},{"to":"v0.45.3","from":"v0.45.2"},{"to":"v0.45.2","from":"v0.45.1"},{"to":"v0.45.1","from":"v0.45.0"},{"to":"v0.45.0","from":"v0.44.13"},{"to":"v0.44.13","from":"v0.44.12"},{"to":"v0.44.12","from":"v0.44.11"},{"to":"v0.44.11","from":"v0.44.10"},{"to":"v0.44.10","from":"v0.44.9"},{"to":"v0.44.9","from":"v0.44.8"},{"to":"v0.44.8","from":"v0.44.7"},{"to":"v0.44.7","from":"v0.44.6"},{"to":"v0.44.6","from":"v0.44.5"},{"to":"v0.44.5","from":"v0.44.4"},{"to":"v0.44.4","from":"v0.44.3"},{"to":"v0.44.3","from":"v0.44.2"},{"to":"v0.44.2","from":"v0.44.1"},{"to":"v0.44.1","from":"v0.44.0"},{"to":"v0.44.0","from":"v0.43.2"},{"to":"v0.43.2","from":"v0.43.1"},{"to":"v0.43.1","from":"v0.43.0"},{"to":"v0.43.0","from":"v0.42.26"},{"to":"v0.42.26","from":"v0.42.25"},{"to":"v0.42.25","from":"v0.42.24"},{"to":"v0.42.24","from":"v0.42.23"},{"to":"v0.42.23","from":"v0.42.22"},{"to":"v0.42.22","from":"v0.42.21"},{"to":"v0.42.21","from":"v0.42.20"},{"to":"v0.42.20","from":"v0.42.19"},{"to":"v0.42.19","from":"v0.42.18"},{"to":"v0.42.18","from":"v0.42.17"},{"to":"v0.42.17","from":"v0.42.16"},{"to":"v0.42.16","from":"v0.42.15"},{"to":"v0.42.15","from":"v0.42.14"},{"to":"v0.42.14","from":"v0.42.13"},{"to":"v0.42.13","from":"v0.42.12"},{"to":"v0.42.12","from":"v0.42.10"},{"to":"v0.42.10","from":"v0.42.9"},{"to":"v0.42.9","from":"v0.42.8"},{"to":"v0.42.8","from":"v0.42.7"},{"to":"v0.42.7","from":"v0.42.6"},{"to":"v0.42.6","from":"v0.42.5"},{"to":"v0.42.5","from":"v0.42.4"},{"to":"v0.42.4","from":"v0.42.3"},{"to":"v0.42.3","from":"v0.42.2"},{"to":"v0.42.2","from":"v0.42.1"},{"to":"v0.42.1","from":"v0.42.0"},{"to":"v0.42.0","from":"v0.41.16"},{"to":"v0.41.16","from":"v0.41.15"},{"to":"v0.41.15","from":"v0.41.14"},{"to":"v0.41.14","from":"v0.41.13"},{"to":"v0.41.13","from":"v0.41.12"},{"to":"v0.41.12","from":"v0.41.11"},{"to":"v0.41.11","from":"v0.41.10"},{"to":"v0.41.10","from":"v0.41.9"},{"to":"v0.41.9","from":"v0.41.8"},{"to":"v0.41.8","from":"v0.41.7"},{"to":"v0.41.7","from":"v0.41.6"},{"to":"v0.41.6","from":"v0.41.5"},{"to":"v0.41.5","from":"v0.41.4"},{"to":"v0.41.4","from":"v0.41.3"},{"to":"v0.41.3","from":"v0.41.2"},{"to":"v0.41.2","from":"v0.41.1"},{"to":"v0.41.1","from":"v0.41.0"},{"to":"v0.41.0","from":"v0.40.10"},{"to":"v0.40.10","from":"v0.40.9"},{"to":"v0.40.9","from":"v0.40.8"},{"to":"v0.40.8","from":"v0.40.7"},{"to":"v0.40.7","from":"v0.40.6"},{"to":"v0.40.6","from":"v0.40.5"},{"to":"v0.40.5","from":"v0.40.4"},{"to":"v0.40.4","from":"v0.40.3"},{"to":"v0.40.3","from":"v0.40.2"},{"to":"v0.40.2","from":"v0.40.1"},{"to":"v0.40.1","from":"v0.40.0"},{"to":"v0.40.0","from":"v0.39.8"},{"to":"v0.39.8","from":"v0.39.7"},{"to":"v0.39.7","from":"v0.39.6"},{"to":"v0.39.6","from":"v0.39.5"},{"to":"v0.39.5","from":"v0.39.4"},{"to":"v0.39.4","from":"v0.39.3"},{"to":"v0.39.3","from":"v0.39.2"},{"to":"v0.39.2","from":"v0.39.1"},{"to":"v0.39.1","from":"v0.39.0"},{"to":"v0.39.0","from":"v0.38.8"},{"to":"v0.38.8","from":"v0.38.7"},{"to":"v0.38.7","from":"v0.38.6"},{"to":"v0.38.6","from":"v0.38.5"},{"to":"v0.38.5","from":"v0.38.4"},{"to":"v0.38.4","from":"v0.38.3"},{"to":"v0.38.3","from":"v0.38.2"},{"to":"v0.38.2","from":"v0.38.1"},{"to":"v0.38.1","from":"v0.38.0"},{"to":"v0.38.0","from":"v0.37.11"},{"to":"v0.37.11","from":"v0.37.10"},{"to":"v0.37.10","from":"v0.37.9"},{"to":"v0.37.9","from":"v0.37.8"},{"to":"v0.37.8","from":"v0.37.7"},{"to":"v0.37.7","from":"v0.37.6"},{"to":"v0.37.6","from":"v0.37.5"},{"to":"v0.37.5","from":"v0.37.4"},{"to":"v0.37.4","from":"v0.37.3"},{"to":"v0.37.3","from":"v0.37.2"},{"to":"v0.37.2","from":"v0.37.1"},{"to":"v0.37.1","from":"v0.37.0"},{"to":"v0.37.0","from":"v0.36.28"},{"to":"v0.36.28","from":"v0.36.27"},{"to":"v0.36.27","from":"v0.36.26"},{"to":"v0.36.26","from":"v0.36.25"},{"to":"v0.36.25","from":"v0.36.24"},{"to":"v0.36.24","from":"v0.36.23"},{"to":"v0.36.23","from":"v0.36.22"},{"to":"v0.36.22","from":"v0.36.21"},{"to":"v0.36.21","from":"v0.36.20"},{"to":"v0.36.20","from":"v0.36.19"},{"to":"v0.36.19","from":"v0.36.18"},{"to":"v0.36.18","from":"v0.36.17"},{"to":"v0.36.17","from":"v0.36.16"},{"to":"v0.36.16","from":"v0.36.15"},{"to":"v0.36.15","from":"v0.36.14"},{"to":"v0.36.14","from":"v0.36.13"},{"to":"v0.36.13","from":"v0.36.12"},{"to":"v0.36.12","from":"v0.36.11"},{"to":"v0.36.11","from":"v0.36.10"},{"to":"v0.36.10","from":"v0.36.9"},{"to":"v0.36.9","from":"v0.36.8"},{"to":"v0.36.8","from":"v0.36.7"},{"to":"v0.36.7","from":"v0.36.6"},{"to":"v0.36.6","from":"v0.36.5"},{"to":"v0.36.5","from":"v0.36.4"},{"to":"v0.36.4","from":"v0.36.3"},{"to":"v0.36.3","from":"v0.36.2"},{"to":"v0.36.2","from":"v0.36.1"},{"to":"v0.36.1","from":"v0.36.0"},{"to":"v0.36.0","from":"v0.35.6"},{"to":"v0.35.6","from":"v0.35.5"},{"to":"v0.35.5","from":"v0.35.4"},{"to":"v0.35.4","from":"v0.35.3"},{"to":"v0.35.3","from":"v0.35.2"},{"to":"v0.35.2","from":"v0.35.1"},{"to":"v0.35.1","from":"v0.35.0"},{"to":"v0.35.0","from":"v0.34.8"},{"to":"v0.34.8","from":"v0.34.7"},{"to":"v0.34.7","from":"v0.34.6"},{"to":"v0.34.6","from":"v0.34.5"},{"to":"v0.34.5","from":"v0.34.4"},{"to":"v0.34.4","from":"v0.34.3"},{"to":"v0.34.3","from":"v0.34.2"},{"to":"v0.34.2","from":"v0.34.1"},{"to":"v0.34.1","from":"v0.34.0"},{"to":"v0.34.0","from":"v0.33.31"},{"to":"v0.33.31","from":"v0.33.30"},{"to":"v0.33.30","from":"v0.33.29"},{"to":"v0.33.29","from":"v0.33.28"},{"to":"v0.33.28","from":"v0.33.27"},{"to":"v0.33.27","from":"v0.33.26"},{"to":"v0.33.26","from":"v0.33.25"},{"to":"v0.33.25","from":"v0.33.24"},{"to":"v0.33.24","from":"v0.33.23"},{"to":"v0.33.23","from":"v0.33.22"},{"to":"v0.33.22","from":"v0.33.21"},{"to":"v0.33.21","from":"v0.33.20"},{"to":"v0.33.20","from":"v0.33.19"},{"to":"v0.33.19","from":"v0.33.18"},{"to":"v0.33.18","from":"v0.33.17"},{"to":"v0.33.17","from":"v0.33.16"},{"to":"v0.33.16","from":"v0.33.15"},{"to":"v0.33.15","from":"v0.33.14"},{"to":"v0.33.14","from":"v0.33.13"},{"to":"v0.33.13","from":"v0.33.12"},{"to":"v0.33.12","from":"v0.33.11"},{"to":"v0.33.11","from":"v0.33.10"},{"to":"v0.33.10","from":"v0.33.9"},{"to":"v0.33.9","from":"v0.33.8"},{"to":"v0.33.8","from":"v0.33.7"},{"to":"v0.33.7","from":"v0.33.6"},{"to":"v0.33.6","from":"v0.33.5"},{"to":"v0.33.5","from":"v0.33.4"},{"to":"v0.33.4","from":"v0.33.3"},{"to":"v0.33.3","from":"v0.33.2"},{"to":"v0.33.2","from":"v0.33.1"},{"to":"v0.33.1","from":"v0.33.0"},{"to":"v0.33.0","from":"v0.32.6"},{"to":"v0.32.6","from":"v0.32.5"},{"to":"v0.32.5","from":"v0.32.4"},{"to":"v0.32.4","from":"v0.32.3"},{"to":"v0.32.3","from":"v0.32.2"},{"to":"v0.32.2","from":"v0.32.1"},{"to":"v0.32.1","from":"v0.32.0"},{"to":"v0.32.0","from":"v0.31.2"},{"to":"v0.31.2","from":"v0.31.1"},{"to":"v0.31.1","from":"v0.31.0"},{"to":"v0.31.0","from":"v0.30.9"},{"to":"v0.30.9","from":"v0.30.8"},{"to":"v0.30.8","from":"v0.30.7"},{"to":"v0.30.7","from":"v0.30.6"},{"to":"v0.30.6","from":"v0.30.5"},{"to":"v0.30.5","from":"v0.30.4"},{"to":"v0.30.4","from":"v0.30.3"},{"to":"v0.30.3","from":"v0.30.2"},{"to":"v0.30.2","from":"v0.30.1"},{"to":"v0.30.1","from":"v0.30.0"},{"to":"v0.30.0","from":"v0.29.4"},{"to":"v0.29.4","from":"v0.29.3"},{"to":"v0.29.3","from":"v0.29.2"},{"to":"v0.29.2","from":"v0.29.1"},{"to":"v0.29.1","from":"v0.29.0"},{"to":"v0.29.0","from":"v0.28.9"},{"to":"v0.28.9","from":"v0.28.8"},{"to":"v0.28.8","from":"v0.28.7"},{"to":"v0.28.7","from":"v0.28.6"},{"to":"v0.28.6","from":"v0.28.5"},{"to":"v0.28.5","from":"v0.28.4"},{"to":"v0.28.4","from":"v0.28.3"},{"to":"v0.28.3","from":"v0.28.2"},{"to":"v0.28.2","from":"v0.28.1"},{"to":"v0.28.1","from":"v0.28.0"},{"to":"v0.28.0","from":"v0.27.9"},{"to":"v0.27.9","from":"v0.27.8"},{"to":"v0.27.8","from":"v0.27.7"},{"to":"v0.27.7","from":"v0.27.6"},{"to":"v0.27.6","from":"v0.27.5"},{"to":"v0.27.5","from":"v0.27.4"},{"to":"v0.27.4","from":"v0.27.3"},{"to":"v0.27.3","from":"v0.27.2"},{"to":"v0.27.2","from":"v0.27.1"},{"to":"v0.27.1","from":"v0.27.0"},{"to":"v0.27.0","from":"v0.26.2"},{"to":"v0.26.2","from":"v0.26.1"},{"to":"v0.26.1","from":"v0.26.0"},{"to":"v0.26.0","from":"v0.25.0"},{"to":"v0.25.0","from":"v0.24.1"},{"to":"v0.24.1","from":"v0.24.0"},{"to":"v0.24.0","from":"v0.23.7"},{"to":"v0.23.7","from":"v0.23.6"},{"to":"v0.23.6","from":"v0.23.5"},{"to":"v0.23.5","from":"v0.23.4"},{"to":"v0.23.4","from":"v0.23.3"},{"to":"v0.23.3","from":"v0.23.2"},{"to":"v0.23.2","from":"v0.23.1"},{"to":"v0.23.1","from":"v0.23.0"},{"to":"v0.23.0","from":"v0.22.3"},{"to":"v0.22.3","from":"v0.22.2"},{"to":"v0.22.2","from":"v0.22.1"},{"to":"v0.22.1","from":"v0.22.0"},{"to":"v0.22.0","from":"v0.21.0"},{"to":"v0.21.0","from":"v0.20.5"},{"to":"v0.20.5","from":"v0.20.4"},{"to":"v0.20.4","from":"v0.20.3"},{"to":"v0.20.3","from":"v0.20.2"},{"to":"v0.20.2","from":"v0.20.1"},{"to":"v0.20.1","from":"v0.20.0"},{"to":"v0.20.0","from":"v0.19.5"},{"to":"v0.19.5","from":"v0.19.4"},{"to":"v0.19.4","from":"v0.19.3"},{"to":"v0.19.3","from":"v0.19.2"},{"to":"v0.19.2","from":"v0.19.1"},{"to":"v0.19.1","from":"v0.19.0"},{"to":"v0.19.0","from":"6181a540729a7179d7a9d41489dfc241335cf1b5"}]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oc",
|
|
3
|
-
"version": "0.50.
|
|
3
|
+
"version": "0.50.15",
|
|
4
4
|
"description": "A framework for developing and distributing html components",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"oc"
|
|
42
42
|
],
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@biomejs/biome": "1.
|
|
44
|
+
"@biomejs/biome": "2.1.2",
|
|
45
45
|
"@types/accept-language-parser": "^1.5.6",
|
|
46
46
|
"@types/async": "^3.2.24",
|
|
47
47
|
"@types/cross-spawn": "^6.0.6",
|
|
48
48
|
"@types/errorhandler": "^1.5.3",
|
|
49
|
-
"@types/express": "^
|
|
49
|
+
"@types/express": "^5.0.3",
|
|
50
50
|
"@types/fs-extra": "^11.0.4",
|
|
51
51
|
"@types/livereload": "^0.9.5",
|
|
52
52
|
"@types/morgan": "^1.9.9",
|
|
@@ -84,17 +84,17 @@
|
|
|
84
84
|
"builtin-modules": "^3.3.0",
|
|
85
85
|
"chokidar": "^3.6.0",
|
|
86
86
|
"colors": "^1.4.0",
|
|
87
|
-
"cross-spawn": "^7.0.
|
|
87
|
+
"cross-spawn": "^7.0.5",
|
|
88
88
|
"dependency-graph": "^1.0.0",
|
|
89
|
-
"dotenv": "^
|
|
89
|
+
"dotenv": "^17.2.1",
|
|
90
90
|
"errorhandler": "^1.5.1",
|
|
91
|
-
"express": "^
|
|
92
|
-
"form-data": "^4.0.
|
|
91
|
+
"express": "^5.1.0",
|
|
92
|
+
"form-data": "^4.0.4",
|
|
93
93
|
"fs-extra": "^11.2.0",
|
|
94
94
|
"getport": "^0.1.0",
|
|
95
95
|
"livereload": "^0.9.3",
|
|
96
96
|
"lodash.isequal": "^4.5.0",
|
|
97
|
-
"morgan": "^1.10.
|
|
97
|
+
"morgan": "^1.10.1",
|
|
98
98
|
"multer": "^1.4.3",
|
|
99
99
|
"nice-cache": "^0.0.5",
|
|
100
100
|
"oc-client": "^4.0.2",
|
|
@@ -113,13 +113,13 @@
|
|
|
113
113
|
"parse-author": "^2.0.0",
|
|
114
114
|
"read": "^1.0.7",
|
|
115
115
|
"require-package-name": "^2.0.1",
|
|
116
|
-
"response-time": "^2.3.
|
|
116
|
+
"response-time": "^2.3.4",
|
|
117
117
|
"semver": "^7.7.1",
|
|
118
118
|
"semver-extra": "^3.0.0",
|
|
119
119
|
"serialize-error": "^8.1.0",
|
|
120
120
|
"targz": "^1.0.1",
|
|
121
121
|
"try-require": "^1.2.1",
|
|
122
|
-
"undici": "^6.
|
|
122
|
+
"undici": "^6.21.1",
|
|
123
123
|
"universalify": "^2.0.0",
|
|
124
124
|
"yargs": "^17.7.2"
|
|
125
125
|
}
|