UNPKG

@yodata/context-sdk

Version:

tools for developing and publishing yodata-context (cdef.yaml) files.

92 lines (65 loc) 2.13 kB
# @yodata/context-sdk Developer tools for managing yodata context/view yaml files. ## Context (cdef.yaml) Syntax ```yaml $schema: 'https://realestate.yodata.me/context/v1/schema.yaml' $id: 'https://pod.example.com/public/context/{{name}}.yaml' context: sourcekey: targetkey view: destkey: selector ``` See the [@yodata/transform documentation](https://github.com/Yodata/yodata/tree/master/packages/transform) for more info ## CLI commands ## create-yodata-context ```bash $ npx create-yodata-context ? project name my-context ? project description my awesome context ? validationSchema: https://realestate.yodata.me/context/v1/schema.yaml ? service pod URL https://user.example.com ? pod secret (x-api-key) secret Done. - see your context README.md for some helpful information on context development: open my-context/README.md $ cd my-context ``` This command creates a new sub-directory and scaffolds a context project. ## template files ```bash . ├── README.md ├── __tests__ │   └── my-context.test.js ├── example │   ├── input.json │   └── output.json ├── my-context.cdef.yaml └── package.json ``` ## Deploy ```sh > npx deploy # deploys to {{pod.url}}/public/context/{{environment}}/{{name}}.cdef.yaml # @default environment = stage ``` This command will http.put your context to the default location (stage) ### deploy options ### --production ```sh > npx deploy --production # deploys to {{pod.url}}/public/context/{{name}}.cdef.yaml ``` ## Transform ```sh > npx transform <datapath> <filepath> [--inverse] # @param {string} datapath - path to the file to be transformed # @param {string} filepath - path to the context file ({{name}}.cdef.yaml) # @default filepath = {{name}}.cdef.yaml # @param {boolean} inverse - flag (use for testing outbound transforms (subscriptions)) ``` This command will: 1. Fetch and parse the context from filepath 2. Fetch and parse the JSON or YAML data from datapath 3. Transform data with the context provided 4. Print the result and/or any errors to console