|
1 | | -#!/usr/bin/env node |
2 | | -"use strict"; |
3 | | -Object.defineProperty(exports, "__esModule", { value: true }); |
4 | | -const Container_1 = require("../container/Container"); |
5 | | -const external_importer_1 = require("../services/external-importer/external-importer"); |
6 | | -const file_service_1 = require("../services/file/file.service"); |
7 | | -const config_service_1 = require("../services/config/config.service"); |
8 | | -const rxjs_1 = require("rxjs"); |
9 | | -const operators_1 = require("rxjs/operators"); |
10 | | -const includes = (i) => process.argv.toString().includes(i); |
11 | | -const externalImporter = Container_1.Container.get(external_importer_1.ExternalImporter); |
12 | | -const fileService = Container_1.Container.get(file_service_1.FileService); |
13 | | -let p = null; |
14 | | -if (includes('--local-node')) { |
15 | | - p = externalImporter.getProvider('local'); |
16 | | -} |
17 | | -if (includes('--cloudflare')) { |
18 | | - p = externalImporter.getProvider('cloudflare'); |
19 | | -} |
20 | | -if (includes('--infura')) { |
21 | | - p = externalImporter.getProvider('infura'); |
22 | | -} |
23 | | -if (includes('--ipfs')) { |
24 | | - p = externalImporter.getProvider('main-ipfs-node'); |
25 | | -} |
26 | | -externalImporter.defaultProvider = p || externalImporter.defaultProvider; |
27 | | -let provider = externalImporter.defaultProvider; |
28 | | -let hash = ''; |
29 | | -let modulesToDownload = []; |
30 | | -let customConfigFile; |
31 | | -let packageJsonConfigFile; |
32 | | -let rxdiConfigFile; |
33 | | -let json; |
34 | | -exports.loadDeps = (jsonIpfs) => { |
35 | | - if (!jsonIpfs) { |
36 | | - throw new Error('Missing ipfs config!'); |
37 | | - } |
38 | | - if (!jsonIpfs.provider) { |
39 | | - throw new Error('Missing ipfsProvider package.json'); |
40 | | - } |
41 | | - jsonIpfs.dependencies = jsonIpfs.dependencies || []; |
42 | | - return jsonIpfs.dependencies.map(hash => { |
43 | | - return { hash, provider: jsonIpfs.provider }; |
44 | | - }).filter(res => !!res); |
45 | | -}; |
46 | | -exports.DownloadDependencies = (dependencies) => { |
47 | | - return Container_1.Container.get(external_importer_1.ExternalImporter).downloadIpfsModules(dependencies); |
48 | | -}; |
49 | | -if (process.argv.toString().includes('-v') || process.argv.toString().includes('--verbose')) { |
50 | | - Container_1.Container.get(config_service_1.ConfigService).setConfig({ logger: { logging: true, hashes: true, date: true, exitHandler: true, fileService: true } }); |
51 | | -} |
52 | | -console.log(''); |
53 | | -if (process.argv[2] === 'install' || process.argv[2] === 'i') { |
54 | | - process.argv.forEach((val, index) => { |
55 | | - if (index === 3) { |
56 | | - if (val.length === 46) { |
57 | | - hash = val; |
58 | | - } |
59 | | - else if (val.includes('--hash=')) { |
60 | | - hash = val.split('--hash=')[1]; |
61 | | - } |
62 | | - else if (val.includes('-h=')) { |
63 | | - hash = val.split('-h=')[1]; |
64 | | - } |
65 | | - } |
66 | | - if (index === 4) { |
67 | | - if (val.includes('--provider=')) { |
68 | | - provider = val.split('--provider=')[1]; |
69 | | - } |
70 | | - else if (val.includes('http')) { |
71 | | - provider = val; |
72 | | - } |
73 | | - else if (val.includes('-p=')) { |
74 | | - provider = val.split('-p=')[1]; |
75 | | - } |
76 | | - } |
77 | | - }); |
78 | | - customConfigFile = `${process.cwd()}/${process.argv[3]}`; |
79 | | - packageJsonConfigFile = `${process.cwd()}/package.json`; |
80 | | - rxdiConfigFile = `${process.cwd()}/reactive.json`; |
81 | | - if (!hash && fileService.isPresent(customConfigFile)) { |
82 | | - json = require(customConfigFile).ipfs; |
83 | | - externalImporter.defaultJsonFolder = customConfigFile; |
84 | | - } |
85 | | - if (fileService.isPresent(packageJsonConfigFile)) { |
86 | | - json = require(packageJsonConfigFile).ipfs; |
87 | | - externalImporter.defaultJsonFolder = packageJsonConfigFile; |
88 | | - } |
89 | | - if (fileService.isPresent(rxdiConfigFile)) { |
90 | | - json = require(rxdiConfigFile).ipfs; |
91 | | - externalImporter.defaultJsonFolder = rxdiConfigFile; |
92 | | - } |
93 | | - console.log(`Loaded config ${externalImporter.defaultJsonFolder}`); |
94 | | - console.log('Reactive ipfs modules installing...'); |
95 | | - if (hash) { |
96 | | - modulesToDownload = [exports.DownloadDependencies(exports.loadDeps({ provider: p || provider, dependencies: [hash] }))]; |
97 | | - } |
98 | | - if (!hash) { |
99 | | - json = json || []; |
100 | | - modulesToDownload = [...modulesToDownload, ...json.map(json => { |
101 | | - json.provider = p || json.provider; |
102 | | - return exports.DownloadDependencies(exports.loadDeps(json)); |
103 | | - })]; |
104 | | - } |
105 | | - rxjs_1.combineLatest(modulesToDownload) |
106 | | - .pipe(operators_1.tap(() => hash ? externalImporter.addPackageToJson(hash) : null), operators_1.tap(() => externalImporter.filterUniquePackages())).subscribe((res) => { |
107 | | - console.log('Default ipfs provider: ', p || externalImporter.defaultProvider); |
108 | | - console.log(`Inside package.json default provider is ${externalImporter.defaultProvider}`); |
109 | | - console.log(JSON.stringify(res, null, 2), '\nReactive ipfs modules installed!'); |
110 | | - // clearInterval(interval); |
111 | | - }, (e) => { |
112 | | - throw new Error(e); |
113 | | - }); |
114 | | -} |
115 | | -if (process.argv[2] === '--ng-compat') { |
116 | | - const fileService = Container_1.Container.get(file_service_1.FileService); |
117 | | - const AngularCoreFolder = './node_modules/@angular/core/'; |
118 | | - const template = ` |
119 | | -function __export(m) { |
120 | | - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; |
121 | | -} |
122 | | -__export(require("@rxdi/core")); |
123 | | -exports.NgModule = require("@rxdi/core").Module; |
124 | | - `; |
125 | | - fileService.mkdirp(AngularCoreFolder) |
126 | | - .pipe(operators_1.switchMap(() => fileService.writeFileAsyncP(AngularCoreFolder, 'index.js', template))).subscribe(() => console.log('@angular/core folder created with fake index.js exporting @rxdi/core'), console.log.bind(console)); |
127 | | -} |
| 1 | +// #!/usr/bin/env node |
| 2 | +// import { Container } from '../container/Container'; |
| 3 | +// import { ExternalImporter } from '../services/external-importer/external-importer'; |
| 4 | +// import { FileService } from '../services/file/file.service'; |
| 5 | +// import { ExternalImporterIpfsConfig } from '../services/external-importer/external-importer-config'; |
| 6 | +// import { ConfigService } from '../services/config/config.service'; |
| 7 | +// import { Observable, combineLatest, pipe } from 'rxjs'; |
| 8 | +// import { tap, switchMap } from 'rxjs/operators'; |
| 9 | +// import { writeFileSync } from 'fs'; |
| 10 | +// import { mkdirp } from '../services/file/dist'; |
| 11 | +// const includes = (i: string) => process.argv.toString().includes(i); |
| 12 | +// const externalImporter = Container.get(ExternalImporter); |
| 13 | +// const fileService = Container.get(FileService); |
| 14 | +// let p = null; |
| 15 | +// if (includes('--local-node')) { |
| 16 | +// p = externalImporter.getProvider('local'); |
| 17 | +// } |
| 18 | +// if (includes('--cloudflare')) { |
| 19 | +// p = externalImporter.getProvider('cloudflare'); |
| 20 | +// } |
| 21 | +// if (includes('--infura')) { |
| 22 | +// p = externalImporter.getProvider('infura'); |
| 23 | +// } |
| 24 | +// if (includes('--ipfs')) { |
| 25 | +// p = externalImporter.getProvider('main-ipfs-node'); |
| 26 | +// } |
| 27 | +// externalImporter.defaultProvider = p || externalImporter.defaultProvider; |
| 28 | +// let provider = externalImporter.defaultProvider; |
| 29 | +// let hash = ''; |
| 30 | +// let modulesToDownload = []; |
| 31 | +// let customConfigFile; |
| 32 | +// let packageJsonConfigFile; |
| 33 | +// let rxdiConfigFile; |
| 34 | +// let json: PackagesConfig[]; |
| 35 | +// // let interval; |
| 36 | +// export interface PackagesConfig { |
| 37 | +// dependencies: string[]; |
| 38 | +// provider: string; |
| 39 | +// } |
| 40 | +// export const loadDeps = (jsonIpfs: PackagesConfig) => { |
| 41 | +// if (!jsonIpfs) { |
| 42 | +// throw new Error('Missing ipfs config!'); |
| 43 | +// } |
| 44 | +// if (!jsonIpfs.provider) { |
| 45 | +// throw new Error('Missing ipfsProvider package.json'); |
| 46 | +// } |
| 47 | +// jsonIpfs.dependencies = jsonIpfs.dependencies || []; |
| 48 | +// return jsonIpfs.dependencies.map(hash => { |
| 49 | +// return { hash, provider: jsonIpfs.provider }; |
| 50 | +// }).filter(res => !!res); |
| 51 | +// }; |
| 52 | +// export const DownloadDependencies = (dependencies: ExternalImporterIpfsConfig[]): Observable<any> => { |
| 53 | +// return Container.get(ExternalImporter).downloadIpfsModules(dependencies); |
| 54 | +// }; |
| 55 | +// if (process.argv.toString().includes('-v') || process.argv.toString().includes('--verbose')) { |
| 56 | +// Container.get(ConfigService).setConfig({ logger: { logging: true, hashes: true, date: true, exitHandler: true, fileService: true } }); |
| 57 | +// } |
| 58 | +// console.log(''); |
| 59 | +// if (process.argv[2] === 'install' || process.argv[2] === 'i') { |
| 60 | +// process.argv.forEach((val, index) => { |
| 61 | +// if (index === 3) { |
| 62 | +// if (val.length === 46) { |
| 63 | +// hash = val; |
| 64 | +// } else if (val.includes('--hash=')) { |
| 65 | +// hash = val.split('--hash=')[1]; |
| 66 | +// } else if (val.includes('-h=')) { |
| 67 | +// hash = val.split('-h=')[1]; |
| 68 | +// } |
| 69 | +// } |
| 70 | +// if (index === 4) { |
| 71 | +// if (val.includes('--provider=')) { |
| 72 | +// provider = val.split('--provider=')[1]; |
| 73 | +// } else if (val.includes('http')) { |
| 74 | +// provider = val; |
| 75 | +// } else if (val.includes('-p=')) { |
| 76 | +// provider = val.split('-p=')[1]; |
| 77 | +// } |
| 78 | +// } |
| 79 | +// }); |
| 80 | +// customConfigFile = `${process.cwd()}/${process.argv[3]}`; |
| 81 | +// packageJsonConfigFile = `${process.cwd()}/package.json`; |
| 82 | +// rxdiConfigFile = `${process.cwd()}/reactive.json`; |
| 83 | +// if (!hash && fileService.isPresent(customConfigFile)) { |
| 84 | +// json = require(customConfigFile).ipfs; |
| 85 | +// externalImporter.defaultJsonFolder = customConfigFile; |
| 86 | +// } |
| 87 | +// if (fileService.isPresent(packageJsonConfigFile)) { |
| 88 | +// json = require(packageJsonConfigFile).ipfs; |
| 89 | +// externalImporter.defaultJsonFolder = packageJsonConfigFile; |
| 90 | +// } |
| 91 | +// if (fileService.isPresent(rxdiConfigFile)) { |
| 92 | +// json = require(rxdiConfigFile).ipfs; |
| 93 | +// externalImporter.defaultJsonFolder = rxdiConfigFile; |
| 94 | +// } |
| 95 | +// console.log(`Loaded config ${externalImporter.defaultJsonFolder}`); |
| 96 | +// console.log('Reactive ipfs modules installing...'); |
| 97 | +// if (hash) { |
| 98 | +// modulesToDownload = [DownloadDependencies(loadDeps({ provider: p || provider, dependencies: [hash] }))]; |
| 99 | +// } |
| 100 | +// if (!hash) { |
| 101 | +// json = json || []; |
| 102 | +// modulesToDownload = [...modulesToDownload, ...json.map(json => { |
| 103 | +// json.provider = p || json.provider; |
| 104 | +// return DownloadDependencies(loadDeps(json)); |
| 105 | +// })]; |
| 106 | +// } |
| 107 | +// combineLatest(modulesToDownload) |
| 108 | +// .pipe( |
| 109 | +// tap(() => hash ? externalImporter.addPackageToJson(hash) : null), |
| 110 | +// tap(() => externalImporter.filterUniquePackages()) |
| 111 | +// ).subscribe( |
| 112 | +// (res) => { |
| 113 | +// console.log('Default ipfs provider: ', p || externalImporter.defaultProvider); |
| 114 | +// console.log(`Inside package.json default provider is ${externalImporter.defaultProvider}`); |
| 115 | +// console.log(JSON.stringify(res, null, 2), '\nReactive ipfs modules installed!'); |
| 116 | +// // clearInterval(interval); |
| 117 | +// }, |
| 118 | +// (e) => { |
| 119 | +// throw new Error(e); |
| 120 | +// } |
| 121 | +// ); |
| 122 | +// } |
| 123 | +// if (process.argv[2] === '--ng-compat') { |
| 124 | +// const fileService = Container.get(FileService); |
| 125 | +// const AngularCoreFolder = './node_modules/@angular/core/'; |
| 126 | +// const template = ` |
| 127 | +// function __export(m) { |
| 128 | +// for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; |
| 129 | +// } |
| 130 | +// __export(require("@rxdi/core")); |
| 131 | +// exports.NgModule = require("@rxdi/core").Module; |
| 132 | +// `; |
| 133 | +// fileService.mkdirp(AngularCoreFolder) |
| 134 | +// .pipe( |
| 135 | +// switchMap(() => fileService.writeFileAsyncP(AngularCoreFolder, 'index.js', template)) |
| 136 | +// ).subscribe( |
| 137 | +// () => console.log('@angular/core folder created with fake index.js exporting @rxdi/core'), |
| 138 | +// console.log.bind(console) |
| 139 | +// ); |
| 140 | +// } |
0 commit comments