Commit Graph

1 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
a0f10b6dd6 Set up CI with Azure Pipelines (#27)
* Set up CI with Azure Pipelines

[skip ci]

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

Try the OTHER nondescript guid!

* Update azure-pipelines.yml for Azure Pipelines

Maybe the other guid doesn't have version 3?

* Update azure-pipelines.yml for Azure Pipelines

Try not specifying the version at all

* Update azure-pipelines.yml for Azure Pipelines

Version is required, so try version 1

* Update azure-pipelines.yml for Azure Pipelines

HA HA. Try it on Windows.

* Update azure-pipelines.yml for Azure Pipelines

Remove lint because windows is stupid

* Update azure-pipelines.yml for Azure Pipelines

Daring: don't install node_modules, then maybe we won't have any problems

* Update azure-pipelines.yml for Azure Pipelines

Try guardian export for logging error output

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* talk around placeholder password

* Update azure-pipelines.yml for Azure Pipelines

Don't need to export results as an artifact after all.

* Update azure-pipelines.yml for Azure Pipelines

run `yarn tslint`

* add tslint (with failures intact)

* Disable non-security-related rules

1. prefer-type-cast: false, no-angle-bracket-type-assertion: true. `as`
   postfix casts are better, actually.
2. no-relative-imports: there's no security reason to enforce this, and
   internal relative imports are standard in JS.
3. no-single-line-block-comments: a rule created by the
   vertical-line-feed lobby.
4. no-backbone-get-set-outside-model: this project doesn't use backbone.
5. function-name: change STATIC_METHOD name requirement to staticName,
   because it is 2020, not 1989.

* Add tslint-microsoft-contrib and fix failures

1. disable import-name: This rule doesn't understand default imports and
doesn't seem to target security.
2. prefer-array-literal: Allow single-argument calls like `new
Array(12)`.
3. no-constant-condition: Allow `while (true)` loops.
4. disable no-function-expression: This rule isn't needed with type checking.
5. disable max-func-body-length: This rule doesn't understand nested functions.

I also disabled specific uses of rules:

1. function-name in types for fstream, since that's a dependency.
2. non-literal-fs-path for uses of the publisher's filesystem wrapper
type. The wrapper is created only on Definitely Typed directories, so
can't access files outside of that directory.
3. non-literal-fs-path for reading a log from disk.

* move tslint to subdirectory

* remove package-lock.json

* remove extraneous space

* move tslint to devDeps

* fix package.json syntax
2020-06-03 16:03:11 -07:00