Re-use common’s <Button />
(might need adaptation to have an icon inside)
onPressGetStarted: () => void
import { GraphQLField, DirectiveNode, TypeNode, isNonNullType } from "graphql"; | |
type FieldVisitorFn = ( | |
field: GraphQLField<any, any>, | |
argumentDirectives: { | |
directiveNode: DirectiveNode, | |
targetNode: TypeNode, | |
path: string | |
}[] | |
) => GraphQLField<any, any> | void | null; |
import { readFileSync, writeFileSync } from 'fs'; | |
import { load } from 'cheerio'; | |
import { html as beautify } from 'js-beautify'; | |
const content = readFileSync('./static/Icons.svg', 'utf8'); | |
const $ = load(content); | |
$('svg').find('symbol').each((i, symbol) => { | |
const id = $(symbol).attr('id')!.split('--')[1]; | |
symbol.tagName = 'svg'; |
diff --git a/cli/migrate-user-from-auth0-to-firebase.ts b/cli/migrate-user-from-auth0-to-firebase.ts | |
new file mode 100644 | |
index 0000000..2daa70e | |
--- /dev/null | |
+++ b/cli/migrate-user-from-auth0-to-firebase.ts | |
@@ -0,0 +1,72 @@ | |
+import { ArgumentParser } from 'argparse'; | |
+import { hashSync } from 'bcrypt'; | |
+import { initFirebase } from '../src/authentication/firebase/helpers'; | |
+import * as firebaseAdmin from 'firebase-admin'; |
diff --git a/package.json b/package.json | |
index 6075c4c..da958f0 100644 | |
--- a/package.json | |
+++ b/package.json | |
@@ -26,6 +26,7 @@ | |
"@types/react": "^16.9.13", | |
"@types/react-dom": "^16.9.4", | |
"@types/react-jss": "^10.0.0", | |
+ "@types/react-router-dom": "^5.1.3", | |
"@types/terser-webpack-plugin": "^2.2.0", |
/* use with https://github.com/menduz/node-ebnf Custom grammar */ | |
{ ws=implicit } | |
MojomFile ::= StatementList | |
StatementList ::= Statement* | |
Statement ::= ModuleStatement | ImportStatement | Definition | |
ModuleStatement ::= AttributeSection? "module" WS+ Identifier ";" | |
ImportStatement ::= "import" WS+ StringLiteral ";" | |
Definition ::= Struct | Union | Interface | Enum | Const |
math.mojom
is the definition of the servicemath.ts
is auto-generated code based on Mojo definition: it gives a stub and a type definition of an implementationmathImpl.ts
is an actual implementation of Math service.mathRPC.ts
is the necessary code to call a remote implementation of Math service via JSON-RPC (using a RPCPeer). It can be auto-generated as well.In the best world, dev just have to define math.mojom
and implement mathImpl.ts
, the logic of the service. The rest is code-generated.
// StorageService.proto
service StorageService {
rpc readKey(ReadRequest) returns (ReadReply) {}
}
message ReadRequest {
string type;
string key;
}
const client = require('native-messaging-client'); | |
// will look thru all the possible app manifest location | |
// and return the first manifest for the given app name | |
const manifest = await client.findNativeMessagingHost('app_name'); | |
const messagingPort = new client.MessagingPort(manifest); | |
// will run the executbale, do the handshaek (?) and so on | |
await messagingPort.connect(); |