* Update typescript-eslint dependencies at root
Looks like overnight runs are mistakenly using typescript-eslint/*@4
when they should be on 5 to have access to the cache-clearing function.
Try upgrading the dev version of typescript-eslint to 5 to see if that
fixes it.
* Add missing dependency
Makes lint succeed.
* Converted no-unnecessary-generics from TSLint to ESLint
* ...and don't forget dtslint.json
* Add missing readFile
* Add valid test case from original
* Fix spelling of recur
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
Turns out that passthroughs need to be allowed anywhere.
Since you can only add passthroughs to `./node_modules`, you can only
add passthroughs to things in package.json, which means that that file
remains the security bottleneck.
* Functions MVP
* Actually commit root files
* Fix typo
* Enable remote build?
* Save temp directory as artifact?
* Blah
* Try to convince Oryx to use yarn
* Make independent tsconfig for deployed app
* Remote build doesn’t need to run tsc
* Whatever
* Functions have to be at the source root
* Add test function for fileshare
* Stooppppp
* SDFKLJSDFJKLDSFJKLSFDKLJ
* Make test HTTP trigger run the whole thing
* Set timeout to an hour
* Remove unused config
* App insights starts on its own, I think
* Update fs-extra
* Update node in dependencies
* Fix type error
* Use file lock, fix app insights
* Log response
* Bump timeout to 1:30
* Rename triggers for better alphabetical sort
* Update gitignore
* Update CI versions to latest two LTS
* 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