Arjun Barrett 4 anni fa
parent
commit
3d84da4635
3 ha cambiato i file con 51 aggiunte e 3 eliminazioni
  1. 4 2
      package.json
  2. 25 0
      scripts/cpGHPages.ts
  3. 22 1
      yarn.lock

+ 4 - 2
package.json

@@ -17,7 +17,8 @@
     "browser": false,
     "types": false,
     "demo": {
-      "distDir": "dist"
+      "distDir": "dist",
+      "publicUrl": "./"
     }
   },
   "sideEffects": false,
@@ -47,7 +48,7 @@
     "build:lib": "tsc && tsc --project tsconfig.esm.json && yarn build:umd",
     "build:umd": "SC=buildUMD yarn script",
     "build:rewrite": "SC=rewriteBuilds yarn script",
-    "build:demo": "tsc --project tsconfig.demo.json && parcel build demo/index.html",
+    "build:demo": "tsc --project tsconfig.demo.json && parcel build demo/index.html && SC=cpGHPages yarn script",
     "build:docs": "typedoc --mode library --plugin typedoc-plugin-markdown --hideProjectName --hideBreadcrumbs --readme none --disableSources --excludePrivate --excludeProtected --out docs/ src/index.ts",
     "test": "TS_NODE_PROJECT=test/tsconfig.json uvu -b -r ts-node/register test",
     "prepack": "yarn build && yarn test"
@@ -65,6 +66,7 @@
     "react": "^17.0.1",
     "react-dom": "^17.0.1",
     "rmwc": "^6.1.4",
+    "simple-git": "^2.22.0",
     "terser": "^5.3.8",
     "tiny-inflate": "*",
     "ts-node": "^9.0.0",

+ 25 - 0
scripts/cpGHPages.ts

@@ -0,0 +1,25 @@
+import * as createGit from 'simple-git/promise';
+import { resolve, join } from 'path';
+import { copyFileSync, readdirSync, statSync, unlinkSync } from 'fs';
+
+const baseDir = resolve(__dirname, '..');
+const to = (...paths: string[]) => join(baseDir, ...paths);
+const git = createGit();
+git.log({
+  from: 'HEAD~1',
+  to: 'HEAD'
+}).then(async log => {
+  const hash = log.latest.hash.slice(0, 7);
+  await git.checkout('gh-pages');
+  for (const f of readdirSync(to('.'))) {
+    if (statSync(f).isFile())
+      unlinkSync(to(f));
+  }
+  const files = readdirSync(to('dist'))
+  for (const f of files) {
+    copyFileSync(to('dist', f), to(f));
+  }
+  await git.add(files);
+  await git.commit('Build demo from ' + hash);
+  await git.checkout('master');
+});

+ 22 - 1
yarn.lock

@@ -945,6 +945,18 @@
   resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c"
   integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==
 
+"@kwsites/file-exists@^1.1.1":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99"
+  integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==
+  dependencies:
+    debug "^4.1.1"
+
+"@kwsites/promise-deferred@^1.1.1":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919"
+  integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==
+
 "@material/animation@^5.1.0":
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/@material/animation/-/animation-5.1.0.tgz#f2d2ffe346f2612bb40d9e8bfb976290b91173f7"
@@ -3876,7 +3888,7 @@ [email protected], debug@^2.2.0, debug@^2.3.3:
   dependencies:
     ms "2.0.0"
 
-debug@^4.1.0, debug@^4.2.0:
+debug@^4.1.0, debug@^4.1.1, debug@^4.2.0:
   version "4.2.0"
   resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1"
   integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==
@@ -7150,6 +7162,15 @@ signal-exit@^3.0.2:
   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
   integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
 
+simple-git@^2.22.0:
+  version "2.22.0"
+  resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-2.22.0.tgz#650cdf5dfbc6e7771da19ff890862170a184077e"
+  integrity sha512-/8WMNrQ5slYl05jYOpeh4BIyMQc84PkEvk9YAcBHVJaPoAgoxzLzdRzUzWDZJ9U6Z2pUjLxkGcQC0kU4pbRN5Q==
+  dependencies:
+    "@kwsites/file-exists" "^1.1.1"
+    "@kwsites/promise-deferred" "^1.1.1"
+    debug "^4.1.1"
+
 simple-swizzle@^0.2.2:
   version "0.2.2"
   resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"