@sanity/runtime-cli 1.5.0 → 1.8.0

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.
Files changed (57) hide show
  1. package/README.md +184 -122
  2. package/dist/actions/blueprints/blueprint.d.ts +24 -7
  3. package/dist/actions/blueprints/blueprint.js +114 -58
  4. package/dist/actions/blueprints/logs.d.ts +3 -0
  5. package/dist/actions/blueprints/logs.js +24 -0
  6. package/dist/actions/blueprints/projects.d.ts +5 -0
  7. package/dist/actions/blueprints/projects.js +21 -0
  8. package/dist/actions/blueprints/resources.d.ts +13 -0
  9. package/dist/actions/blueprints/resources.js +37 -0
  10. package/dist/actions/blueprints/stacks.js +1 -1
  11. package/dist/commands/blueprints/add.d.ts +10 -0
  12. package/dist/commands/blueprints/add.js +67 -0
  13. package/dist/commands/blueprints/config.d.ts +9 -0
  14. package/dist/commands/blueprints/config.js +72 -0
  15. package/dist/commands/blueprints/deploy.js +13 -12
  16. package/dist/commands/blueprints/info.js +1 -1
  17. package/dist/commands/blueprints/init.d.ts +6 -0
  18. package/dist/commands/blueprints/init.js +56 -0
  19. package/dist/commands/blueprints/logs.js +24 -64
  20. package/dist/commands/blueprints/stacks.js +3 -15
  21. package/dist/commands/functions/invoke.d.ts +1 -1
  22. package/dist/commands/functions/invoke.js +9 -7
  23. package/dist/commands/functions/logs.d.ts +1 -1
  24. package/dist/commands/functions/logs.js +21 -12
  25. package/dist/commands/functions/test.d.ts +1 -1
  26. package/dist/commands/functions/test.js +25 -16
  27. package/dist/config.d.ts +1 -0
  28. package/dist/config.js +10 -4
  29. package/dist/server/app.js +2 -2
  30. package/dist/server/static/api.js +43 -38
  31. package/dist/server/static/components/api-base.js +7 -6
  32. package/dist/server/static/components/function-list.js +48 -44
  33. package/dist/server/static/components/network-spinner.js +7 -6
  34. package/dist/server/static/components/payload-panel.js +36 -32
  35. package/dist/server/static/components/response-panel.js +64 -50
  36. package/dist/server/static/vendor/vendor.bundle.js +1029 -913
  37. package/dist/utils/display/blueprints-formatting.d.ts +3 -1
  38. package/dist/utils/display/blueprints-formatting.js +27 -2
  39. package/dist/utils/display/logs-formatting.d.ts +5 -0
  40. package/dist/utils/display/logs-formatting.js +50 -0
  41. package/dist/utils/find-function.d.ts +2 -0
  42. package/dist/utils/find-function.js +6 -0
  43. package/dist/utils/types.d.ts +0 -1
  44. package/oclif.manifest.json +120 -31
  45. package/package.json +14 -10
  46. package/dist/server/static/static/api.js +0 -53
  47. package/dist/server/static/static/components/api-base.js +0 -10
  48. package/dist/server/static/static/components/function-list.js +0 -54
  49. package/dist/server/static/static/components/network-spinner.js +0 -71
  50. package/dist/server/static/static/components/payload-panel.js +0 -45
  51. package/dist/server/static/static/components/response-panel.js +0 -83
  52. package/dist/server/static/static/vendor/vendor.bundle.js +0 -26879
  53. package/dist/utils/spinner.d.ts +0 -9
  54. package/dist/utils/spinner.js +0 -25
  55. /package/dist/server/static/{static/components → components}/app.css +0 -0
  56. /package/dist/server/static/{static/index.html → index.html} +0 -0
  57. /package/dist/server/static/{static/sanity-logo-sm.svg → sanity-logo-sm.svg} +0 -0
@@ -60,11 +60,12 @@ const template = `<style>
60
60
  <svg part="base" class="spinner" role="progressbar" aria-label="loading">
61
61
  <circle class="spinner__track"></circle>
62
62
  <circle class="spinner__indicator"></circle>
63
- </svg>`;
63
+ </svg>`
64
+
64
65
  class NetworkSpinner extends HTMLElement {
65
- connectedCallback() {
66
- this.innerHTML = template;
67
- }
66
+ connectedCallback() {
67
+ this.innerHTML = template
68
+ }
68
69
  }
69
- customElements.define('network-spinner', NetworkSpinner);
70
- export {};
70
+
71
+ customElements.define('network-spinner', NetworkSpinner)
@@ -1,41 +1,45 @@
1
1
  /* globals customElements */
2
- import { EditorView, basicSetup, json } from '../vendor/vendor.bundle.js';
3
- import { ApiBaseElement } from './api-base.js';
2
+ import {EditorView, basicSetup, json} from '../vendor/vendor.bundle.js'
3
+ import {ApiBaseElement} from './api-base.js'
4
+
4
5
  const template = `<m-box>
5
6
  <h2 class="mar-t-0">Payload</h2>
6
7
  <div id="payload" name="payload"></div>
7
8
  <button ord="primary" class="mar-t-sm sanity-button">Invoke</button>
8
9
  </m-box>
9
- `;
10
+ `
10
11
  class PayloadPanel extends ApiBaseElement {
11
- invoke = () => {
12
- const payloadText = this.api.store.payload.state.doc.text.join('') || '{}';
13
- this.api.invoke(payloadText);
14
- };
15
- updateButtonText = ({ inprogress }) => {
16
- if (inprogress) {
17
- this.button.setAttribute('disabled', '');
18
- this.button.innerHTML = '<network-spinner></network-spinner>';
19
- }
20
- else {
21
- this.button.removeAttribute('disabled');
22
- this.button.innerText = 'Invoke';
23
- }
24
- };
25
- connectedCallback() {
26
- this.innerHTML = template;
27
- this.payload = this.querySelector('#payload');
28
- this.button = this.querySelector('button');
29
- this.button.addEventListener('click', this.invoke);
30
- this.api.subscribe(this.updateButtonText, ['inprogress']);
31
- this.api.store.payload = new EditorView({
32
- doc: '\n\n\n\n',
33
- extensions: [basicSetup, json()],
34
- parent: this.payload,
35
- });
36
- }
37
- disconnectedCallback() {
38
- this.button.removeEventListener('click', this.invoke);
12
+ invoke = () => {
13
+ const payloadText = this.api.store.payload.state.doc.text.join('') || '{}'
14
+ this.api.invoke(payloadText)
15
+ }
16
+ updateButtonText = ({inprogress}) => {
17
+ if (inprogress) {
18
+ this.button.setAttribute('disabled', '')
19
+ this.button.innerHTML = '<network-spinner></network-spinner>'
20
+ } else {
21
+ this.button.removeAttribute('disabled')
22
+ this.button.innerText = 'Invoke'
39
23
  }
24
+ }
25
+
26
+ connectedCallback() {
27
+ this.innerHTML = template
28
+ this.payload = this.querySelector('#payload')
29
+ this.button = this.querySelector('button')
30
+ this.button.addEventListener('click', this.invoke)
31
+ this.api.subscribe(this.updateButtonText, ['inprogress'])
32
+
33
+ this.api.store.payload = new EditorView({
34
+ doc: '\n\n\n\n',
35
+ extensions: [basicSetup, json()],
36
+ parent: this.payload,
37
+ })
38
+ }
39
+
40
+ disconnectedCallback() {
41
+ this.button.removeEventListener('click', this.invoke)
42
+ }
40
43
  }
41
- customElements.define('payload-panel', PayloadPanel);
44
+
45
+ customElements.define('payload-panel', PayloadPanel)
@@ -1,7 +1,15 @@
1
1
  /* eslint-disable unicorn/prefer-dom-node-text-content */
2
2
  /* globals customElements document */
3
- import { EditorState, EditorView, basicSetup, json, prettyBytes, prettyMilliseconds, } from '../vendor/vendor.bundle.js';
4
- import { ApiBaseElement } from './api-base.js';
3
+ import {
4
+ EditorState,
5
+ EditorView,
6
+ basicSetup,
7
+ json,
8
+ prettyBytes,
9
+ prettyMilliseconds,
10
+ } from '../vendor/vendor.bundle.js'
11
+ import {ApiBaseElement} from './api-base.js'
12
+
5
13
  const template = `<m-box>
6
14
  <m-tabs role="tablist">
7
15
  <button id="a" role="tab" aria-selected="true">Response</button>
@@ -15,55 +23,61 @@ const template = `<m-box>
15
23
  </div>
16
24
  <div role="tabpanel" data-tab-id="b" class="pad-t-sm" hidden><pre></pre></div>
17
25
  </m-box>
18
- `;
26
+ `
19
27
  class ResponsePanel extends ApiBaseElement {
20
- switchTab = (e) => {
21
- const selectedTabId = e.target.closest('[role=tab]').id;
22
- // Select the tab and its panel
23
- for (const tab of e.currentTarget.querySelectorAll('[role=tab]')) {
24
- tab.ariaSelected = tab.id === selectedTabId;
25
- }
26
- for (const panel of document.querySelectorAll('[role=tabpanel')) {
27
- panel.hidden = panel.dataset.tabId !== selectedTabId;
28
- }
29
- };
30
- updateResponse = ({ result }) => {
31
- const { error, json, logs, time } = result;
32
- if (!error) {
33
- const transaction = this.api.store.response.state.update({
34
- changes: {
35
- from: 0,
36
- insert: JSON.stringify(json, null, 2),
37
- to: this.api.store.response.state.doc.length,
38
- },
39
- });
40
- this.api.store.response.dispatch(transaction);
41
- this.size.innerText = json ? prettyBytes(JSON.stringify(json).length) : '';
42
- this.time.innerText = prettyMilliseconds(time);
43
- this.consoleTab.innerText = logs;
44
- }
45
- else {
46
- this.consoleTab.innerText = error?.details?.error;
47
- }
48
- };
49
- connectedCallback() {
50
- this.innerHTML = template;
51
- this.response = this.querySelector('#response');
52
- this.size = this.querySelector('#size');
53
- this.time = this.querySelector('#time');
54
- this.consoleTab = this.querySelector('pre');
55
- this.tabs = this.querySelector('m-tabs');
56
- this.tabs.addEventListener('click', this.switchTab);
57
- this.api.subscribe(this.updateResponse, ['result']);
58
- this.api.store.response = new EditorView({
59
- doc: '\n\n\n\n',
60
- extensions: [basicSetup, json(), EditorState.readOnly.of(true)],
61
- parent: this.response,
62
- });
28
+ switchTab = (e) => {
29
+ const selectedTabId = e.target.closest('[role=tab]').id
30
+
31
+ // Select the tab and its panel
32
+ for (const tab of e.currentTarget.querySelectorAll('[role=tab]')) {
33
+ tab.ariaSelected = tab.id === selectedTabId
63
34
  }
64
- disconnectedCallback() {
65
- this.tabs.removeEventListener('click', this.switchTab);
66
- this.api.unsubscribe(this.updateResponse);
35
+
36
+ for (const panel of document.querySelectorAll('[role=tabpanel')) {
37
+ panel.hidden = panel.dataset.tabId !== selectedTabId
67
38
  }
39
+ }
40
+ updateResponse = ({result}) => {
41
+ const {error, json, logs, time} = result
42
+ if (!error) {
43
+ const transaction = this.api.store.response.state.update({
44
+ changes: {
45
+ from: 0,
46
+ insert: JSON.stringify(json, null, 2),
47
+ to: this.api.store.response.state.doc.length,
48
+ },
49
+ })
50
+ this.api.store.response.dispatch(transaction)
51
+
52
+ this.size.innerText = json ? prettyBytes(JSON.stringify(json).length) : ''
53
+ this.time.innerText = prettyMilliseconds(time)
54
+ this.consoleTab.innerText = logs
55
+ } else {
56
+ this.consoleTab.innerText = error?.details?.error
57
+ }
58
+ }
59
+
60
+ connectedCallback() {
61
+ this.innerHTML = template
62
+ this.response = this.querySelector('#response')
63
+ this.size = this.querySelector('#size')
64
+ this.time = this.querySelector('#time')
65
+ this.consoleTab = this.querySelector('pre')
66
+ this.tabs = this.querySelector('m-tabs')
67
+ this.tabs.addEventListener('click', this.switchTab)
68
+ this.api.subscribe(this.updateResponse, ['result'])
69
+
70
+ this.api.store.response = new EditorView({
71
+ doc: '\n\n\n\n',
72
+ extensions: [basicSetup, json(), EditorState.readOnly.of(true)],
73
+ parent: this.response,
74
+ })
75
+ }
76
+
77
+ disconnectedCallback() {
78
+ this.tabs.removeEventListener('click', this.switchTab)
79
+ this.api.unsubscribe(this.updateResponse)
80
+ }
68
81
  }
69
- customElements.define('response-panel', ResponsePanel);
82
+
83
+ customElements.define('response-panel', ResponsePanel)