enter sveltekit
parent
29255ea347
commit
702fefcd09
|
@ -0,0 +1,15 @@
|
|||
module.exports = {
|
||||
root: true,
|
||||
extends: ['eslint:recommended', 'prettier'],
|
||||
plugins: ['svelte3'],
|
||||
overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
|
||||
parserOptions: {
|
||||
sourceType: 'module',
|
||||
ecmaVersion: 2019
|
||||
},
|
||||
env: {
|
||||
browser: true,
|
||||
es2017: true,
|
||||
node: true
|
||||
}
|
||||
};
|
|
@ -1,5 +1,8 @@
|
|||
.DS_Store
|
||||
node_modules
|
||||
.nyc_output
|
||||
pnpm-lock.yaml
|
||||
public/build
|
||||
public/bundle.*
|
||||
/.svelte
|
||||
/build
|
||||
/functions
|
||||
.svelte-kit/
|
||||
.vercel_build_output/
|
||||
package-lock.json
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
15.14.0
|
|
@ -0,0 +1,4 @@
|
|||
.svelte/**
|
||||
static/**
|
||||
build/**
|
||||
node_modules/**
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"useTabs": true,
|
||||
"singleQuote": true,
|
||||
"trailingComma": "none",
|
||||
"printWidth": 100
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
|
||||
<base href="./" >
|
||||
|
||||
<meta charset='utf-8'>
|
||||
<meta name='viewport' content='width=device-width,initial-scale=1'>
|
||||
|
||||
<title>Svelte app</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono">
|
||||
|
||||
<link rel='icon' type='image/png' href='/favicon.png'>
|
||||
<link rel='stylesheet' href='./global.css'>
|
||||
<link rel='stylesheet' href='./bundle.css'>
|
||||
|
||||
<!--
|
||||
<link rel='stylesheet' href='/materialize/materialize.css'>
|
||||
<script src="/materialize/materialize.js"></script>
|
||||
-->
|
||||
|
||||
<script>
|
||||
process = { env: { NODE_ENV: 'production' } };
|
||||
</script>
|
||||
<script defer src='./bundle.js'></script>
|
||||
|
||||
<style>
|
||||
.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}
|
||||
@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- github ribbon from https://tholman.com/github-corners/ -->
|
||||
<a href="https://github.com/yanick/aotds-shipyard"
|
||||
class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a>
|
||||
|
||||
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"$lib/*": ["src/lib/*"]
|
||||
}
|
||||
},
|
||||
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"]
|
||||
}
|
162
package.json
162
package.json
|
@ -1,139 +1,33 @@
|
|||
{
|
||||
"author": "Yanick Champoux <yanick@babyl.ca>",
|
||||
"dependencies": {
|
||||
"@babel/cli": "^7.10.1",
|
||||
"@babel/core": "^7.10.2",
|
||||
"@babel/node": "^7.10.1",
|
||||
"@material/animation": "^7.0.0",
|
||||
"@material/base": "^7.0.0",
|
||||
"@material/density": "^7.0.0",
|
||||
"@material/feature-targeting": "^7.0.0",
|
||||
"@material/floating-label": "^7.0.0",
|
||||
"@material/line-ripple": "^7.0.0",
|
||||
"@material/notched-outline": "^7.0.0",
|
||||
"@material/ripple": "^7.0.0",
|
||||
"@material/rtl": "^7.0.0",
|
||||
"@material/shape": "^7.0.0",
|
||||
"@material/textfield": "^6.0.0",
|
||||
"@material/theme": "^7.0.0",
|
||||
"@material/typography": "^7.0.0",
|
||||
"@smui/floating-label": "^1.0.0-beta.21",
|
||||
"@smui/line-ripple": "^1.0.0-beta.21",
|
||||
"@smui/notched-outline": "^1.0.0-beta.21",
|
||||
"@smui/textfield": "^1.0.0-beta.21",
|
||||
"@storybook/svelte": "^5.3.19",
|
||||
"babel-loader": "^8.1.0",
|
||||
"css-loader": "^3.6.0",
|
||||
"dart-sass": "^1.25.0",
|
||||
"lodash": "^4.17.15",
|
||||
"mini-css-extract-plugin": "^0.9.0",
|
||||
"node-sass": "^4.14.1",
|
||||
"prettier": "2.0.5",
|
||||
"prettier-plugin-svelte": "1.1.0",
|
||||
"redux": "^4.0.5",
|
||||
"reselect": "^4.0.0",
|
||||
"rollup-plugin-css-only": "^2.1.0",
|
||||
"rollup-plugin-postcss": "^3.1.2",
|
||||
"rollup-plugin-scss": "^2.5.0",
|
||||
"sass": "^1.26.9",
|
||||
"sass-loader": "^8.0.2",
|
||||
"sirv-cli": "^0.4.4",
|
||||
"style-loader": "^1.2.1",
|
||||
"svelte-loader": "^2.13.6",
|
||||
"svelte3-redux": "^0.3.0",
|
||||
"ts-action": "^11.0.0",
|
||||
"updeep": "^1.2.0",
|
||||
"updux": "^2.1.0",
|
||||
"webpack": "^4.43.0",
|
||||
"webpack-cli": "^3.3.12",
|
||||
"webpack-dev-server": "^3.11.0"
|
||||
},
|
||||
"description": "Full Thrust ship builder",
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-alias": "^3.1.1",
|
||||
"@rollup/plugin-commonjs": "^12.0.0",
|
||||
"@rollup/plugin-node-resolve": "^8.0.0",
|
||||
"@storybook/addon-actions": "^5.3.19",
|
||||
"eslint": "7.4.0",
|
||||
"eslint-config-prettier": "6.11.0",
|
||||
"eslint-plugin-babel": "5.3.1",
|
||||
"eslint-plugin-lodash": "^7.1.0",
|
||||
"eslint-plugin-prettier": "3.1.4",
|
||||
"eslint-plugin-svelte3": "2.7.3",
|
||||
"eslint-plugin-you-dont-need-lodash-underscore": "^6.10.0",
|
||||
"file-loader": "^6.0.0",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"rollup": "^2.3.4",
|
||||
"rollup-plugin-livereload": "^1.0.0",
|
||||
"rollup-plugin-svelte": "^5.0.3",
|
||||
"rollup-plugin-terser": "^5.1.2",
|
||||
"svelte": "^3.0.0",
|
||||
"svelte-material-ui": "^1.0.0-beta.21",
|
||||
"svg-inline-loader": "^0.8.2",
|
||||
"tap": "^14.10.7"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"env": {
|
||||
"amd": true,
|
||||
"browser": true,
|
||||
"es6": true,
|
||||
"node": true
|
||||
},
|
||||
"extends": [
|
||||
"prettier",
|
||||
"eslint:recommended",
|
||||
"plugin:you-dont-need-lodash-underscore/compatible",
|
||||
"plugin:lodash/recommended"
|
||||
],
|
||||
"ignorePatterns": [
|
||||
"src/node_modules"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.svelte"
|
||||
],
|
||||
"processor": "svelte3/svelte3"
|
||||
}
|
||||
],
|
||||
"parserOptions": {
|
||||
"ecmaFeatures": {
|
||||
"modules": true
|
||||
},
|
||||
"ecmaVersion": "2020",
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": [
|
||||
"svelte3"
|
||||
],
|
||||
"rules": {
|
||||
"lodash/prefer-lodash-method": "off"
|
||||
}
|
||||
},
|
||||
"keywords": [
|
||||
"game"
|
||||
],
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"name": "aotds-docks",
|
||||
"prettier": {
|
||||
"svelteSortOrder": "markup-scripts-styles",
|
||||
"svelteStrictMode": false
|
||||
},
|
||||
"name": "~TODO~",
|
||||
"version": "0.0.1",
|
||||
"scripts": {
|
||||
"build": "NODE_ENV=production webpack",
|
||||
"lint": "npm-run-all --parallel \"lint:prettier -- {@}\" \"lint:eslint -- {@}\" --",
|
||||
"lint:eslint": "./scripts/eslint",
|
||||
"lint:eslint:fix": "npm run lint:eslint -- --fix",
|
||||
"lint:fix": "npm-run-all \"lint:eslint:fix -- {@}\" \"lint:prettier:fix -- {@}\" --",
|
||||
"lint:prettier": "./scripts/prettier",
|
||||
"lint:prettier:fix": "npm run lint:prettier -- --fix",
|
||||
"package": "./scripts/merge_package.pl",
|
||||
"start": "webpack-dev-server --open --content-base public",
|
||||
"test": "tap 'src/**test.js' --no-coverage"
|
||||
"dev": "svelte-kit dev",
|
||||
"build": "svelte-kit build",
|
||||
"preview": "svelte-kit preview",
|
||||
"lint": "prettier --check . && eslint --ignore-path .gitignore .",
|
||||
"format": "prettier --write ."
|
||||
},
|
||||
"tap": {
|
||||
"coverage": false
|
||||
"devDependencies": {
|
||||
"@sveltejs/kit": "^1.0.0-next.107",
|
||||
"eslint": "^7.22.0",
|
||||
"eslint-config-prettier": "^8.1.0",
|
||||
"eslint-plugin-svelte3": "^3.2.0",
|
||||
"prettier": "~2.2.1",
|
||||
"prettier-plugin-svelte": "^2.2.0",
|
||||
"svelte": "^3.34.0",
|
||||
"vite": "^2.2.3"
|
||||
},
|
||||
"version": "0.0.1"
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@sveltejs/adapter-node": "^1.0.0-next.18",
|
||||
"@sveltejs/adapter-static": "^1.0.0-next.9",
|
||||
"@yanick/updeep": "link:/home/yanick/work/javascript/updeep",
|
||||
"bulma": "^0.9.2",
|
||||
"lodash": "^4.17.21",
|
||||
"redux": "^4.1.0",
|
||||
"reselect": "^4.0.0",
|
||||
"ts-action": "^11.0.0",
|
||||
"updux": "link:/home/yanick/work/javascript/updux/"
|
||||
}
|
||||
}
|
||||
|
|
63
package.yml
63
package.yml
|
@ -1,63 +0,0 @@
|
|||
---
|
||||
_merge:
|
||||
- version
|
||||
- dependencies
|
||||
- devDependencies
|
||||
|
||||
name: aotds-docks
|
||||
description: Full Thrust ship builder
|
||||
|
||||
author: 'Yanick Champoux <yanick@babyl.ca>'
|
||||
|
||||
scripts:
|
||||
build: NODE_ENV=production webpack
|
||||
start: webpack-dev-server --open --content-base public
|
||||
|
||||
package: ./scripts/merge_package.pl
|
||||
|
||||
test: tap 'src/**test.js' --no-coverage
|
||||
|
||||
"lint:prettier": ./scripts/prettier
|
||||
"lint:eslint": ./scripts/eslint
|
||||
lint: npm-run-all --parallel "lint:prettier -- {@}" "lint:eslint -- {@}" --
|
||||
|
||||
"lint:prettier:fix": npm run lint:prettier -- --fix
|
||||
"lint:eslint:fix": npm run lint:eslint -- --fix
|
||||
"lint:fix": npm-run-all "lint:eslint:fix -- {@}" "lint:prettier:fix -- {@}" --
|
||||
|
||||
eslintConfig:
|
||||
env:
|
||||
amd: true
|
||||
browser: true
|
||||
es6: true
|
||||
node: true
|
||||
extends:
|
||||
- prettier
|
||||
- eslint:recommended
|
||||
- plugin:you-dont-need-lodash-underscore/compatible
|
||||
- plugin:lodash/recommended
|
||||
ignorePatterns:
|
||||
- src/node_modules
|
||||
overrides:
|
||||
- files:
|
||||
- '*.svelte'
|
||||
processor: svelte3/svelte3
|
||||
parserOptions:
|
||||
ecmaFeatures:
|
||||
modules: true
|
||||
ecmaVersion: '2020'
|
||||
sourceType: module
|
||||
plugins:
|
||||
- svelte3
|
||||
rules:
|
||||
lodash/prefer-lodash-method: off
|
||||
keywords: [ game ]
|
||||
license: ISC
|
||||
main: index.js
|
||||
|
||||
prettier:
|
||||
svelteSortOrder: markup-scripts-styles
|
||||
svelteStrictMode: false
|
||||
|
||||
tap:
|
||||
coverage: false
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
|
@ -1,36 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<meta name='viewport' content='width=device-width,initial-scale=1'>
|
||||
|
||||
<title>The Docks</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono">
|
||||
|
||||
<link rel="stylesheet" href="./fonts/faktos.css">
|
||||
<link rel="stylesheet" href="./fonts/dosis/dosis.css">
|
||||
|
||||
<link rel='icon' type='image/png' href='/favicon.png'>
|
||||
<link rel='stylesheet' href='./global.css'>
|
||||
<link rel='stylesheet' href='./css/buttons.css'>
|
||||
<link rel='stylesheet' href='./bundle.css'>
|
||||
|
||||
<link rel="stylesheet" href="print.css">
|
||||
|
||||
<!--
|
||||
<link rel='stylesheet' href='/materialize/materialize.css'>
|
||||
<script src="/materialize/materialize.js"></script>
|
||||
-->
|
||||
|
||||
<script>
|
||||
process = { env: { NODE_ENV: 'production' } };
|
||||
</script>
|
||||
<script defer src='./bundle.js'></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
102
rollup.config.js
102
rollup.config.js
|
@ -1,102 +0,0 @@
|
|||
import svelte from 'rollup-plugin-svelte';
|
||||
import resolve from '@rollup/plugin-node-resolve';
|
||||
import commonjs from '@rollup/plugin-commonjs';
|
||||
import alias from '@rollup/plugin-alias';
|
||||
import livereload from 'rollup-plugin-livereload';
|
||||
import { terser } from 'rollup-plugin-terser';
|
||||
import css from 'rollup-plugin-css-only';
|
||||
import postcss from 'rollup-plugin-postcss';
|
||||
import path from 'path';
|
||||
|
||||
const postcssOptions = () => ({
|
||||
extensions: ['.scss', '.sass'],
|
||||
extract: false,
|
||||
minimize: true,
|
||||
use: [
|
||||
['sass', {
|
||||
includePaths: [
|
||||
'./sass',
|
||||
'./node_modules',
|
||||
// This is only needed because we're using a local module. :-/
|
||||
// Normally, you would not need this line.
|
||||
path.resolve(__dirname, '..', 'node_modules')
|
||||
]
|
||||
}]
|
||||
]
|
||||
});
|
||||
|
||||
const production = !process.env.ROLLUP_WATCH;
|
||||
|
||||
export default {
|
||||
input: 'src/main.js',
|
||||
output: {
|
||||
sourcemap: true,
|
||||
format: 'iife',
|
||||
name: 'app',
|
||||
file: 'public/build/bundle.js'
|
||||
},
|
||||
plugins: [
|
||||
alias({
|
||||
entries: [
|
||||
{ find: '~', replacement: './src' },
|
||||
]
|
||||
}),
|
||||
// scss(),
|
||||
css({ output: 'public/build/import-bundle.css' }),
|
||||
svelte({
|
||||
// enable run-time checks when not in production
|
||||
dev: !production,
|
||||
// we'll extract any component CSS out into
|
||||
// a separate file - better for performance
|
||||
css: css => {
|
||||
css.write('public/build/bundle.css');
|
||||
}
|
||||
}),
|
||||
postcss(postcssOptions()),
|
||||
// If you have external dependencies installed from
|
||||
// npm, you'll most likely need these plugins. In
|
||||
// some cases you'll need additional configuration -
|
||||
// consult the documentation for details:
|
||||
// https://github.com/rollup/plugins/tree/master/packages/commonjs
|
||||
resolve({
|
||||
browser: true,
|
||||
dedupe: ['svelte']
|
||||
}),
|
||||
commonjs(),
|
||||
|
||||
// In dev mode, call `npm run start` once
|
||||
// the bundle has been generated
|
||||
!production && serve(),
|
||||
|
||||
// Watch the `public` directory and refresh the
|
||||
// browser on changes when not in production
|
||||
!production && livereload('public'),
|
||||
|
||||
// If we're building for production (npm run build
|
||||
// instead of npm run dev), minify
|
||||
production && terser()
|
||||
],
|
||||
watch: {
|
||||
clearScreen: false,
|
||||
chokidar: {
|
||||
usePolling: true
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function serve() {
|
||||
let started = false;
|
||||
|
||||
return {
|
||||
writeBundle() {
|
||||
if (!started) {
|
||||
started = true;
|
||||
|
||||
require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], {
|
||||
stdio: ['ignore', 'inherit', 'inherit'],
|
||||
shell: true
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="stylesheet" href="/bulma/bulma.css" />
|
||||
<link rel="stylesheet" href="/fonts/faktos.css">
|
||||
<link rel="stylesheet" href="/fonts/dosis/dosis.css">
|
||||
<link rel='stylesheet' href='/global.css'>
|
||||
%svelte.head%
|
||||
</head>
|
||||
<body>
|
||||
<div id="svelte">%svelte.body%</div>
|
||||
</body>
|
||||
</html>
|
|
@ -78,23 +78,23 @@
|
|||
<script>
|
||||
import { setContext } from "svelte";
|
||||
|
||||
import Header from './Header';
|
||||
import shipStore from "~/stores/ship";
|
||||
import Header from './Header.svelte';
|
||||
import shipStore from "../stores/ship";
|
||||
import OutputJson from './Output/Json.svelte';
|
||||
import Print from './Output/Print';
|
||||
import Print from './Output/Print/index.svelte';
|
||||
|
||||
import ShipSpecs from './ShipSpecs/index.svelte';
|
||||
import Notes from './Notes';
|
||||
import Notes from './Notes.svelte';
|
||||
import ShipItem from "./ShipItem/index.svelte";
|
||||
import Field from "./Field/index.svelte";
|
||||
import Hull from "./Hull";
|
||||
import Hull from "./Hull/index.svelte";
|
||||
import Firecons from "./Firecons.svelte";
|
||||
import Propulsion from "./Propulsion/index.svelte";
|
||||
import Section from "~C/Section";
|
||||
import Weapon from "~C/Weapon";
|
||||
import Carrier from "~C/Carrier";
|
||||
import ADFC from "~C/Weaponry/ADFC";
|
||||
import AddWeapon from "~C/Weaponry/AddWeapon";
|
||||
import Section from "./Section/index.svelte";
|
||||
import Weapon from "./Weapon/index.svelte";
|
||||
import Carrier from "./Carrier/index.svelte";
|
||||
import ADFC from "./Weaponry/ADFC/index.svelte";
|
||||
import AddWeapon from "./Weaponry/AddWeapon/index.svelte";
|
||||
|
||||
const ship = shipStore();
|
||||
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
<script>
|
||||
import {getContext } from 'svelte';
|
||||
|
||||
import Section from "~C/Section/index.svelte";
|
||||
import Field from "~C/Field/index.svelte";
|
||||
import ShipItem from "~C/ShipItem/index.svelte";
|
||||
import dux from '~/dux/carrier';
|
||||
import squadron_types from '~/dux/carrier/squadron_types';
|
||||
import Section from "$lib/components/Section/index.svelte";
|
||||
import Field from "$lib/components/Field/index.svelte";
|
||||
import ShipItem from "$lib/components/ShipItem/index.svelte";
|
||||
import dux from '$lib/dux/carrier';
|
||||
import squadron_types from '$lib/dux/carrier/squadron_types';
|
||||
|
||||
const types = squadron_types.map( ({type}) => type );
|
||||
|
||||
|
|
|
@ -14,11 +14,11 @@
|
|||
<script>
|
||||
import {getContext } from 'svelte';
|
||||
|
||||
import Section from "~C/Section/index.svelte";
|
||||
import Field from "~C/Field/index.svelte";
|
||||
import ShipItem from "~C/ShipItem/index.svelte";
|
||||
import Squadron from './Squadron';
|
||||
import dux from '~/dux/carrier';
|
||||
import Section from "../Section/index.svelte";
|
||||
import Field from "../Field/index.svelte";
|
||||
import ShipItem from "../ShipItem/index.svelte";
|
||||
import Squadron from './Squadron/index.svelte';
|
||||
import dux from '../../dux/carrier';
|
||||
|
||||
export let bays = 0;
|
||||
export let squadrons = [];
|
||||
|
|
|
@ -13,10 +13,11 @@
|
|||
|
||||
|
||||
<script>
|
||||
import Field from '~C/Field';
|
||||
import ShipItem from '~C/ShipItem';
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
|
||||
import Field from '$lib/components/Field/index.svelte';
|
||||
import ShipItem from '$lib/components/ShipItem/index.svelte';
|
||||
|
||||
export let cost;
|
||||
export let mass;
|
||||
export let advanced = false;
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
<script>
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
import ShipItem from '~C/ShipItem';
|
||||
import Field from '~C/Field';
|
||||
import ShipItem from './ShipItem/index.svelte';
|
||||
import Field from './Field/index.svelte';
|
||||
|
||||
export let nbr, cost, mass = (0,0,0);
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
<script>
|
||||
import { createEventDispatcher} from 'svelte';
|
||||
|
||||
import dux from '~/dux/structure/armour';
|
||||
import dux from '$lib/dux/structure/armour';
|
||||
|
||||
import ShipItem from '~C/ShipItem/index.svelte';
|
||||
import Field from '~C/Field/index.svelte';
|
||||
import ShipItem from '$lib/components/ShipItem/index.svelte';
|
||||
import Field from '$lib/components/Field/index.svelte';
|
||||
|
||||
export let layer = 1;
|
||||
export let rating = 0;
|
||||
|
|
|
@ -22,10 +22,10 @@
|
|||
<script>
|
||||
import { createEventDispatcher} from 'svelte';
|
||||
|
||||
import ShipItem from '~C/ShipItem/index.svelte';
|
||||
import Field from '~C/Field/index.svelte';
|
||||
import ShipItem from '$lib/components/ShipItem/index.svelte';
|
||||
import Field from '$lib/components/Field/index.svelte';
|
||||
import Layer from './Layer/index.svelte';
|
||||
import dux from '~/dux/structure/armour';
|
||||
import dux from '$lib/dux/structure/armour';
|
||||
import _ from 'lodash';
|
||||
|
||||
export let armour = [];
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
</ShipItem>
|
||||
|
||||
<script>
|
||||
import get from 'lodash/get';
|
||||
import ShipItem from '~C/ShipItem/index.svelte';
|
||||
import Field from '~C/Field/index.svelte';
|
||||
import dux from '~/dux/cargo';
|
||||
import get from 'lodash/get.js';
|
||||
import ShipItem from '$lib/components/ShipItem/index.svelte';
|
||||
import Field from '$lib/components/Field/index.svelte';
|
||||
import dux from '$lib/dux/cargo';
|
||||
|
||||
import {getContext, createEventDispatcher} from 'svelte';
|
||||
|
||||
|
|
|
@ -15,9 +15,9 @@
|
|||
<script>
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
|
||||
import Section from '~C/Section';
|
||||
import Field from '~C/Field';
|
||||
import ShipItem from '~C/ShipItem';
|
||||
import Section from '$lib/components/Section/index.svelte';
|
||||
import Field from '$lib/components/Field/index.svelte';
|
||||
import ShipItem from '../../ShipItem/index.svelte';
|
||||
|
||||
export let cost = 0;
|
||||
export let mass = 0;
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
</ShipItem>
|
||||
|
||||
<script>
|
||||
import get from 'lodash/get';
|
||||
import ShipItem from '~C/ShipItem/index.svelte';
|
||||
import Field from '~C/Field/index.svelte';
|
||||
import dux from '~/dux/streamlining';
|
||||
import get from 'lodash/get.js';
|
||||
import ShipItem from '$lib/components/ShipItem/index.svelte';
|
||||
import Field from '$lib/components/Field/index.svelte';
|
||||
import dux from '$lib/dux/streamlining';
|
||||
|
||||
import {getContext } from 'svelte';
|
||||
|
||||
|
|
|
@ -21,13 +21,13 @@
|
|||
<script>
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
|
||||
import Section from '~C/Section';
|
||||
import Field from '~C/Field';
|
||||
import ShipItem from '~C/ShipItem';
|
||||
import Screens from './Screens';
|
||||
import Armour from './Armour';
|
||||
import Cargo from './Cargo';
|
||||
import Streamlining from './Streamlining';
|
||||
import Section from '../Section/index.svelte';
|
||||
import Field from '../Field/index.svelte';
|
||||
import ShipItem from '../ShipItem/index.svelte';
|
||||
import Screens from './Screens/index.svelte';
|
||||
import Armour from './Armour/index.svelte';
|
||||
import Cargo from './Cargo/index.svelte';
|
||||
import Streamlining from './Streamlining/index.svelte';
|
||||
|
||||
export let cost, mass, ship_mass, rating, screens, armour = (
|
||||
0, 0, 10, 1, [], []
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
</div>
|
||||
|
||||
<script>
|
||||
import { ceil } from '~/dux/utils';
|
||||
import { ceil } from '$lib/dux/utils';
|
||||
|
||||
export let ship_mass = 0;
|
||||
export let rating = 0;
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
</div>
|
||||
|
||||
<script>
|
||||
import Integrity from './Integrity';
|
||||
import Armour from './Armour';
|
||||
import Integrity from './Integrity/index.svelte';
|
||||
import Armour from './Armour/index.svelte';
|
||||
|
||||
export let structure = {};
|
||||
export let ship_mass = 0;
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
</div>
|
||||
|
||||
<script>
|
||||
import Cost from '~C/Cost';
|
||||
import Mass from '~C/Mass';
|
||||
import Cost from '../../../Cost.svelte';
|
||||
import Mass from '$lib/components/Mass.svelte';
|
||||
|
||||
export let ship_class;
|
||||
export let ship_type;
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
</div>
|
||||
|
||||
<script>
|
||||
import Firecons from './Firecons';
|
||||
import Screens from './Screens';
|
||||
import Firecons from './Firecons/index.svelte';
|
||||
import Screens from './Screens/index.svelte';
|
||||
|
||||
export let firecons = 0;
|
||||
export let screens = {};
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
</div>
|
||||
|
||||
<script>
|
||||
import Arcs from '~C/Weapon/Arcs';
|
||||
import Arcs from '$lib/components/Weapon/Arcs/index.svelte';
|
||||
export let weapon_class = 1;
|
||||
export let arcs = [];
|
||||
</script>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
</div>
|
||||
|
||||
<script>
|
||||
import Beam from './Beam';
|
||||
import Beam from './Beam/index.svelte';
|
||||
export let weapons = [];
|
||||
|
||||
let beams = [];
|
||||
|
|
|
@ -23,11 +23,11 @@
|
|||
<script>
|
||||
import _ from 'lodash';
|
||||
|
||||
import Identification from './Identification';
|
||||
import MainSystems from './MainSystems';
|
||||
import Hull from './Hull';
|
||||
import Weapons from './Weapons';
|
||||
import Systems from './Systems';
|
||||
import Identification from './Identification/index.svelte';
|
||||
import MainSystems from './MainSystems/index.svelte';
|
||||
import Hull from './Hull/index.svelte';
|
||||
import Weapons from './Weapons/index.svelte';
|
||||
import Systems from './Systems/index.svelte';
|
||||
|
||||
export let ship;
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
<script>
|
||||
import { getContext } from 'svelte';
|
||||
|
||||
import Field from '~C/Field';
|
||||
import { candidate_ship_types } from '~/dux/ship_types';
|
||||
import Field from '$lib/components/Field/index.svelte';
|
||||
import { candidate_ship_types } from '../../dux/ship_types';
|
||||
|
||||
export let ship = getContext('ship');
|
||||
let general;
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
<script>
|
||||
import { getContext } from "svelte";
|
||||
import Field from "~C/Field";
|
||||
import Field from "$lib/components/Field/index.svelte";
|
||||
|
||||
export let ship = getContext("ship");
|
||||
|
||||
|
|
|
@ -22,13 +22,12 @@
|
|||
<script>
|
||||
import {getContext } from 'svelte';
|
||||
import Arc from '../../Weapons/Arc.svelte';
|
||||
import Arcs from '../Arcs';
|
||||
import { weapon_cost_mass } from '~/dux/weapons/rules';
|
||||
import fp from 'lodash/fp';
|
||||
import Arcs from '../Arcs/index.svelte';
|
||||
import { weapon_cost_mass } from '$lib/dux/weapons/rules';
|
||||
import _ from 'lodash';
|
||||
import ShipItem from '~C/ShipItem';
|
||||
import Field from '~C/Field';
|
||||
import dux from '~/dux';
|
||||
import ShipItem from '$lib/components/ShipItem/index.svelte';
|
||||
import Field from '$lib/components/Field/index.svelte';
|
||||
import dux from '$lib/dux';
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
|
||||
const all_arcs = [ 'FS', 'F', 'FP', 'AP', 'A', 'AS' ];
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
<script>
|
||||
import {getContext } from 'svelte';
|
||||
import Arcs from '../Arcs';
|
||||
import dux from '~/dux';
|
||||
import Arcs from '../Arcs/index.svelte';
|
||||
import dux from '$lib/dux';
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
|
||||
const all_arcs = [ 'FS', 'F', 'FP', 'AP', 'A', 'AS' ];
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
<script>
|
||||
import {getContext } from 'svelte';
|
||||
import Arcs from '../Arcs';
|
||||
import dux from '~/dux';
|
||||
import Arcs from '../Arcs/index.svelte';
|
||||
import dux from '$lib/dux';
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
|
||||
const all_arcs = [ 'FS', 'F', 'FP', 'AP', 'A', 'AS' ];
|
||||
|
|
|
@ -16,17 +16,16 @@
|
|||
|
||||
import Arc from '../Weapons/Arc.svelte';
|
||||
import { weapon_cost_mass } from '../../dux/weapons/rules.js';
|
||||
import fp from 'lodash/fp';
|
||||
import _ from 'lodash';
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
import ShipItem from '~C/ShipItem';
|
||||
import Field from '~C/Field';
|
||||
import Beam from './Beam';
|
||||
import Submunition from './Submunition';
|
||||
import PointDefenceSystem from './PointDefenceSystem';
|
||||
import Scattergun from './Scattergun';
|
||||
import Needle from './Needle';
|
||||
import dux from '~/dux';
|
||||
import ShipItem from '../ShipItem/index.svelte';
|
||||
import Field from '../Field/index.svelte';
|
||||
import Beam from './Beam/index.svelte';
|
||||
import Submunition from './Submunition/index.svelte';
|
||||
import PointDefenceSystem from './PointDefenceSystem/index.svelte';
|
||||
import Scattergun from './Scattergun/index.svelte';
|
||||
import Needle from './Needle/index.svelte';
|
||||
import dux from '../../dux';
|
||||
|
||||
const weapon_component = {
|
||||
beam: Beam,
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
|
||||
|
||||
<script>
|
||||
import get from "lodash/get";
|
||||
import ShipItem from "~C/ShipItem/index.svelte";
|
||||
import Field from "~C/Field/index.svelte";
|
||||
import dux from "~/dux";
|
||||
import get from "lodash/get.js";
|
||||
import ShipItem from "../../ShipItem/index.svelte";
|
||||
import Field from "../../Field/index.svelte";
|
||||
import dux from "../../../dux";
|
||||
|
||||
import { getContext } from "svelte";
|
||||
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
</Field>
|
||||
|
||||
<script>
|
||||
import Field from '~C/Field';
|
||||
import Field from '../../Field/index.svelte';
|
||||
import {getContext } from 'svelte';
|
||||
import dux from '~/dux';
|
||||
import dux from '../../../dux';
|
||||
|
||||
export let weapon_type = "beam";
|
||||
export let ship_change = getContext('ship_change') || ( () => {} );
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
'FS', 'F', 'FP', 'AP', 'A', 'AS'
|
||||
];
|
||||
|
||||
import fp from 'lodash/fp';
|
||||
import _ from 'lodash';
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from "reselect";
|
||||
|
||||
const dux = new Updux({
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
import _ from 'lodash';
|
||||
import { createSelector } from "reselect";
|
||||
|
||||
|
@ -19,27 +19,27 @@ const dux = new Updux({
|
|||
|
||||
const set_squadron = action('set_squadron',payload());
|
||||
|
||||
dux.addMutation(set_squadron, ({id,type}) => u({ squadrons: u.map(
|
||||
dux.addMutation(set_squadron, ({id,type}) => u.update({ squadrons: u.map(
|
||||
u.if(_.matches({id}), u({type, cost: 6 * _.find(squadron_types,{type}).cost, mass: 6 }))
|
||||
)}));
|
||||
|
||||
const set_carrier_bays = action('set_carrier_bays', payload() );
|
||||
|
||||
dux.addMutation( set_carrier_bays, bays => state => {
|
||||
state = u({
|
||||
state = u.update({
|
||||
bays,
|
||||
mass: 1.5*6*bays,
|
||||
cost: 3 * 1.5 * 6 * bays,
|
||||
})(state);
|
||||
|
||||
if( state.squadrons.length > bays ) {
|
||||
state = u({
|
||||
state = u.update({
|
||||
squadrons: squadrons => squadrons.slice(0,bays)
|
||||
}, state)
|
||||
}
|
||||
|
||||
if( state.squadrons.length < bays ) {
|
||||
state = u({
|
||||
state = u.update({
|
||||
squadrons: squadrons => [ ...squadrons, ..._.times(
|
||||
bays - state.squadrons.length, i => ({
|
||||
id: 1 + i + state.squadrons.length,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from 'updux';
|
||||
import { action, payload } from 'ts-action';
|
||||
import u from 'updeep';
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from 'reselect';
|
||||
|
||||
const set_engine = action('set_engine',payload());
|
||||
|
@ -14,8 +14,8 @@ const dux = new Updux({
|
|||
}
|
||||
});
|
||||
|
||||
dux.addMutation(set_engine, engine => u(engine));
|
||||
dux.addMutation(set_drive_reqs, rate => u(rate));
|
||||
dux.addMutation(set_engine, engine => u.update(engine));
|
||||
dux.addMutation(set_drive_reqs, rate => u.update(rate));
|
||||
|
||||
export function calc_drive_reqs(ship_mass,rating,advanced=false) {
|
||||
const mass = Math.ceil(rating * 0.05 * ship_mass);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from 'updux';
|
||||
import Updux from "updux";
|
||||
import { action, payload } from 'ts-action';
|
||||
import u from 'updeep';
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from 'reselect';
|
||||
import { calc_ftl_reqs } from './rules';
|
||||
|
||||
|
@ -9,6 +9,7 @@ const set_ftl = action('set_ftl',payload());
|
|||
|
||||
const set_ftl_reqs = action('set_ftl_reqs', payload() );
|
||||
|
||||
console.log(Updux);
|
||||
const dux = new Updux({
|
||||
initial: {
|
||||
mass: 0,
|
||||
|
@ -17,7 +18,8 @@ const dux = new Updux({
|
|||
}
|
||||
});
|
||||
|
||||
dux.addMutation(set_ftl, type => u({type}));
|
||||
dux.addMutation(set_ftl_reqs, reqs => u(reqs) );
|
||||
dux.addMutation(set_ftl, type => u.update({type}));
|
||||
dux.addMutation(set_ftl_reqs, reqs => u.update(reqs) );
|
||||
|
||||
export default dux.asDux;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from "reselect";
|
||||
|
||||
import ftl from "./ftl";
|
||||
|
@ -13,7 +13,7 @@ import structure from './structure';
|
|||
import cargo from './cargo';
|
||||
import streamlining from './streamlining';
|
||||
import carrier from './carrier';
|
||||
import { ceil } from '~/dux/utils';
|
||||
import { ceil } from './utils';
|
||||
|
||||
const set_ship_mass = action("set_ship_mass", payload());
|
||||
const set_name = action("set_name", payload());
|
||||
|
@ -36,6 +36,8 @@ const initial = {
|
|||
},
|
||||
};
|
||||
|
||||
console.log(Updux);
|
||||
|
||||
const dux = new Updux({
|
||||
subduxes: { ftl, engine, weaponry, structure, cargo, streamlining, carrier },
|
||||
initial
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from "reselect";
|
||||
|
||||
const dux = new Updux({
|
||||
|
@ -13,10 +13,10 @@ const dux = new Updux({
|
|||
|
||||
const set_streamlining = action('set_streamlining',payload());
|
||||
|
||||
dux.addMutation(set_streamlining, type => u({type}) );
|
||||
dux.addMutation(set_streamlining, type => u.update({type}) );
|
||||
|
||||
const set_streamlining_cost_mass = action('set_streamlining_cost_mass',payload());
|
||||
|
||||
dux.addMutation( set_streamlining_cost_mass, reqs => u(reqs) );
|
||||
dux.addMutation( set_streamlining_cost_mass, reqs => u.update(reqs) );
|
||||
|
||||
export default dux.asDux;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from "reselect";
|
||||
import _ from 'lodash';
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from "reselect";
|
||||
|
||||
import screens from './screens';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from "reselect";
|
||||
|
||||
const dux = new Updux({
|
||||
|
@ -10,9 +10,9 @@ const dux = new Updux({
|
|||
});
|
||||
|
||||
const set_screens = action('set_screens', payload() );
|
||||
dux.addMutation(set_screens, payload => u(payload) );
|
||||
dux.addMutation(set_screens, payload => u.update(payload) );
|
||||
|
||||
const set_screens_reqs = action('set_screens_reqs', payload() );
|
||||
dux.addMutation(set_screens_reqs, payload => u(payload) );
|
||||
dux.addMutation(set_screens_reqs, payload => u.update(payload) );
|
||||
|
||||
export default dux.asDux;
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
import fp from 'lodash/fp';
|
||||
import flow from 'lodash/fp/flow.js';
|
||||
import sumBy from 'lodash/fp/sumBy.js';
|
||||
import pick from 'lodash/fp/pick.js';
|
||||
import filter from 'lodash/fp/filter.js';
|
||||
import flattenDeep from 'lodash/fp/flattenDeep.js';
|
||||
import has from 'lodash/fp/has.js';
|
||||
|
||||
const expand_cost_mass = (obj={}) => ([
|
||||
fp.pick(['cost','mass'],obj),
|
||||
pick(['cost','mass'],obj),
|
||||
...Object.values(obj || {}).filter( val => typeof val === 'object' ).map(
|
||||
val => expand_cost_mass(val)
|
||||
)
|
||||
|
@ -14,18 +19,18 @@ export function calc_ship_req(ship) {
|
|||
|
||||
//if(!general) general = {};
|
||||
|
||||
const items = fp.flow(
|
||||
const items = flow(
|
||||
expand_cost_mass,
|
||||
fp.flattenDeep,
|
||||
fp.filter(fp.has('cost'))
|
||||
flattenDeep,
|
||||
filter(has('cost'))
|
||||
)({
|
||||
...rest,
|
||||
cost: general.mass, mass: 0
|
||||
})
|
||||
|
||||
return {
|
||||
mass: fp.sumBy('mass',items),
|
||||
cost: fp.sumBy('cost',items),
|
||||
mass: sumBy('mass',items),
|
||||
cost: sumBy('cost',items),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
|
||||
const dux = new Updux({
|
||||
initial: {
|
||||
|
@ -11,7 +11,7 @@ const dux = new Updux({
|
|||
})
|
||||
|
||||
dux.addMutation( action( 'set_adfc', payload() ), rating =>
|
||||
u({ rating, mass: 2 * rating, cost: 8 * rating })
|
||||
u.update({ rating, mass: 2 * rating, cost: 8 * rating })
|
||||
);
|
||||
|
||||
export default dux.asDux;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from "reselect";
|
||||
|
||||
import weapons from './weapons';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Updux from "updux";
|
||||
import { action, payload } from "ts-action";
|
||||
import u from "updeep";
|
||||
import u from "@yanick/updeep";
|
||||
import { createSelector } from "reselect";
|
||||
import { weapon_cost_mass } from "../../weapons/rules";
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
/// <reference types="@sveltejs/kit" />
|
||||
/// <reference types="svelte" />
|
||||
/// <reference types="vite/client" />
|
|
@ -0,0 +1,6 @@
|
|||
<App />
|
||||
|
||||
<script>
|
||||
import App from '../components/App.svelte';
|
||||
</script>
|
||||
|
|
@ -1,15 +1,22 @@
|
|||
import { browser } from '$app/env';
|
||||
import { readable } from "svelte/store";
|
||||
import { compose, applyMiddleware } from "redux";
|
||||
|
||||
import { calc_ship_req } from "../dux/utils";
|
||||
|
||||
const composeEnhancers =
|
||||
(window && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) || compose;
|
||||
let composeEnhancers = compose;
|
||||
|
||||
if(browser) {
|
||||
composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;
|
||||
}
|
||||
|
||||
import shipDux from "../dux";
|
||||
|
||||
export default () => {
|
||||
let saved = window && window.localStorage.getItem('aotds-shipyard');
|
||||
let saved;
|
||||
|
||||
if(browser) saved = window.localStorage.getItem('aotds-shipyard');
|
||||
|
||||
if( saved ) {
|
||||
saved = JSON.parse(saved);
|
||||
}
|
||||
|
@ -38,7 +45,7 @@ export default () => {
|
|||
previous = current;
|
||||
console.log(current);
|
||||
|
||||
window && window.localStorage.setItem(
|
||||
if(browser)window.localStorage.setItem(
|
||||
'aotds-shipyard', JSON.stringify(current)
|
||||
);
|
||||
});
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
import adapter from '@sveltejs/adapter-static';
|
||||
|
||||
/** @type {import('@sveltejs/kit').Config} */
|
||||
export default {
|
||||
kit: {
|
||||
// hydrate the <div id="svelte"> element in src/app.html
|
||||
target: '#svelte',
|
||||
adapter: adapter(),
|
||||
files: {
|
||||
lib: './src',
|
||||
assets: './public',
|
||||
},
|
||||
vite: {
|
||||
build: {
|
||||
rollupOptions: {
|
||||
// external: ['updux','@yanick/updeep']
|
||||
}
|
||||
}
|
||||
}},
|
||||
};
|
|
@ -1,86 +0,0 @@
|
|||
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
||||
const path = require("path");
|
||||
|
||||
const mode = process.env.NODE_ENV || "development";
|
||||
const prod = mode === "production";
|
||||
|
||||
module.exports = {
|
||||
entry: {
|
||||
bundle: ["./src/main.js"],
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
svelte: path.resolve("node_modules", "svelte"),
|
||||
'~': path.resolve(__dirname, 'src/'),
|
||||
'~C': path.resolve(__dirname, 'src/components/'),
|
||||
},
|
||||
extensions: [".mjs", ".js", ".svelte"],
|
||||
mainFields: ["svelte", "browser", "module", "main"],
|
||||
},
|
||||
output: {
|
||||
path: __dirname + "/public",
|
||||
filename: "[name].js",
|
||||
chunkFilename: "[name].[id].js",
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.svelte$/,
|
||||
use: {
|
||||
loader: "svelte-loader",
|
||||
options: {
|
||||
emitCss: true,
|
||||
hotReload: true,
|
||||
dev: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: [
|
||||
/**
|
||||
* MiniCssExtractPlugin doesn't support HMR.
|
||||
* For developing, use 'style-loader' instead.
|
||||
* */
|
||||
prod ? MiniCssExtractPlugin.loader : "style-loader",
|
||||
{ loader: "css-loader",
|
||||
options: {url: false}
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
test: /\.svg$/,
|
||||
loader: 'file-loader'
|
||||
},
|
||||
{
|
||||
test: /\.s[ac]ss$/i,
|
||||
use: [
|
||||
// Creates `style` nodes from JS strings
|
||||
"style-loader",
|
||||
// Translates CSS into CommonJS
|
||||
"css-loader",
|
||||
// Compiles Sass to CSS
|
||||
{
|
||||
loader: "sass-loader",
|
||||
options: {
|
||||
webpackImporter: false,
|
||||
//implementation: require("node-sass"),
|
||||
implementation: require("sass"),
|
||||
sassOptions: {
|
||||
indentWidth: 4,
|
||||
includePaths: ["sass", "node_modules"],
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
mode,
|
||||
plugins: [
|
||||
new MiniCssExtractPlugin({
|
||||
filename: "[name].css",
|
||||
}),
|
||||
],
|
||||
devtool: prod ? false : "source-map",
|
||||
};
|
Loading…
Reference in New Issue