sanity-plugin-dashboard-widget-netlify 1.2.0 → 1.3.1
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.
- package/LICENSE +1 -1
- package/README.md +12 -1
- package/dist/components/NetlifyWidget.js +5 -2
- package/dist/components/NetlifyWidget.js.map +1 -1
- package/dist/components/SiteItem/index.js +9 -7
- package/dist/components/SiteItem/index.js.map +1 -1
- package/dist/http/utils/createAbortController.js.map +1 -1
- package/dist/props.js +3 -2
- package/dist/props.js.map +1 -1
- package/package.json +9 -2
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -61,7 +61,8 @@ To get dashboard support in Sanity Studio in general:
|
|
|
61
61
|
- `buildHookId` - The id of a build hook you have created for your site within the Netlify administration panel (see *Site Settings > Build & Deploy > Continuous Deployment -> Build Hooks*).
|
|
62
62
|
- `name` - The Netlify site name
|
|
63
63
|
- `title` - Override the site name with a custom title
|
|
64
|
-
- `url` - Optionally override site deployment url. By default it is inferred to be `https://netlify-site-name
|
|
64
|
+
- `url` - Optionally override site deployment url. By default it is inferred to be `https://netlify-site-name.netlify.app`.
|
|
65
|
+
- `branch` - Optionally pass the name of a branch to deploy
|
|
65
66
|
|
|
66
67
|
## Developing on this module
|
|
67
68
|
|
|
@@ -86,3 +87,13 @@ To simulate using your development version as a real module inside a studio, you
|
|
|
86
87
|
* Start the studio
|
|
87
88
|
|
|
88
89
|
When you are done and have published your new version, you can run `npm unlink` inside this repo, and `npm unlink sanity-plugin-dashboard-widget-netlify` inside the mono-repo or studio to get back to the normal state. Then run `npm run bootstrap` for the mono-repo or `npm install` inside the regular studio to use the published version.
|
|
90
|
+
|
|
91
|
+
## Developing plugin kit
|
|
92
|
+
|
|
93
|
+
### Release new version
|
|
94
|
+
|
|
95
|
+
Run ["CI & Release" workflow](https://github.com/sanity-io/sanity-plugin-dashboard-widget-netlify/actions/workflows/main.yml).
|
|
96
|
+
Make sure to select the main (or v3) branch and check "Release new version".
|
|
97
|
+
|
|
98
|
+
Semantic release will only release on configured branches, so it is safe to run release on any branch.
|
|
99
|
+
|
|
@@ -53,14 +53,17 @@ function NetlifyWidget(props) {
|
|
|
53
53
|
}, /*#__PURE__*/_react.default.createElement(ContentCard, {
|
|
54
54
|
paddingY: 1
|
|
55
55
|
}, description && /*#__PURE__*/_react.default.createElement(_ui.Box, {
|
|
56
|
-
paddingY:
|
|
56
|
+
paddingY: 3,
|
|
57
57
|
paddingX: 3
|
|
58
58
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
59
59
|
as: "p",
|
|
60
|
+
size: 1,
|
|
61
|
+
muted: true
|
|
62
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
60
63
|
dangerouslySetInnerHTML: {
|
|
61
64
|
__html: description
|
|
62
65
|
}
|
|
63
|
-
})), /*#__PURE__*/_react.default.createElement(_SiteList.default, {
|
|
66
|
+
}))), /*#__PURE__*/_react.default.createElement(_SiteList.default, {
|
|
64
67
|
isLoading: isLoading,
|
|
65
68
|
onDeploy: onDeploy,
|
|
66
69
|
sites: sites
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/NetlifyWidget.tsx"],"names":["ContentCard","Card","NetlifyWidget","props","netlifySitesUrl","title","description","isLoading","sites","onDeploy","footer","undefined","__html"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,WAAW,GAAG,+BAAOC,QAAP,CAAH,4FAAjB;;AAIe,SAASC,aAAT,CAAuBC,KAAvB,EAAqC;AAClD,MAAMC,eAAe,GAAG,uCAAxB;AADkD,MAE3CC,KAF2C,GAEOF,KAFP,CAE3CE,KAF2C;AAAA,MAEpCC,WAFoC,GAEOH,KAFP,CAEpCG,WAFoC;AAAA,MAEvBC,SAFuB,GAEOJ,KAFP,CAEvBI,SAFuB;AAAA,MAEZC,KAFY,GAEOL,KAFP,CAEZK,KAFY;AAAA,MAELC,QAFK,GAEON,KAFP,CAELM,QAFK;;AAIlD,MAAMC,MAAM,gBACV,6BAAC,QAAD;AAAM,IAAA,SAAS,EAAC,QAAhB;AAAyB,IAAA,KAAK,EAAC;AAA/B,kBACE,6BAAC,UAAD;AACE,IAAA,EAAE,EAAC,GADL;AAEE,IAAA,IAAI,EAAEH,SAAS,GAAGI,SAAH,GAAeP,eAFhC;AAGE,IAAA,QAAQ,EAAEG,SAHZ;AAIE,IAAA,QAAQ,EAAE,CAJZ;AAKE,IAAA,QAAQ,EAAE,CALZ;AAME,IAAA,IAAI,EAAC,OANP;AAOE,IAAA,IAAI,EAAC,SAPP;AAQE,IAAA,IAAI,EAAC,yBARP;AASE,IAAA,OAAO,EAAEA,SATX;AAUE,IAAA,MAAM,EAAC;AAVT,IADF,CADF;;AAiBA,sBACE,6BAAC,0BAAD;AAAiB,IAAA,MAAM,EAAEF,KAAzB;AAAgC,IAAA,MAAM,EAAEK;AAAxC,kBACE,6BAAC,WAAD;AAAa,IAAA,QAAQ,EAAE;AAAvB,KACGJ,WAAW,iBACV,6BAAC,OAAD;AAAK,IAAA,QAAQ,EAAE,CAAf;AAAkB,IAAA,QAAQ,EAAE;AAA5B,kBAA+B,6BAAC,QAAD;AAAM,IAAA,EAAE,EAAC,GAAT;AAAa,IAAA,uBAAuB,EAAE;AAACM,MAAAA,MAAM,EAAEN;AAAT;
|
|
1
|
+
{"version":3,"sources":["../../src/components/NetlifyWidget.tsx"],"names":["ContentCard","Card","NetlifyWidget","props","netlifySitesUrl","title","description","isLoading","sites","onDeploy","footer","undefined","__html"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,WAAW,GAAG,+BAAOC,QAAP,CAAH,4FAAjB;;AAIe,SAASC,aAAT,CAAuBC,KAAvB,EAAqC;AAClD,MAAMC,eAAe,GAAG,uCAAxB;AADkD,MAE3CC,KAF2C,GAEOF,KAFP,CAE3CE,KAF2C;AAAA,MAEpCC,WAFoC,GAEOH,KAFP,CAEpCG,WAFoC;AAAA,MAEvBC,SAFuB,GAEOJ,KAFP,CAEvBI,SAFuB;AAAA,MAEZC,KAFY,GAEOL,KAFP,CAEZK,KAFY;AAAA,MAELC,QAFK,GAEON,KAFP,CAELM,QAFK;;AAIlD,MAAMC,MAAM,gBACV,6BAAC,QAAD;AAAM,IAAA,SAAS,EAAC,QAAhB;AAAyB,IAAA,KAAK,EAAC;AAA/B,kBACE,6BAAC,UAAD;AACE,IAAA,EAAE,EAAC,GADL;AAEE,IAAA,IAAI,EAAEH,SAAS,GAAGI,SAAH,GAAeP,eAFhC;AAGE,IAAA,QAAQ,EAAEG,SAHZ;AAIE,IAAA,QAAQ,EAAE,CAJZ;AAKE,IAAA,QAAQ,EAAE,CALZ;AAME,IAAA,IAAI,EAAC,OANP;AAOE,IAAA,IAAI,EAAC,SAPP;AAQE,IAAA,IAAI,EAAC,yBARP;AASE,IAAA,OAAO,EAAEA,SATX;AAUE,IAAA,MAAM,EAAC;AAVT,IADF,CADF;;AAiBA,sBACE,6BAAC,0BAAD;AAAiB,IAAA,MAAM,EAAEF,KAAzB;AAAgC,IAAA,MAAM,EAAEK;AAAxC,kBACE,6BAAC,WAAD;AAAa,IAAA,QAAQ,EAAE;AAAvB,KACGJ,WAAW,iBACV,6BAAC,OAAD;AAAK,IAAA,QAAQ,EAAE,CAAf;AAAkB,IAAA,QAAQ,EAAE;AAA5B,kBAA+B,6BAAC,QAAD;AAAM,IAAA,EAAE,EAAC,GAAT;AAAa,IAAA,IAAI,EAAE,CAAnB;AAAsB,IAAA,KAAK;AAA3B,kBAA4B;AAAM,IAAA,uBAAuB,EAAE;AAACM,MAAAA,MAAM,EAAEN;AAAT;AAA/B,IAA5B,CAA/B,CAFJ,eAIE,6BAAC,iBAAD;AAAU,IAAA,SAAS,EAAEC,SAArB;AAAgC,IAAA,QAAQ,EAAEE,QAA1C;AAAoD,IAAA,KAAK,EAAED;AAA3D,IAJF,CADF,CADF;AAUD","sourcesContent":["import React from 'react'\nimport {Props} from '../types'\nimport SiteList from './SiteList'\nimport {DashboardWidget} from '@sanity/dashboard'\nimport styled from 'styled-components'\nimport {Button, Flex, Card, Text, Box} from '@sanity/ui'\n\nconst ContentCard = styled(Card)`\n min-height: 66px;\n`\n\nexport default function NetlifyWidget(props: Props) {\n const netlifySitesUrl = 'https://app.netlify.com/account/sites'\n const {title, description, isLoading, sites, onDeploy} = props\n\n const footer = (\n <Flex direction=\"column\" align=\"stretch\">\n <Button\n as=\"a\"\n href={isLoading ? undefined : netlifySitesUrl}\n disabled={isLoading}\n paddingX={2}\n paddingY={4}\n mode=\"bleed\"\n tone=\"primary\"\n text=\"Manage sites at Netlify\"\n loading={isLoading}\n target=\"_blank\"\n />\n </Flex>\n )\n\n return (\n <DashboardWidget header={title} footer={footer}>\n <ContentCard paddingY={1}>\n {description && (\n <Box paddingY={3} paddingX={3}><Text as=\"p\" size={1} muted><span dangerouslySetInnerHTML={{__html: description}} /></Text></Box>\n )}\n <SiteList isLoading={isLoading} onDeploy={onDeploy} sites={sites} />\n </ContentCard>\n </DashboardWidget>\n )\n}\n"],"file":"NetlifyWidget.js"}
|
|
@@ -32,19 +32,20 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
32
32
|
var IMAGE_PULL_INTERVAL = 10000;
|
|
33
33
|
exports.IMAGE_PULL_INTERVAL = IMAGE_PULL_INTERVAL;
|
|
34
34
|
|
|
35
|
-
var getImageUrl = siteId => {
|
|
35
|
+
var getImageUrl = (siteId, branchName) => {
|
|
36
36
|
var baseUrl = "https://api.netlify.com/api/v1/badges/".concat(siteId, "/deploy-status");
|
|
37
37
|
var time = new Date().getTime();
|
|
38
|
-
|
|
38
|
+
var branch = "branch=".concat(branchName);
|
|
39
|
+
return branchName ? "".concat(baseUrl, "?").concat(time, "&").concat(branch) : "".concat(baseUrl, "?").concat(time);
|
|
39
40
|
};
|
|
40
41
|
|
|
41
|
-
var useBadgeImage = siteId => {
|
|
42
|
-
var _useState = (0, _react.useState)(() => getImageUrl(siteId)),
|
|
42
|
+
var useBadgeImage = (siteId, branchName) => {
|
|
43
|
+
var _useState = (0, _react.useState)(() => getImageUrl(siteId, branchName)),
|
|
43
44
|
_useState2 = _slicedToArray(_useState, 2),
|
|
44
45
|
src = _useState2[0],
|
|
45
46
|
setSrc = _useState2[1];
|
|
46
47
|
|
|
47
|
-
var update = (0, _react.useCallback)(() => setSrc(getImageUrl(siteId)), [siteId]);
|
|
48
|
+
var update = (0, _react.useCallback)(() => setSrc(getImageUrl(siteId, branchName)), [siteId]);
|
|
48
49
|
(0, _react.useEffect)(() => {
|
|
49
50
|
var interval = window.setInterval(update, IMAGE_PULL_INTERVAL);
|
|
50
51
|
return () => window.clearInterval(interval);
|
|
@@ -74,9 +75,10 @@ var SiteItem = props => {
|
|
|
74
75
|
title = site.title,
|
|
75
76
|
url = site.url,
|
|
76
77
|
adminUrl = site.adminUrl,
|
|
77
|
-
buildHookId = site.buildHookId
|
|
78
|
+
buildHookId = site.buildHookId,
|
|
79
|
+
branch = site.branch;
|
|
78
80
|
|
|
79
|
-
var _useBadgeImage = useBadgeImage(id),
|
|
81
|
+
var _useBadgeImage = useBadgeImage(id, branch),
|
|
80
82
|
_useBadgeImage2 = _slicedToArray(_useBadgeImage, 2),
|
|
81
83
|
badge = _useBadgeImage2[0],
|
|
82
84
|
updateBadge = _useBadgeImage2[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SiteItem/index.tsx"],"names":["IMAGE_PULL_INTERVAL","getImageUrl","siteId","baseUrl","time","Date","getTime","useBadgeImage","src","setSrc","update","interval","window","setInterval","clearInterval","useDeploy","site","onDeploy","updateBadge","timeoutRef","clearTimeout","current","setTimeout","SiteItem","props","hasBadgeError","setHasBadgeError","id","name","title","url","adminUrl","buildHookId","badge","handleDeploy","handleBadgeError"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;AAOO,IAAMA,mBAAmB,GAAG,KAA5B;;;AAEP,IAAMC,WAAW,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SiteItem/index.tsx"],"names":["IMAGE_PULL_INTERVAL","getImageUrl","siteId","branchName","baseUrl","time","Date","getTime","branch","useBadgeImage","src","setSrc","update","interval","window","setInterval","clearInterval","useDeploy","site","onDeploy","updateBadge","timeoutRef","clearTimeout","current","setTimeout","SiteItem","props","hasBadgeError","setHasBadgeError","id","name","title","url","adminUrl","buildHookId","badge","handleDeploy","handleBadgeError"],"mappings":"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","sourcesContent":["import React, {FunctionComponent, useCallback, useEffect, useRef, useState} from 'react'\nimport {Button, Flex, Box, Card, Text, Stack, Label} from '@sanity/ui'\nimport {DeployAction, Site} from '../../types'\nimport Links from './Links'\n\ninterface Props {\n site: Site\n onDeploy: DeployAction\n}\n\nexport const IMAGE_PULL_INTERVAL = 10000\n\nconst getImageUrl = (siteId: string, branchName?: string) => {\n const baseUrl = `https://api.netlify.com/api/v1/badges/${siteId}/deploy-status`\n const time = new Date().getTime()\n const branch = `branch=${branchName}`\n\n return branchName ? `${baseUrl}?${time}&${branch}` : `${baseUrl}?${time}`\n}\n\nconst useBadgeImage = (siteId: string, branchName?: string ) => {\n const [src, setSrc] = useState(() => getImageUrl(siteId, branchName))\n const update = useCallback(() => setSrc(getImageUrl(siteId, branchName)), [siteId])\n\n useEffect(() => {\n const interval = window.setInterval(update, IMAGE_PULL_INTERVAL)\n return () => window.clearInterval(interval)\n }, [update])\n\n return [src, update] as const\n}\n\nconst useDeploy = (site: Site, onDeploy: DeployAction, updateBadge: () => void) => {\n const timeoutRef = useRef(-1)\n useEffect(() => () => window.clearTimeout(timeoutRef.current), [])\n\n return useCallback(() => {\n onDeploy(site)\n timeoutRef.current = window.setTimeout(updateBadge, 1000)\n }, [site, onDeploy, updateBadge])\n}\n\nconst SiteItem: FunctionComponent<Props> = (props) => {\n const [hasBadgeError, setHasBadgeError] = useState(false)\n const {site, onDeploy} = props\n const {id, name, title, url, adminUrl, buildHookId, branch} = site\n\n const [badge, updateBadge] = useBadgeImage(id, branch)\n const handleDeploy = useDeploy(site, onDeploy, updateBadge)\n const handleBadgeError = () => {\n setHasBadgeError(true)\n }\n\n return (\n <Flex as=\"li\">\n <Box flex={1} paddingY={2} paddingX={3}>\n <Stack space={2}>\n <Text as=\"h4\">\n {title || name}\n <Links url={url} adminUrl={adminUrl} />\n </Text>\n\n <Flex justify=\"flex-start\">\n {!hasBadgeError && <img src={badge} onError={handleBadgeError} alt=\"Badge\" />}\n {hasBadgeError && <Card tone=\"critical\" radius={2} padding={2}><Label size={0} muted>Failed to load badge</Label></Card>}\n </Flex>\n </Stack>\n </Box>\n\n {buildHookId ? (\n <Box paddingY={2} paddingX={3}>\n <Button mode=\"ghost\" onClick={handleDeploy} text=\"Deploy\" />\n </Box>\n ) : null}\n </Flex>\n )\n}\n\nexport default SiteItem\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/http/utils/createAbortController.ts"],"names":["createAbortController","window","AbortControllerPolyfill","AbortController"],"mappings":";;;;;;;AAAA;;;;AAEO,IAAMA,qBAAqB,GAAG,MAAuB;AAC1D,MAAI,EAAE,qBAAqBC,MAAvB,CAAJ,EAAoC;AAClC,WAAO,IAAIC,wBAAJ,EAAP;AACD;;AACD,SAAO,IAAIC,eAAJ,EAAP;AACD,CALM","sourcesContent":["import AbortControllerPolyfill from 'abort-controller'\n\nexport const createAbortController = (): AbortController => {\n if (!('AbortController' in window)) {\n return new AbortControllerPolyfill()\n }\n return new AbortController()\n}\n"],"file":"createAbortController.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/http/utils/createAbortController.ts"],"names":["createAbortController","window","AbortControllerPolyfill","AbortController"],"mappings":";;;;;;;AAAA;;;;AAEO,IAAMA,qBAAqB,GAAG,MAAuB;AAC1D,MAAI,EAAE,qBAAqBC,MAAvB,CAAJ,EAAoC;AAClC,WAAO,IAAIC,wBAAJ,EAAP;AACD;;AACD,SAAO,IAAIC,eAAJ,EAAP;AACD,CALM","sourcesContent":["import AbortControllerPolyfill from 'abort-controller'\n\nexport const createAbortController = (): AbortController => {\n if (!('AbortController' in window)) {\n return new AbortControllerPolyfill() as AbortController\n }\n return new AbortController()\n}\n"],"file":"createAbortController.js"}
|
package/dist/props.js
CHANGED
|
@@ -48,8 +48,9 @@ var props$ = options => {
|
|
|
48
48
|
name: site.name,
|
|
49
49
|
title: site.title,
|
|
50
50
|
buildHookId: site.buildHookId,
|
|
51
|
-
url: site.url || site.name && "https://".concat(site.name, ".netlify.app/"),
|
|
52
|
-
adminUrl: site.name && "https://app.netlify.com/sites/".concat(site.name)
|
|
51
|
+
url: site.url || site.branch && "https://".concat(site.branch, "--").concat(site.name, ".netlify.app/") || site.name && "https://".concat(site.name, ".netlify.app/"),
|
|
52
|
+
adminUrl: site.name && "https://app.netlify.com/sites/".concat(site.name),
|
|
53
|
+
branch: site.branch
|
|
53
54
|
}));
|
|
54
55
|
|
|
55
56
|
var _createEventHandler = (0, _reactPropsStream.createEventHandler)(),
|
package/dist/props.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/props.ts"],"names":["noop","undefined","INITIAL_PROPS","title","sites","isLoading","onDeploy","props$","options","configuredSites","map","site","id","apiId","name","buildHookId","url","adminUrl","onDeploy$","setSitesAction$","pipe","type","deployAction$","deployResult$","deployCompletedAction$","result","error","stateReducer$","subscribe","description"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,IAAI,GAAG,MAAMC,SAAnB;;AAEA,IAAMC,aAAa,GAAG;AACpBC,EAAAA,KAAK,EAAE,eADa;AAEpBC,EAAAA,KAAK,EAAE,EAFa;AAGpBC,EAAAA,SAAS,EAAE,IAHS;AAIpBC,EAAAA,QAAQ,EAAEN;AAJU,CAAtB,C,CAOA;;AACO,IAAMO,MAAM,GAAIC,OAAD,IAA4B;AAChD,MAAMC,eAAe,GAAG,CAACD,OAAO,CAACJ,KAAR,IAAiB,EAAlB,EAAsBM,GAAtB,CAA2BC,IAAD,KAAW;AAC3DC,IAAAA,EAAE,EAAED,IAAI,CAACE,KADkD;AAE3DC,IAAAA,IAAI,EAAEH,IAAI,CAACG,IAFgD;AAG3DX,IAAAA,KAAK,EAAEQ,IAAI,CAACR,KAH+C;AAI3DY,IAAAA,WAAW,EAAEJ,IAAI,CAACI,WAJyC;AAK3DC,IAAAA,GAAG,EAAEL,IAAI,CAACK,GAAL,IAAaL,IAAI,CAACG,IAAL,sBAAwBH,IAAI,CAACG,IAA7B,
|
|
1
|
+
{"version":3,"sources":["../src/props.ts"],"names":["noop","undefined","INITIAL_PROPS","title","sites","isLoading","onDeploy","props$","options","configuredSites","map","site","id","apiId","name","buildHookId","url","branch","adminUrl","onDeploy$","setSitesAction$","pipe","type","deployAction$","deployResult$","deployCompletedAction$","result","error","stateReducer$","subscribe","description"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,IAAI,GAAG,MAAMC,SAAnB;;AAEA,IAAMC,aAAa,GAAG;AACpBC,EAAAA,KAAK,EAAE,eADa;AAEpBC,EAAAA,KAAK,EAAE,EAFa;AAGpBC,EAAAA,SAAS,EAAE,IAHS;AAIpBC,EAAAA,QAAQ,EAAEN;AAJU,CAAtB,C,CAOA;;AACO,IAAMO,MAAM,GAAIC,OAAD,IAA4B;AAChD,MAAMC,eAAe,GAAG,CAACD,OAAO,CAACJ,KAAR,IAAiB,EAAlB,EAAsBM,GAAtB,CAA2BC,IAAD,KAAW;AAC3DC,IAAAA,EAAE,EAAED,IAAI,CAACE,KADkD;AAE3DC,IAAAA,IAAI,EAAEH,IAAI,CAACG,IAFgD;AAG3DX,IAAAA,KAAK,EAAEQ,IAAI,CAACR,KAH+C;AAI3DY,IAAAA,WAAW,EAAEJ,IAAI,CAACI,WAJyC;AAK3DC,IAAAA,GAAG,EAAEL,IAAI,CAACK,GAAL,IAAaL,IAAI,CAACM,MAAL,sBAA0BN,IAAI,CAACM,MAA/B,eAA0CN,IAAI,CAACG,IAA/C,kBAAb,IAAqFH,IAAI,CAACG,IAAL,sBAAwBH,IAAI,CAACG,IAA7B,kBAL/B;AAM3DI,IAAAA,QAAQ,EAAEP,IAAI,CAACG,IAAL,4CAA8CH,IAAI,CAACG,IAAnD,CANiD;AAO3DG,IAAAA,MAAM,EAAEN,IAAI,CAACM;AAP8C,GAAX,CAA1B,CAAxB;;AADgD,4BAWlB,2CAXkB;AAAA;AAAA,MAWzCE,SAXyC;AAAA,MAW9Bb,QAX8B;;AAYhD,MAAMc,eAAe,GAAG,cAAGX,eAAH,EAAoBY,IAApB,CAAyB,oBAAKjB,KAAD,KAAY;AAACkB,IAAAA,IAAI,EAAE,UAAP;AAAmBlB,IAAAA;AAAnB,GAAZ,CAAJ,CAAzB,CAAxB;AACA,MAAMmB,aAAa,GAAGJ,SAAS,CAACE,IAAV,CAAe,oBAAKV,IAAD,KAAW;AAACW,IAAAA,IAAI,EAAE,gBAAP;AAAyBX,IAAAA;AAAzB,GAAX,CAAJ,CAAf,CAAtB;AACA,MAAMa,aAAa,GAAGL,SAAS,CAACE,IAAV,CAAe,0BAAWV,IAAD,IAAU,oBAAOA,IAAP,CAApB,CAAf,CAAtB;AACA,MAAMc,sBAAsB,GAAGD,aAAa,CAACH,IAAd,CAC7B,oBACGK,MAAD;AAAcJ,IAAAA,IAAI,EAAE;AAApB,KAA2CI,MAA3C,CADF,EAEE,2BAAYC,KAAD,IAAW,cAAG;AAACL,IAAAA,IAAI,EAAE,eAAP;AAAwBK,IAAAA;AAAxB,GAAH,CAAtB,CAFF,CAD6B,CAA/B;AAOA,mBAAMP,eAAN,EAAuBG,aAAvB,EAAsCE,sBAAtC,EAA8DJ,IAA9D,CAAmEO,uBAAnE,EAAkFC,SAAlF;AAEA,SAAO,cAAGpB,eAAH,EAAoBY,IAApB,CACL,oBAAKjB,KAAD,KAAY;AACdA,IAAAA,KADc;AAEdD,IAAAA,KAAK,EAAEK,OAAO,CAACL,KAAR,IAAiBD,aAAa,CAACC,KAFxB;AAGd2B,IAAAA,WAAW,EAAEtB,OAAO,CAACsB,WAHP;AAIdzB,IAAAA,SAAS,EAAE,KAJG;AAKdC,IAAAA;AALc,GAAZ,CAAJ,CADK,EAQL,0BAAUJ,aAAV,CARK,CAAP;AAUD,CAlCM","sourcesContent":["import {merge, of} from 'rxjs'\nimport {createEventHandler} from 'react-props-stream'\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators'\nimport {deploy} from './datastores/deploy'\nimport {Site, WidgetOptions} from './types'\nimport {stateReducer$} from './reducers'\n\nconst noop = () => undefined\n\nconst INITIAL_PROPS = {\n title: 'Netlify sites',\n sites: [],\n isLoading: true,\n onDeploy: noop,\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const props$ = (options: WidgetOptions) => {\n const configuredSites = (options.sites || []).map((site) => ({\n id: site.apiId,\n name: site.name,\n title: site.title,\n buildHookId: site.buildHookId,\n url: site.url || (site.branch && `https://${site.branch}--${site.name}.netlify.app/`) || (site.name && `https://${site.name}.netlify.app/`),\n adminUrl: site.name && `https://app.netlify.com/sites/${site.name}`,\n branch: site.branch\n }))\n\n const [onDeploy$, onDeploy] = createEventHandler<Site>()\n const setSitesAction$ = of(configuredSites).pipe(map((sites) => ({type: 'setSites', sites})))\n const deployAction$ = onDeploy$.pipe(map((site) => ({type: 'deploy/started', site})))\n const deployResult$ = onDeploy$.pipe(switchMap((site) => deploy(site)))\n const deployCompletedAction$ = deployResult$.pipe(\n map(\n (result) => ({type: 'deploy/completed', ...result}),\n catchError((error) => of({type: 'deploy/failed', error}))\n )\n )\n\n merge(setSitesAction$, deployAction$, deployCompletedAction$).pipe(stateReducer$).subscribe()\n\n return of(configuredSites).pipe(\n map((sites) => ({\n sites,\n title: options.title || INITIAL_PROPS.title,\n description: options.description,\n isLoading: false,\n onDeploy,\n })),\n startWith(INITIAL_PROPS)\n )\n}\n"],"file":"props.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sanity-plugin-dashboard-widget-netlify",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Sanity Studio Dashboard Widget for triggering Netlify builds",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sanity",
|
|
@@ -38,7 +38,9 @@
|
|
|
38
38
|
"test": "jest --coverage",
|
|
39
39
|
"test:watch": "jest --coverage --watch",
|
|
40
40
|
"test:prod": "npm run lint && npm run test -- --no-cache",
|
|
41
|
-
"prepublishOnly": "npm run build"
|
|
41
|
+
"prepublishOnly": "npm run compile && npm run build",
|
|
42
|
+
"prepare": "husky install",
|
|
43
|
+
"compile": "tsc --noEmit"
|
|
42
44
|
},
|
|
43
45
|
"prettier": {
|
|
44
46
|
"semi": false,
|
|
@@ -59,7 +61,10 @@
|
|
|
59
61
|
"styled-components": "^5.2.0"
|
|
60
62
|
},
|
|
61
63
|
"devDependencies": {
|
|
64
|
+
"@commitlint/cli": "^17.1.2",
|
|
65
|
+
"@commitlint/config-conventional": "^17.1.0",
|
|
62
66
|
"@sanity/dashboard": ">=2.13.0",
|
|
67
|
+
"@sanity/semantic-release-preset": "^2.0.1",
|
|
63
68
|
"@sanity/ui": "^0.36.12",
|
|
64
69
|
"@testing-library/jest-dom": "^5.11.4",
|
|
65
70
|
"@testing-library/react": "^11.0.4",
|
|
@@ -74,8 +79,10 @@
|
|
|
74
79
|
"eslint-config-prettier": "^8.1.0",
|
|
75
80
|
"eslint-config-sanity": "^5.1.0",
|
|
76
81
|
"eslint-plugin-prettier": "^3.3.1",
|
|
82
|
+
"husky": "^8.0.1",
|
|
77
83
|
"jest": "^26.0.0",
|
|
78
84
|
"jest-date-mock": "^1.0.8",
|
|
85
|
+
"lint-staged": "^13.0.3",
|
|
79
86
|
"prettier": "^2.0.0",
|
|
80
87
|
"react": "^17.0.0",
|
|
81
88
|
"react-dom": "^17.0.0",
|