GithubHelp home page GithubHelp logo

seattlejs-airtable-cli's Introduction

seattlejs-airtable-cli

This cli app helps organizers of the SeattleJS meetup administer the seattlejs.com website.

Getting started

I. Make a Personal Access Token (PAT)

  1. visit https://airtable.com/create/tokens
  2. create new token, give it a useful name
  3. give the token the following scopes (permissions): a. data.records:read b. schema.bases:read
  4. give the token access to the Seattle JS airtable base

Your token should look like the following (note: "Name" doesn't matter")

image

II. Clone the seattlejs/seattlejs.com GitHub Repo

  1. git clone https://github.com/seattlejs/seattlejs.com
  2. make a note of the path you cloned the project to, the cli will need it to update the website data.

III. Install the cli

npm install -g seattlejs-airtable-cli

or

npx seattlejs-airtable-cli@latest

IV. Run the CLI

in your shell: seattlejs-airtable-cli

follow the prompts to add your api token and point the cli at the website data.

V. Double-Check the output, commit, and push!

  1. Double check that the json data looks good.
  2. Crop and/or resize any new speaker photos
  3. Commit any changes, push them up, and open a PR!

Publishing

  1. change the version (for example by using npm version [patch|minor])
  2. make release in github

seattlejs-airtable-cli's People

Contributors

fx-wood avatar andrewiggins avatar

Watchers

 avatar  avatar

Forkers

fx-wood

seattlejs-airtable-cli's Issues

Check for new CLI version when the cli runs

It would be great to tell users if they are using an outdated version of the CLI before they run it.

p1

  • When a user runs the CLI, it checks npm for the latest version and halts execution if a newer version is found.

p2

  • When execution is halted, the CLI provides a helpful error message with instructions for how to upgrade to latest

  • When a user can't reach npm they should be warned that they may have an outdated version of the cli but execution should continue

Allow cli to run without user input

It would be great to allow user input up-front so that the cli can be used in github actions or other automation environments.

p1

Allow users to pass a value to a parameter like --airtable-token or -t instead of being prompted
Allow users to pass a value to a parameter like --seattlejs-website-path or -w instead of being prompted

Allow credential management with the cli

It would be great to allow users to manage their auth token with the cli.

when a user executes npx seattlejs-airtable-cli auth delete the token is deleted
when a user executes npx seattlejs-airtable-cli auth update they receive the token input flow

Validate User-Provided Token Against Airtable API

It would be great to validate the token a user inputs against the api so that we can let them know if it doesn't work (and ideally let them know why)

p1

When a user inputs a token, we should make a simple request to see if the token is valid

p2

When a valid token is provided, we should make sure it has all the necessary scopes for the automation (there are 2 currently, bases.read and tables.read or something like that)

When an invalid token is provided we should give the user a helpful error message that indicates why the token was invalid (bad token, missing scope, etc)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.