Skip to content

Commit

Permalink
Merge pull request #46 from zapier/tooling-for-real
Browse files Browse the repository at this point in the history
move tooling into root & stop shipping eslint with CLI
  • Loading branch information
xavdid committed Aug 9, 2019
2 parents f103f0f + 5fe4a18 commit 21d6761
Show file tree
Hide file tree
Showing 79 changed files with 764 additions and 9,439 deletions.
33 changes: 33 additions & 0 deletions .eslintrc
@@ -0,0 +1,33 @@
{
"extends": ["standard", "prettier"],
"plugins": ["mocha"],
"env": {
"es6": true,
"node": true
},
"overrides": [
{
"files": [
"packages/*/test/**/*.js",
"packages/*/smoke-test/**/*.js",
"packages/cli/src/tests/**/*.js",
"packages/cli/src/smoke-tests/**/*.js"
],
"rules": {
"mocha/no-exclusive-tests": "error"
},
"env": {
"mocha": true
}
},
{
"files": ["packages/cli/snippets/**/*.js"],
"rules": {
"no-unused-vars": 0
},
"env": {
"mocha": true // there's a mocha example in there
}
}
]
}
3 changes: 1 addition & 2 deletions .travis.yml
Expand Up @@ -9,8 +9,7 @@ install:
# need to ignore engines until we can ditch node 8 after calendar 2019
- yarn install --ignore-engines
script:
- yarn test
- yarn smoke-test
- yarn validate
notifications:
email: false
deploy:
Expand Down
2 changes: 1 addition & 1 deletion example-apps/oauth1-trello/package.json
@@ -1,5 +1,5 @@
{
"name": "oauth1-trello",
"name": "zapier-platform-example-app-oauth1-trello",
"version": "1.0.0",
"description": "Trello OAuth V1 Example",
"repository": "zapier/zapier-platform-example-app-oauth1-trello",
Expand Down
2 changes: 1 addition & 1 deletion example-apps/oauth1-tumblr/package.json
@@ -1,5 +1,5 @@
{
"name": "oauth1-tumblr",
"name": "zapier-platform-example-app-oauth1-tumblr",
"version": "1.0.0",
"description": "Tumblr OAuth V1 Example",
"repository": "zapier/zapier-platform-example-app-oauth1-tumblr",
Expand Down
2 changes: 1 addition & 1 deletion example-apps/oauth1-twitter/package.json
@@ -1,5 +1,5 @@
{
"name": "oauth1-twitter",
"name": "zapier-platform-example-app-oauth1-twitter",
"version": "1.0.0",
"description": "An OAuth1 example using Twitter.",
"repository": "zapier/zapier-platform-example-app-oauth1-twitter",
Expand Down
25 changes: 19 additions & 6 deletions package.json
Expand Up @@ -2,27 +2,40 @@
"name": "root",
"private": true,
"devDependencies": {
"eslint": "6.1.0",
"eslint-config-prettier": "6.0.0",
"eslint-config-standard": "13.0.1",
"eslint-plugin-import": "2.18.2",
"eslint-plugin-mocha": "6.0.0",
"eslint-plugin-node": "9.1.0",
"eslint-plugin-promise": "4.2.1",
"eslint-plugin-standard": "4.0.0",
"husky": "^3.0.0",
"lerna": "^3.15.0",
"lint-staged": "^9.2.0",
"prettier": "1.18.2"
"mocha": "6.2.0",
"prettier": "1.18.2",
"should": "13.2.3"
},
"workspaces": ["packages/*", "example-apps/*"],
"workspaces": [
"packages/*",
"example-apps/*"
],
"scripts": {
"test": "lerna run --stream --scope zapier-platform-cli --scope zapier-platform-core --scope zapier-platform-schema --scope zapier-platform-legacy-scripting-runner test",
"smoke-test": "lerna run --stream --scope zapier-platform-cli --scope zapier-platform-core --scope zapier-platform-schema --scope zapier-platform-legacy-scripting-runner smoke-test",
"lint": "lerna run --stream --ignore zapier-platform-example-app-* lint",
"validate": "lerna run --ignore zapier-platform-example-app-* validate",
"bump": "lerna version --exact --force-publish=zapier-platform-cli,zapier-platform-core,zapier-platform-schema",
"build-boilerplate": "yarn workspace zapier-platform-core build-boilerplate",
"upload-boilerplate": "yarn workspace zapier-platform-core upload-boilerplate"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
"pre-commit": "yarn workspace zapier-platform-schema precommit && lint-staged"
}
},
"lint-staged": {
"*.{js,json}": [
"yarn workspace zapier-platform-schema precommit",
"eslint --fix",
"prettier --write",
"git add"
]
Expand Down
2 changes: 2 additions & 0 deletions packages/cli/.eslintignore
@@ -0,0 +1,2 @@
# this is apparently needs to be here, not in the root ¯\_(ツ)_/¯
snippets/dynamic-dropdowns-*.js
76 changes: 0 additions & 76 deletions packages/cli/.eslintrc

This file was deleted.

11 changes: 2 additions & 9 deletions packages/cli/package.json
Expand Up @@ -28,17 +28,15 @@
"postpack": "rm -f oclif.manifest.json",
"version": "yarn docs && yarn gen-completions && git add docs/* goodies/* README.md",
"postversion": "git push && git push --tags",
"lint-snippets": "eslint snippets --rule 'no-unused-vars: 0' --ignore-pattern snippets/next.js --ignore-pattern 'snippets/dynamic-dropdowns-*'",
"lint-code": "eslint zapier.js src",
"lint": "yarn lint-snippets && yarn lint-code",
"lint": "eslint zapier.js src snippets --fix",
"test": "NODE_ENV=test mocha -t 50000 --recursive src/tests",
"smoke-test": "NODE_ENV=test mocha -t 120000 --recursive src/smoke-tests",
"zapier": "zapier.js",
"validate-templates": "./scripts/validate-app-templates.js",
"set-template-versions": "./scripts/set-app-template-versions.js",
"gen-completions": "./scripts/gen-zsh-completions.js > ./goodies/zsh/_zapier && ./scripts/gen-bash-completions.js > ./goodies/bash/_zapier",
"test-convert": "./scripts/test-convert.js",
"validate": "yarn test && yarn lint"
"validate": "yarn test && yarn smoke-test && yarn lint"
},
"dependencies": {
"@oclif/command": "1.5.18",
Expand All @@ -53,8 +51,6 @@
"colors": "1.1.2",
"compress-commons": "1.2.0",
"core-js": "2.4.1",
"eslint": "4.17.0",
"eslint-plugin-node": "6.0.0",
"fs-extra": "3.0.1",
"glob": "7.1.1",
"ignore": "3.3.8",
Expand Down Expand Up @@ -82,16 +78,13 @@
"devDependencies": {
"@oclif/dev-cli": "1.22.2",
"decompress": "4.2.0",
"eslint-plugin-mocha": "^5.3.0",
"fetch-mock": "5.11.0",
"jayson": "2.0.6",
"litdoc": "1.5.6",
"markdown-toc": "1.1.0",
"mocha": "5.1.1",
"mock-fs": "4.10.0",
"ngrok": "2.2.10",
"node-watch": "0.5.4",
"should": "11.2.1",
"yamljs": "0.3.0"
},
"bin": {
Expand Down
4 changes: 3 additions & 1 deletion packages/cli/snippets/custom-auth.js
Expand Up @@ -23,7 +23,9 @@ const authentication = {

const addApiKeyToHeader = (request, z, bundle) => {
request.headers['X-Subdomain'] = bundle.authData.subdomain;
const basicHash = Buffer(`${bundle.authData.api_key}:x`).toString('base64');
const basicHash = Buffer.from(`${bundle.authData.api_key}:x`).toString(
'base64'
);
request.headers.Authorization = `Basic ${basicHash}`;
return request;
};
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/snippets/custom-fields.js
Expand Up @@ -5,10 +5,10 @@ const recipeFields = (z, bundle) => {
};

const App = {
//...
// ...
creates: {
create_recipe: {
//...
// ...
operation: {
// an array of objects is the simplest way
inputFields: [
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/snippets/fields.js
@@ -1,8 +1,8 @@
const App = {
//...
// ...
creates: {
create_recipe: {
//...
// ...
operation: {
// an array of objects is the simplest way
inputFields: [
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/snippets/input-fields-children.js
@@ -1,7 +1,7 @@
const App = {
//...
// ...
operation: {
//...
// ...
inputFields: [
{
key: 'lineItems',
Expand Down
5 changes: 0 additions & 5 deletions packages/cli/snippets/next.js

This file was deleted.

4 changes: 2 additions & 2 deletions packages/cli/snippets/output-fields.js
Expand Up @@ -5,10 +5,10 @@ const recipeOutputFields = (z, bundle) => {
};

const App = {
//...
// ...
triggers: {
new_recipe: {
//...
// ...
operation: {
perform: () => {},
sample: {
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/snippets/paging-poll.js
Expand Up @@ -15,7 +15,7 @@ const performPaging = (z, bundle) => {
let start = 0;

// array of promises
let promises = [];
const promises = [];

let i = 0;
while (i < 5) {
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/snippets/recipe-create.js
Expand Up @@ -9,9 +9,9 @@ const createRecipeRequest = {

const Recipe = {
key: 'recipe',
//...
// ...
list: {
//...
// ...
},
create: {
display: {
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/snippets/recipe-list.js
Expand Up @@ -4,7 +4,7 @@ const listRecipesRequest = {

const Recipe = {
key: 'recipe',
//...
// ...
list: {
display: {
label: 'New Recipe',
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/snippets/resources.js
Expand Up @@ -5,9 +5,9 @@ const Recipe = {
noun: 'Recipe',
// `list` and `create` are just a couple of the methods you can define
list: {
//...
// ...
},
create: {
//...
// ...
}
};
10 changes: 5 additions & 5 deletions packages/cli/snippets/search-field.js
@@ -1,11 +1,11 @@
const App = {
//...
// ...
resources: {
project: {
key: 'project',
//...
// ...
search: {
//...
// ...
operation: {
perform: () => {
return [{ id: 123, name: 'Project 1' }];
Expand All @@ -15,9 +15,9 @@ const App = {
},
issue: {
key: 'issue',
//...
// ...
create: {
//...
// ...
operation: {
inputFields: [
{
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/snippets/trigger.js
Expand Up @@ -3,7 +3,7 @@ const recipeListRequest = {
};

const App = {
//...
// ...
triggers: {
new_recipe: {
key: 'new_recipe', // uniquely identifies the trigger
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/src/commands/_access.js
Expand Up @@ -87,8 +87,8 @@ const makeAccess = (command, recordType) => {
) {
context.line();
context.line('Or you can invite users to a specific version:\n');
_.each(data.versions_invite_urls, (invite_url, _version) => {
context.line(` ${_version}: ${colors.bold(invite_url)}`);
_.each(data.versions_invite_urls, (inviteUrl, _version) => {
context.line(` ${_version}: ${colors.bold(inviteUrl)}`);
});
}
});
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/commands/describe.js
Expand Up @@ -112,7 +112,7 @@ const describe = context => {
context.line();

context.line(colors.bold('Hydrators') + '\n');
let hydratorRows = _.map(definition.hydrators, (val, key) => {
const hydratorRows = _.map(definition.hydrators, (val, key) => {
return {
key,
paths: hydrateTemplate({ key })
Expand Down

0 comments on commit 21d6761

Please sign in to comment.