diff --git a/.github/workflows/push-to-npm.yml b/.github/workflows/push-to-npm.yml new file mode 100644 index 00000000..18404dc0 --- /dev/null +++ b/.github/workflows/push-to-npm.yml @@ -0,0 +1,55 @@ +name: Push @workadventure/iframe-api-typings to NPM +on: + # TODO remove action on push + push: ~ + release: + types: [created] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + # Setup .npmrc file to publish to npm + - uses: actions/setup-node@v2 + with: + node-version: '14.x' + registry-url: 'https://registry.npmjs.org' + # TODO: replace version with RELEASE tag + # TODO: enable declaration flag in tsconfig dynamically + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.x' + + - name: "Install dependencies" + run: yarn install + working-directory: "front" + + - name: "Install messages dependencies" + run: yarn install + working-directory: "messages" + + - name: "Build proto messages" + run: yarn run proto && yarn run copy-to-front + working-directory: "messages" + + - name: "Create index.html" + run: ./templater.sh + working-directory: "front" + + - name: "Build" + run: yarn run build + env: + API_URL: "localhost:8080" + working-directory: "front" + # We build the front to generate the typings of iframe_api, then we copy those typings in a separate package. + - name: Copy typings to package dir + run: cp front/dist/src/iframe_api.d.ts front/packages/iframe-api-typings/iframe_api.d.ts + - name: Install dependencies in package + run: yarn install + working-directory: "front/packages/iframe-api-typings" + - name: Publish package + run: yarn publish + working-directory: "front/packages/iframe-api-typings" + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/front/packages/iframe-api-typings/.gitignore b/front/packages/iframe-api-typings/.gitignore new file mode 100644 index 00000000..f850ebdb --- /dev/null +++ b/front/packages/iframe-api-typings/.gitignore @@ -0,0 +1 @@ +iframe_api.d.ts diff --git a/front/packages/iframe-api-typings/README.md b/front/packages/iframe-api-typings/README.md new file mode 100644 index 00000000..c5c16ded --- /dev/null +++ b/front/packages/iframe-api-typings/README.md @@ -0,0 +1,27 @@ +
This package contains Typescript typings for WorkAdventure's map scripting API
+ +