cnpmcore
Version:
92 lines • 7.23 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CypressBinary = void 0;
const tegg_1 = require("@eggjs/tegg");
const Binary_1 = require("../../enum/Binary");
const AbstractBinary_1 = require("./AbstractBinary");
let CypressBinary = class CypressBinary extends AbstractBinary_1.AbstractBinary {
async initFetch() {
this.dirItems = undefined;
}
async fetch(dir) {
if (!this.dirItems) {
const pkgUrl = 'https://registry.npmjs.com/cypress';
const data = await this.requestJSON(pkgUrl);
this.dirItems = {};
this.dirItems['/'] = [];
for (const version in data.versions) {
const major = parseInt(version.split('.', 1)[0]);
// need >= 4.0.0
// https://npmmirror.com/mirrors/cypress/4.0.0/
if (major < 4)
continue;
const date = data.time[version];
// root: /
this.dirItems['/'].push({
name: `${version}/`,
date,
size: '-',
isDir: true,
url: '',
});
// version dir: /x.x.x/
const subDir = `/${version}/`;
if (!this.dirItems[subDir])
this.dirItems[subDir] = [];
// "https://cdn.cypress.io/desktop/4.0.0/darwin-x64/cypress.zip"
// "https://cdn.cypress.io/desktop/4.0.0/linux-x64/cypress.zip"
// "https://cdn.cypress.io/desktop/4.0.0/win32-x64/cypress.zip"
// "https://cdn.cypress.io/desktop/9.2.0/darwin-arm64/cypress.zip"
// "https://cdn.cypress.io/desktop/9.2.0/darwin-x64/cypress.zip"
// "https://cdn.cypress.io/desktop/9.2.0/linux-x64/cypress.zip"
// "https://cdn.cypress.io/desktop/9.2.0/linux-arm64/cypress.zip"
// "https://cdn.cypress.io/desktop/9.2.0/win32-x64/cypress.zip"
// https://github.com/cypress-io/cypress/blob/develop/scripts/binary/index.js#L146
// const systems = [
// { platform: 'linux', arch: 'x64' },
// { platform: 'linux', arch: 'arm64' },
// { platform: 'darwin', arch: 'x64' },
// { platform: 'darwin', arch: 'arm64' },
// { platform: 'win32', arch: 'x64' },
// ]
const platforms = [
'darwin-x64', 'darwin-arm64',
'linux-x64', 'linux-arm64',
'win32-x64',
];
for (const platform of platforms) {
this.dirItems[subDir].push({
name: `${platform}/`,
date,
size: '-',
isDir: true,
url: '',
});
// version dir: /x.x.x/darwin-x64/
this.dirItems[`/${version}/${platform}/`] = [
{
name: 'cypress.zip',
date,
size: '-',
isDir: false,
url: `https://cdn.cypress.io/desktop/${version}/${platform}/cypress.zip`,
},
];
}
}
}
return { items: this.dirItems[dir], nextParams: null };
}
};
exports.CypressBinary = CypressBinary;
exports.CypressBinary = CypressBinary = __decorate([
(0, tegg_1.SingletonProto)(),
(0, AbstractBinary_1.BinaryAdapter)(Binary_1.BinaryType.Cypress)
], CypressBinary);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3lwcmVzc0JpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvQ3lwcmVzc0JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBNkM7QUFDN0MsOENBQStDO0FBQy9DLHFEQUEwRjtBQUluRixJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsK0JBQWM7SUFLL0MsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFXO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE1BQU0sTUFBTSxHQUFHLG9DQUFvQyxDQUFDO1lBQ3BELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN4QixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ25DLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxnQkFBZ0I7Z0JBQ2hCLCtDQUErQztnQkFDL0MsSUFBSSxLQUFLLEdBQUcsQ0FBQztvQkFBRSxTQUFTO2dCQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoQyxVQUFVO2dCQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUN0QixJQUFJLEVBQUUsR0FBRyxPQUFPLEdBQUc7b0JBQ25CLElBQUk7b0JBQ0osSUFBSSxFQUFFLEdBQUc7b0JBQ1QsS0FBSyxFQUFFLElBQUk7b0JBQ1gsR0FBRyxFQUFFLEVBQUU7aUJBQ1IsQ0FBQyxDQUFDO2dCQUNILHVCQUF1QjtnQkFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO29CQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUN2RCxnRUFBZ0U7Z0JBQ2hFLCtEQUErRDtnQkFDL0QsK0RBQStEO2dCQUMvRCxrRUFBa0U7Z0JBQ2xFLGdFQUFnRTtnQkFDaEUsK0RBQStEO2dCQUMvRCxpRUFBaUU7Z0JBQ2pFLCtEQUErRDtnQkFDL0Qsa0ZBQWtGO2dCQUNsRixvQkFBb0I7Z0JBQ3BCLHdDQUF3QztnQkFDeEMsMENBQTBDO2dCQUMxQyx5Q0FBeUM7Z0JBQ3pDLDJDQUEyQztnQkFDM0Msd0NBQXdDO2dCQUN4QyxJQUFJO2dCQUNKLE1BQU0sU0FBUyxHQUFHO29CQUNoQixZQUFZLEVBQUUsY0FBYztvQkFDNUIsV0FBVyxFQUFFLGFBQWE7b0JBQzFCLFdBQVc7aUJBQ1osQ0FBQztnQkFDRixLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtvQkFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ3pCLElBQUksRUFBRSxHQUFHLFFBQVEsR0FBRzt3QkFDcEIsSUFBSTt3QkFDSixJQUFJLEVBQUUsR0FBRzt3QkFDVCxLQUFLLEVBQUUsSUFBSTt3QkFDWCxHQUFHLEVBQUUsRUFBRTtxQkFDUixDQUFDLENBQUM7b0JBQ0gsa0NBQWtDO29CQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxJQUFJLFFBQVEsR0FBRyxDQUFDLEdBQUc7d0JBQzFDOzRCQUNFLElBQUksRUFBRSxhQUFhOzRCQUNuQixJQUFJOzRCQUNKLElBQUksRUFBRSxHQUFHOzRCQUNULEtBQUssRUFBRSxLQUFLOzRCQUNaLEdBQUcsRUFBRSxrQ0FBa0MsT0FBTyxJQUFJLFFBQVEsY0FBYzt5QkFDekU7cUJBQ0YsQ0FBQztpQkFDSDthQUNGO1NBQ0Y7UUFFRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3pELENBQUM7Q0FDRixDQUFBO0FBN0VZLHNDQUFhO3dCQUFiLGFBQWE7SUFGekIsSUFBQSxxQkFBYyxHQUFFO0lBQ2hCLElBQUEsOEJBQWEsRUFBQyxtQkFBVSxDQUFDLE9BQU8sQ0FBQztHQUNyQixhQUFhLENBNkV6QiJ9