Skip to content

Commit 445c0ff

Browse files
committed
Sync with javascript analyzer
* Create CODE_OF_CONDUCT (originally @SleeplessByte exercism/javascript-analyzer#5) * Add dockerfile for automated mentoring support (originally @depsir exercism/javascript-analyzer#12) * Initial smoke for usage of jest (originally: @SleeplessByte exercism/javascript-analyzer#17) * Apply design and proper interface and structure (originally: @SleeplessByte exercism/javascript-analyzer#18) * Fixes issues in the README.md (originally: @zeckdude exercism/javascript-analyzer#19)
1 parent c859cab commit 445c0ff

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+3924
-2159
lines changed

.babelrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"presets": [
3+
["@babel/preset-env", { "targets": { "node": "current" } } ],
4+
"@babel/preset-typescript",
5+
],
6+
}

.dockerignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
test
2+
dist
3+
node_modules
4+
.git

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at derk-jan+exercism@karrenbeld.info. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

Dockerfile

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
FROM node:lts-alpine as builder
2+
3+
# Install SSL ca certificates
4+
RUN apk update && apk add ca-certificates
5+
6+
# Create appuser
7+
RUN adduser -D -g '' appuser
8+
9+
# get the source code
10+
WORKDIR /typescript-analyzer
11+
COPY . .
12+
13+
# build
14+
RUN yarn install && yarn build && yarn install --prod
15+
16+
# Build a minimal and secured container
17+
FROM node:lts-alpine
18+
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
19+
COPY --from=builder /etc/passwd /etc/passwd
20+
COPY --from=builder /typescript-analyzer/bin /opt/analyzer/bin
21+
COPY --from=builder /typescript-analyzer/dist /opt/analyzer/dist
22+
COPY --from=builder /typescript-analyzer/node_modules /opt/analyzer/node_modules
23+
USER appuser
24+
WORKDIR /opt/analyzer
25+
ENTRYPOINT ["/opt/analyzer/bin/analyze.sh"]

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@ yarn build
1717
## Usage
1818

1919
You can run this either via `yarn`:
20+
2021
```
2122
yarn analyze:bat --debug --console two-fer ~/path/to/solution/folder
2223
```
2324

2425
Or directly via the provided shell script:
26+
2527
```
26-
./bin/analyze.sh two_fer ~/path/to/solution
28+
./bin/analyze.sh --debug --console two-fer ~/path/to/solution
2729
```
2830

2931
Add the `--debug` and `--console` flags to get output in the terminal window.

bin/analyze.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
@REM Usage:
2-
@REM ./bin/analyze.bat two_fer ~/test/
2+
@REM ./bin/analyze.bat two-fer ~/test/
33

44
node -r esm ./dist/analyze.js %*

bin/analyze.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#!/bin/bash
1+
#!/usr/bin/env sh
22

33
# Usage:
4-
# ./bin/analyze.sh two_fer ~/test/
4+
# ./bin/analyze.sh two-fer ~/folder/to/solution
55

66
node -r esm ./dist/analyze.js "$@"

bin/batch-runner

Lines changed: 0 additions & 166 deletions
This file was deleted.

bin/batch.bat

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
@REM Usage:
2+
@REM ./bin/batch.bat two-fer
3+
4+
node -r esm ./dist/batch.js %*

bin/batch.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env sh
2+
3+
# Usage:
4+
# ./bin/batch.sh two-fer
5+
6+
node -r esm ./dist/batch.js "$@"

0 commit comments

Comments
 (0)