Compare commits
No commits in common. "7f3a0d6d2fb574f7a2925660db0412894f0567e0" and "ddf60e3bc07af2740c69d76bca9c0f6f445e25dd" have entirely different histories.
7f3a0d6d2f
...
ddf60e3bc0
|
@ -0,0 +1,32 @@
|
||||||
|
# Binaries for programs and plugins
|
||||||
|
*.exe
|
||||||
|
*.exe~
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
# Test binary, built with `go test -c`
|
||||||
|
*.test
|
||||||
|
|
||||||
|
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||||
|
*.out
|
||||||
|
|
||||||
|
# Project binaries
|
||||||
|
codies
|
||||||
|
|
||||||
|
# IDEs
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
|
||||||
|
.git/
|
||||||
|
config/
|
||||||
|
|
||||||
|
# common benchstat filenames
|
||||||
|
old.txt
|
||||||
|
new.txt
|
||||||
|
|
||||||
|
frontend/node_modules/
|
||||||
|
frontend/build/
|
|
@ -0,0 +1 @@
|
||||||
|
* @zikaeroh
|
|
@ -0,0 +1,168 @@
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
env:
|
||||||
|
GO_DEV_VERSION: "1.15" # Recommended Go version for development.
|
||||||
|
GOLANGCI_LINT_VERSION: "v1.31.0"
|
||||||
|
NODE_VERSION: "14"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
go: ["1.15"]
|
||||||
|
pkger: [false, true]
|
||||||
|
name: Go ${{ matrix.go }} (${{ matrix.pkger && 'static' || 'live' }})
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Cache Go modules
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/go/pkg/mod
|
||||||
|
key: ${{ runner.os }}-go-${{ matrix.go }}-${{ hashFiles('**/go.sum') }}
|
||||||
|
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: ${{ matrix.go }}
|
||||||
|
|
||||||
|
- name: Download Go modules
|
||||||
|
run: go mod download
|
||||||
|
|
||||||
|
- name: Run pkger
|
||||||
|
if: ${{ matrix.pkger }}
|
||||||
|
run: |
|
||||||
|
mkdir frontend/build # Ensure this exists; the tests won't use it.
|
||||||
|
go run github.com/markbates/pkger/cmd/pkger list
|
||||||
|
go run github.com/markbates/pkger/cmd/pkger -o internal/pkger
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: go test -race -covermode=atomic -coverprofile=coverage.txt ./...
|
||||||
|
|
||||||
|
- name: Run 1x benchmarks
|
||||||
|
run: go test -run=- -bench . -benchtime=1x ./...
|
||||||
|
|
||||||
|
style:
|
||||||
|
name: Style
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Cache Go modules
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/go/pkg/mod
|
||||||
|
key: ${{ runner.os }}-go-${{ env.GO_DEV_VERSION }}-${{ hashFiles('**/go.sum') }}
|
||||||
|
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: ${{ env.GO_DEV_VERSION }}
|
||||||
|
|
||||||
|
- name: Check go.mod tidyness
|
||||||
|
run: |
|
||||||
|
go mod tidy
|
||||||
|
git diff --exit-code go.mod go.sum
|
||||||
|
|
||||||
|
- name: golangci-lint
|
||||||
|
run: |
|
||||||
|
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin $GOLANGCI_LINT_VERSION
|
||||||
|
$(go env GOPATH)/bin/golangci-lint run --timeout 10m
|
||||||
|
|
||||||
|
generate:
|
||||||
|
name: go generate
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Cache Go modules
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/go/pkg/mod
|
||||||
|
key: ${{ runner.os }}-go-${{ env.GO_DEV_VERSION }}-${{ hashFiles('**/go.sum') }}
|
||||||
|
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: ${{ env.GO_DEV_VERSION }}
|
||||||
|
|
||||||
|
- name: go generate
|
||||||
|
run: |
|
||||||
|
go generate ./...
|
||||||
|
git diff --exit-code
|
||||||
|
|
||||||
|
build_frontend:
|
||||||
|
name: Build frontend
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: frontend
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v2-beta
|
||||||
|
with:
|
||||||
|
node-version: ${{ env.NODE_VERSION }}
|
||||||
|
|
||||||
|
- name: Get yarn cache directory path
|
||||||
|
id: yarn-cache-dir-path
|
||||||
|
run: echo "::set-output name=dir::$(yarn cache dir)"
|
||||||
|
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
||||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-yarn-
|
||||||
|
|
||||||
|
- name: yarn install
|
||||||
|
run: yarn install --frozen-lockfile
|
||||||
|
|
||||||
|
- name: yarn build
|
||||||
|
run: yarn build
|
||||||
|
|
||||||
|
docker:
|
||||||
|
name: Docker
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [test, style, generate, build_frontend]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Get version
|
||||||
|
run: |
|
||||||
|
export CODIES_VERSION="r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
|
||||||
|
echo Version $CODIES_VERSION
|
||||||
|
echo CODIES_VERSION=$CODIES_VERSION >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Turnstyle
|
||||||
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
|
uses: softprops/turnstyle@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build / push image
|
||||||
|
uses: whoan/docker-build-with-cache-action@v4
|
||||||
|
with:
|
||||||
|
username: "${{ secrets.DOCKER_USERNAME }}"
|
||||||
|
password: "${{ secrets.DOCKER_PASSWORD }}"
|
||||||
|
image_name: zikaeroh/codies
|
||||||
|
image_tag: "latest,${{ env.CODIES_VERSION }}"
|
||||||
|
build_extra_args: "--build-arg=version=${{ env.CODIES_VERSION }}"
|
||||||
|
push_image_and_stages: ${{ github.repository == 'zikaeroh/codies' && github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
@ -0,0 +1,40 @@
|
||||||
|
linters-settings:
|
||||||
|
golint:
|
||||||
|
min-confidence: 0.0
|
||||||
|
|
||||||
|
linters:
|
||||||
|
enable-all: true
|
||||||
|
disable:
|
||||||
|
# https://github.com/golangci/golangci-lint/issues/484
|
||||||
|
- govet
|
||||||
|
- maligned
|
||||||
|
- wsl
|
||||||
|
- gomnd
|
||||||
|
- lll
|
||||||
|
- godox
|
||||||
|
- gochecknoglobals
|
||||||
|
- gochecknoinits
|
||||||
|
- funlen
|
||||||
|
- gocognit
|
||||||
|
- goconst
|
||||||
|
- interfacer
|
||||||
|
- dogsled
|
||||||
|
- dupl
|
||||||
|
- unparam
|
||||||
|
- nestif
|
||||||
|
- testpackage
|
||||||
|
- goerr113
|
||||||
|
- nolintlint
|
||||||
|
- godot
|
||||||
|
- stylecheck
|
||||||
|
- unused
|
||||||
|
- gofumpt
|
||||||
|
- exhaustive # Breaks on enum values exported from test packages.
|
||||||
|
- nlreturn
|
||||||
|
- gci
|
||||||
|
|
||||||
|
# - staticcheck
|
||||||
|
|
||||||
|
issues:
|
||||||
|
# exclude-use-default: false
|
||||||
|
max-per-linter: 0
|
|
@ -0,0 +1,2 @@
|
||||||
|
**/build/**
|
||||||
|
**/node_modules/**
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"singleQuote": true,
|
||||||
|
"tabWidth": 4,
|
||||||
|
"useTabs": false,
|
||||||
|
"printWidth": 120,
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": ["*.yml", "*.yaml"],
|
||||||
|
"options": {
|
||||||
|
"tabWidth": 2,
|
||||||
|
"singleQuote": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
"folders": [
|
||||||
|
{
|
||||||
|
"path": "."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "frontend"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
},
|
||||||
|
"[javascript]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
},
|
||||||
|
"[markdown]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
},
|
||||||
|
"[yaml]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
},
|
||||||
|
"[typescriptreact]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
},
|
||||||
|
"[html]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
},
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll.eslint": true
|
||||||
|
},
|
||||||
|
"files.exclude": {
|
||||||
|
"**/node_modules": true
|
||||||
|
},
|
||||||
|
"typescript.tsdk": "frontend/node_modules/typescript/lib"
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,673 +0,0 @@
|
||||||
Acne
|
|
||||||
Acre
|
|
||||||
Addendum
|
|
||||||
Advertise
|
|
||||||
Aircraft
|
|
||||||
Aisle
|
|
||||||
Alligator
|
|
||||||
Alphabetize
|
|
||||||
America
|
|
||||||
Ankle
|
|
||||||
Apathy
|
|
||||||
Applause
|
|
||||||
Applesauc
|
|
||||||
Application
|
|
||||||
Archaeologist
|
|
||||||
Aristocrat
|
|
||||||
Arm
|
|
||||||
Armada
|
|
||||||
Asleep
|
|
||||||
Astronaut
|
|
||||||
Athlete
|
|
||||||
Atlantis
|
|
||||||
Aunt
|
|
||||||
Avocado
|
|
||||||
Baby-Sitter
|
|
||||||
Backbone
|
|
||||||
Bag
|
|
||||||
Baguette
|
|
||||||
Bald
|
|
||||||
Balloon
|
|
||||||
Banana
|
|
||||||
Banister
|
|
||||||
Baseball
|
|
||||||
Baseboards
|
|
||||||
Basketball
|
|
||||||
Bat
|
|
||||||
Battery
|
|
||||||
Beach
|
|
||||||
Beanstalk
|
|
||||||
Bedbug
|
|
||||||
Beer
|
|
||||||
Beethoven
|
|
||||||
Belt
|
|
||||||
Bib
|
|
||||||
Bicycle
|
|
||||||
Big
|
|
||||||
Bike
|
|
||||||
Billboard
|
|
||||||
Bird
|
|
||||||
Birthday
|
|
||||||
Bite
|
|
||||||
Blacksmith
|
|
||||||
Blanket
|
|
||||||
Bleach
|
|
||||||
Blimp
|
|
||||||
Blossom
|
|
||||||
Blueprint
|
|
||||||
Blunt
|
|
||||||
Blur
|
|
||||||
Boa
|
|
||||||
Boat
|
|
||||||
Bob
|
|
||||||
Bobsled
|
|
||||||
Body
|
|
||||||
Bomb
|
|
||||||
Bonnet
|
|
||||||
Book
|
|
||||||
Booth
|
|
||||||
Bowtie
|
|
||||||
Box
|
|
||||||
Boy
|
|
||||||
Brainstorm
|
|
||||||
Brand
|
|
||||||
Brave
|
|
||||||
Bride
|
|
||||||
Bridge
|
|
||||||
Broccoli
|
|
||||||
Broken
|
|
||||||
Broom
|
|
||||||
Bruise
|
|
||||||
Brunette
|
|
||||||
Bubble
|
|
||||||
Buddy
|
|
||||||
Buffalo
|
|
||||||
Bulb
|
|
||||||
Bunny
|
|
||||||
Bus
|
|
||||||
Buy
|
|
||||||
Cabin
|
|
||||||
Cafeteria
|
|
||||||
Cake
|
|
||||||
Calculator
|
|
||||||
Campsite
|
|
||||||
Can
|
|
||||||
Canada
|
|
||||||
Candle
|
|
||||||
Candy
|
|
||||||
Cape
|
|
||||||
Capitalism
|
|
||||||
Car
|
|
||||||
Cardboard
|
|
||||||
Cartography
|
|
||||||
Cat
|
|
||||||
Cd
|
|
||||||
Ceiling
|
|
||||||
Cell
|
|
||||||
Century
|
|
||||||
Chair
|
|
||||||
Chalk
|
|
||||||
Champion
|
|
||||||
Charger
|
|
||||||
Cheerleader
|
|
||||||
Chef
|
|
||||||
Chess
|
|
||||||
Chew
|
|
||||||
Chicken
|
|
||||||
Chime
|
|
||||||
China
|
|
||||||
Chocolate
|
|
||||||
Church
|
|
||||||
Circus
|
|
||||||
Clay
|
|
||||||
Cliff
|
|
||||||
Cloak
|
|
||||||
Clockwork
|
|
||||||
Clown
|
|
||||||
Clue
|
|
||||||
Coach
|
|
||||||
Coal
|
|
||||||
Coaster
|
|
||||||
Cog
|
|
||||||
Cold
|
|
||||||
College
|
|
||||||
Comfort
|
|
||||||
Computer
|
|
||||||
Cone
|
|
||||||
Constrictor
|
|
||||||
Continuum
|
|
||||||
Conversation
|
|
||||||
Cook
|
|
||||||
Coop
|
|
||||||
Cord
|
|
||||||
Corduroy
|
|
||||||
Cot
|
|
||||||
Cough
|
|
||||||
Cow
|
|
||||||
Cowboy
|
|
||||||
Crayon
|
|
||||||
Cream
|
|
||||||
Crisp
|
|
||||||
Criticize
|
|
||||||
Crow
|
|
||||||
Cruise
|
|
||||||
Crumb
|
|
||||||
Crust
|
|
||||||
Cuff
|
|
||||||
Curtain
|
|
||||||
Cuticle
|
|
||||||
Czar
|
|
||||||
Dad
|
|
||||||
Dart
|
|
||||||
Dawn
|
|
||||||
Day
|
|
||||||
Deep
|
|
||||||
Defect
|
|
||||||
Dent
|
|
||||||
Dentist
|
|
||||||
Desk
|
|
||||||
Dictionary
|
|
||||||
Dimple
|
|
||||||
Dirty
|
|
||||||
Dismantle
|
|
||||||
Ditch
|
|
||||||
Diver
|
|
||||||
Doctor
|
|
||||||
Dog
|
|
||||||
Doghouse
|
|
||||||
Doll
|
|
||||||
Dominoes
|
|
||||||
Door
|
|
||||||
Dot
|
|
||||||
Drain
|
|
||||||
Draw
|
|
||||||
Dream
|
|
||||||
Dress
|
|
||||||
Drink
|
|
||||||
Drip
|
|
||||||
Drums
|
|
||||||
Dryer
|
|
||||||
Duck
|
|
||||||
Dump
|
|
||||||
Dunk
|
|
||||||
Dust
|
|
||||||
Ear
|
|
||||||
Eat
|
|
||||||
Ebony
|
|
||||||
Elbow
|
|
||||||
Electricity
|
|
||||||
Elephant
|
|
||||||
Elevator
|
|
||||||
Elf
|
|
||||||
Elm
|
|
||||||
Engine
|
|
||||||
England
|
|
||||||
Ergonomic
|
|
||||||
Escalator
|
|
||||||
Eureka
|
|
||||||
Europe
|
|
||||||
Evolution
|
|
||||||
Extension
|
|
||||||
Eyebrow
|
|
||||||
Fan
|
|
||||||
Fancy
|
|
||||||
Fast
|
|
||||||
Feast
|
|
||||||
Fence
|
|
||||||
Feudalism
|
|
||||||
Fiddle
|
|
||||||
Figment
|
|
||||||
Finger
|
|
||||||
Fire
|
|
||||||
First
|
|
||||||
Fishing
|
|
||||||
Fix
|
|
||||||
Fizz
|
|
||||||
Flagpole
|
|
||||||
Flannel
|
|
||||||
Flashlight
|
|
||||||
Flock
|
|
||||||
Flotsam
|
|
||||||
Flower
|
|
||||||
Flu
|
|
||||||
Flush
|
|
||||||
Flutter
|
|
||||||
Fog
|
|
||||||
Foil
|
|
||||||
Football
|
|
||||||
Forehead
|
|
||||||
Forever
|
|
||||||
Fortnight
|
|
||||||
France
|
|
||||||
Freckle
|
|
||||||
Freight
|
|
||||||
Fringe
|
|
||||||
Frog
|
|
||||||
Frown
|
|
||||||
Gallop
|
|
||||||
Game
|
|
||||||
Garbage
|
|
||||||
Garden
|
|
||||||
Gasoline
|
|
||||||
Gem
|
|
||||||
Ginger
|
|
||||||
Gingerbread
|
|
||||||
Girl
|
|
||||||
Glasses
|
|
||||||
Goblin
|
|
||||||
Gold
|
|
||||||
Goodbye
|
|
||||||
Grandpa
|
|
||||||
Grape
|
|
||||||
Grass
|
|
||||||
Gratitude
|
|
||||||
Gray
|
|
||||||
Green
|
|
||||||
Guitar
|
|
||||||
Gum
|
|
||||||
Gumball
|
|
||||||
Hair
|
|
||||||
Half
|
|
||||||
Handle
|
|
||||||
Handwriting
|
|
||||||
Hang
|
|
||||||
Happy
|
|
||||||
Hat
|
|
||||||
Hatch
|
|
||||||
Headache
|
|
||||||
Heart
|
|
||||||
Hedge
|
|
||||||
Helicopter
|
|
||||||
Hem
|
|
||||||
Hide
|
|
||||||
Hill
|
|
||||||
Hockey
|
|
||||||
Homework
|
|
||||||
Honk
|
|
||||||
Hopscotch
|
|
||||||
Horse
|
|
||||||
Hose
|
|
||||||
Hot
|
|
||||||
House
|
|
||||||
Houseboat
|
|
||||||
Hug
|
|
||||||
Humidifier
|
|
||||||
Hungry
|
|
||||||
Hurdle
|
|
||||||
Hurt
|
|
||||||
Hut
|
|
||||||
Ice
|
|
||||||
Implode
|
|
||||||
Inn
|
|
||||||
Inquisition
|
|
||||||
Intern
|
|
||||||
Internet
|
|
||||||
Invitation
|
|
||||||
Ironic
|
|
||||||
Ivory
|
|
||||||
Ivy
|
|
||||||
Jade
|
|
||||||
Japan
|
|
||||||
Jeans
|
|
||||||
Jelly
|
|
||||||
Jet
|
|
||||||
Jig
|
|
||||||
Jog
|
|
||||||
Journal
|
|
||||||
Jump
|
|
||||||
Key
|
|
||||||
Killer
|
|
||||||
Kilogram
|
|
||||||
King
|
|
||||||
Kitchen
|
|
||||||
Kite
|
|
||||||
Knee
|
|
||||||
Kneel
|
|
||||||
Knife
|
|
||||||
Knight
|
|
||||||
Koala
|
|
||||||
Lace
|
|
||||||
Ladder
|
|
||||||
Ladybug
|
|
||||||
Lag
|
|
||||||
Landfill
|
|
||||||
Lap
|
|
||||||
Laugh
|
|
||||||
Laundry
|
|
||||||
Law
|
|
||||||
Lawn
|
|
||||||
Lawnmower
|
|
||||||
Leak
|
|
||||||
Leg
|
|
||||||
Letter
|
|
||||||
Level
|
|
||||||
Lifestyle
|
|
||||||
Ligament
|
|
||||||
Light
|
|
||||||
Lightsaber
|
|
||||||
Lime
|
|
||||||
Lion
|
|
||||||
Lizard
|
|
||||||
Log
|
|
||||||
Loiterer
|
|
||||||
Lollipop
|
|
||||||
Loveseat
|
|
||||||
Loyalty
|
|
||||||
Lunch
|
|
||||||
Lunchbox
|
|
||||||
Lyrics
|
|
||||||
Machine
|
|
||||||
Macho
|
|
||||||
Mailbox
|
|
||||||
Mammoth
|
|
||||||
Mark
|
|
||||||
Mars
|
|
||||||
Mascot
|
|
||||||
Mast
|
|
||||||
Matchstick
|
|
||||||
Mate
|
|
||||||
Mattress
|
|
||||||
Mess
|
|
||||||
Mexico
|
|
||||||
Midsummer
|
|
||||||
Mine
|
|
||||||
Mistake
|
|
||||||
Modern
|
|
||||||
Mold
|
|
||||||
Mom
|
|
||||||
Monday
|
|
||||||
Money
|
|
||||||
Monitor
|
|
||||||
Monster
|
|
||||||
Mooch
|
|
||||||
Moon
|
|
||||||
Mop
|
|
||||||
Moth
|
|
||||||
Motorcycle
|
|
||||||
Mountain
|
|
||||||
Mouse
|
|
||||||
Mower
|
|
||||||
Mud
|
|
||||||
Music
|
|
||||||
Mute
|
|
||||||
Nature
|
|
||||||
Negotiate
|
|
||||||
Neighbor
|
|
||||||
Nest
|
|
||||||
Neutron
|
|
||||||
Niece
|
|
||||||
Night
|
|
||||||
Nightmare
|
|
||||||
Nose
|
|
||||||
Oar
|
|
||||||
Observatory
|
|
||||||
Office
|
|
||||||
Oil
|
|
||||||
Old
|
|
||||||
Olympian
|
|
||||||
Opaque
|
|
||||||
Opener
|
|
||||||
Orbit
|
|
||||||
Organ
|
|
||||||
Organize
|
|
||||||
Outer
|
|
||||||
Outside
|
|
||||||
Ovation
|
|
||||||
Overture
|
|
||||||
Pail
|
|
||||||
Paint
|
|
||||||
Pajamas
|
|
||||||
Palace
|
|
||||||
Pants
|
|
||||||
Paper
|
|
||||||
Paper
|
|
||||||
Park
|
|
||||||
Parody
|
|
||||||
Party
|
|
||||||
Password
|
|
||||||
Pastry
|
|
||||||
Pawn
|
|
||||||
Pear
|
|
||||||
Pen
|
|
||||||
Pencil
|
|
||||||
Pendulum
|
|
||||||
Penis
|
|
||||||
Penny
|
|
||||||
Pepper
|
|
||||||
Personal
|
|
||||||
Philosopher
|
|
||||||
Phone
|
|
||||||
Photograph
|
|
||||||
Piano
|
|
||||||
Picnic
|
|
||||||
Pigpen
|
|
||||||
Pillow
|
|
||||||
Pilot
|
|
||||||
Pinch
|
|
||||||
Ping
|
|
||||||
Pinwheel
|
|
||||||
Pirate
|
|
||||||
Plaid
|
|
||||||
Plan
|
|
||||||
Plank
|
|
||||||
Plate
|
|
||||||
Platypus
|
|
||||||
Playground
|
|
||||||
Plow
|
|
||||||
Plumber
|
|
||||||
Pocket
|
|
||||||
Poem
|
|
||||||
Point
|
|
||||||
Pole
|
|
||||||
Pomp
|
|
||||||
Pong
|
|
||||||
Pool
|
|
||||||
Popsicle
|
|
||||||
Population
|
|
||||||
Portfolio
|
|
||||||
Positive
|
|
||||||
Post
|
|
||||||
Princess
|
|
||||||
Procrastinate
|
|
||||||
Protestant
|
|
||||||
Psychologist
|
|
||||||
Publisher
|
|
||||||
Punk
|
|
||||||
Puppet
|
|
||||||
Puppy
|
|
||||||
Push
|
|
||||||
Puzzle
|
|
||||||
Quarantine
|
|
||||||
Queen
|
|
||||||
Quicksand
|
|
||||||
Quiet
|
|
||||||
Race
|
|
||||||
Radio
|
|
||||||
Raft
|
|
||||||
Rag
|
|
||||||
Rainbow
|
|
||||||
Rainwater
|
|
||||||
Random
|
|
||||||
Ray
|
|
||||||
Recycle
|
|
||||||
Red
|
|
||||||
Regret
|
|
||||||
Reimbursement
|
|
||||||
Retaliate
|
|
||||||
Rib
|
|
||||||
Riddle
|
|
||||||
Rim
|
|
||||||
Rink
|
|
||||||
Roller
|
|
||||||
Room
|
|
||||||
Rose
|
|
||||||
Round
|
|
||||||
Roundabout
|
|
||||||
Rung
|
|
||||||
Runt
|
|
||||||
Rut
|
|
||||||
Sad
|
|
||||||
Safe
|
|
||||||
Salmon
|
|
||||||
Salt
|
|
||||||
Sandbox
|
|
||||||
Sandcastle
|
|
||||||
Sandwich
|
|
||||||
Sash
|
|
||||||
Satellite
|
|
||||||
Scar
|
|
||||||
Scared
|
|
||||||
School
|
|
||||||
Scoundrel
|
|
||||||
Scramble
|
|
||||||
Scuff
|
|
||||||
Seashell
|
|
||||||
Season
|
|
||||||
Sentence
|
|
||||||
Sequins
|
|
||||||
Set
|
|
||||||
Shaft
|
|
||||||
Shallow
|
|
||||||
Shampoo
|
|
||||||
Shark
|
|
||||||
Sheep
|
|
||||||
Sheets
|
|
||||||
Sheriff
|
|
||||||
Shipwreck
|
|
||||||
Shirt
|
|
||||||
Shoelace
|
|
||||||
Short
|
|
||||||
Shower
|
|
||||||
Shrink
|
|
||||||
Sick
|
|
||||||
Siesta
|
|
||||||
Silhouette
|
|
||||||
Singer
|
|
||||||
Sip
|
|
||||||
Skate
|
|
||||||
Skating
|
|
||||||
Ski
|
|
||||||
Slam
|
|
||||||
Sleep
|
|
||||||
Sling
|
|
||||||
Slow
|
|
||||||
Slump
|
|
||||||
Smith
|
|
||||||
Sneeze
|
|
||||||
Snow
|
|
||||||
Snuggle
|
|
||||||
Song
|
|
||||||
Space
|
|
||||||
Spare
|
|
||||||
Speakers
|
|
||||||
Spider
|
|
||||||
Spit
|
|
||||||
Sponge
|
|
||||||
Spool
|
|
||||||
Spoon
|
|
||||||
Spring
|
|
||||||
Sprinkler
|
|
||||||
Spy
|
|
||||||
Square
|
|
||||||
Squint
|
|
||||||
Stairs
|
|
||||||
Standing
|
|
||||||
Star
|
|
||||||
State
|
|
||||||
Stick
|
|
||||||
Stockholder
|
|
||||||
Stoplight
|
|
||||||
Stout
|
|
||||||
Stove
|
|
||||||
Stowaway
|
|
||||||
Straw
|
|
||||||
Stream
|
|
||||||
Streamline
|
|
||||||
Stripe
|
|
||||||
Student
|
|
||||||
Sun
|
|
||||||
Sunburn
|
|
||||||
Sushi
|
|
||||||
Swamp
|
|
||||||
Swarm
|
|
||||||
Sweater
|
|
||||||
Swimming
|
|
||||||
Swing
|
|
||||||
Tachometer
|
|
||||||
Talk
|
|
||||||
Taxi
|
|
||||||
Teacher
|
|
||||||
Teapot
|
|
||||||
Teenager
|
|
||||||
Telephone
|
|
||||||
Ten
|
|
||||||
Tennis
|
|
||||||
Thief
|
|
||||||
Think
|
|
||||||
Throne
|
|
||||||
Through
|
|
||||||
Thunder
|
|
||||||
Tide
|
|
||||||
Tiger
|
|
||||||
Time
|
|
||||||
Tinting
|
|
||||||
Tiptoe
|
|
||||||
Tiptop
|
|
||||||
Tired
|
|
||||||
Tissue
|
|
||||||
Toast
|
|
||||||
Toilet
|
|
||||||
Tool
|
|
||||||
Toothbrush
|
|
||||||
Tornado
|
|
||||||
Tournament
|
|
||||||
Tractor
|
|
||||||
Train
|
|
||||||
Trash
|
|
||||||
Treasure
|
|
||||||
Tree
|
|
||||||
Triangle
|
|
||||||
Trip
|
|
||||||
Truck
|
|
||||||
Tub
|
|
||||||
Tuba
|
|
||||||
Tutor
|
|
||||||
Television
|
|
||||||
Twang
|
|
||||||
Twig
|
|
||||||
Twitterpated
|
|
||||||
Type
|
|
||||||
Unemployed
|
|
||||||
Upgrade
|
|
||||||
Vest
|
|
||||||
Vision
|
|
||||||
Wag
|
|
||||||
Water
|
|
||||||
Watermelon
|
|
||||||
Wax
|
|
||||||
Wedding
|
|
||||||
Weed
|
|
||||||
Welder
|
|
||||||
Whatever
|
|
||||||
Wheelchair
|
|
||||||
Whiplash
|
|
||||||
Whisk
|
|
||||||
Whistle
|
|
||||||
White
|
|
||||||
Wig
|
|
||||||
Will
|
|
||||||
Windmill
|
|
||||||
Winter
|
|
||||||
Wish
|
|
||||||
Wolf
|
|
||||||
Wool
|
|
||||||
World
|
|
||||||
Worm
|
|
||||||
Wristwatch
|
|
||||||
Yardstick
|
|
||||||
Zamboni
|
|
||||||
Zen
|
|
||||||
Zero
|
|
||||||
Zipper
|
|
||||||
Zone
|
|
||||||
Zoo
|
|
|
@ -9,7 +9,6 @@ var (
|
||||||
Default = load("/default.txt")
|
Default = load("/default.txt")
|
||||||
Duet = load("/duet.txt")
|
Duet = load("/duet.txt")
|
||||||
Undercover = load("/undercover.txt")
|
Undercover = load("/undercover.txt")
|
||||||
Expanded = load("/expanded.txt")
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func load(filename string) words.List {
|
func load(filename string) words.List {
|
||||||
|
|
|
@ -17,5 +17,4 @@ func TestLen(t *testing.T) {
|
||||||
testLen(t, "Default", static.Default, 400)
|
testLen(t, "Default", static.Default, 400)
|
||||||
testLen(t, "Duet", static.Duet, 400)
|
testLen(t, "Duet", static.Duet, 400)
|
||||||
testLen(t, "Undercover", static.Undercover, 390)
|
testLen(t, "Undercover", static.Undercover, 390)
|
||||||
testLen(t, "Expanded", static.Undercover, 673)
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue