Reduced bundle size using dynamic imports for Vue components
This commit is contained in:
@@ -5,15 +5,10 @@
|
||||
|
||||
accounts-password
|
||||
random
|
||||
dburles:collection-helpers
|
||||
reactive-var
|
||||
underscore
|
||||
momentjs:moment
|
||||
dburles:mongo-collection-instances
|
||||
accounts-google
|
||||
email
|
||||
meteorhacks:subs-manager
|
||||
chuangbo:marked
|
||||
meteor-base
|
||||
mobile-experience
|
||||
mongo
|
||||
@@ -25,22 +20,17 @@ ejson
|
||||
check
|
||||
standard-minifier-js
|
||||
shell-server
|
||||
templates:array
|
||||
ecmascript
|
||||
es5-shim
|
||||
reactive-dict
|
||||
percolate:synced-cron
|
||||
ongoworks:speakingurl
|
||||
service-configuration
|
||||
dynamic-import
|
||||
ddp-rate-limiter
|
||||
rate-limit
|
||||
mdg:validated-method
|
||||
akryum:vue-router2
|
||||
static-html
|
||||
aldeed:collection2
|
||||
aldeed:schema-index
|
||||
zer0th:meteor-vuetify-loader
|
||||
accounts-patreon
|
||||
bozhao:link-accounts
|
||||
peerlibrary:reactive-publish
|
||||
@@ -49,8 +39,9 @@ simple:rest-method-mixin
|
||||
mikowals:batch-insert
|
||||
peerlibrary:subscription-data
|
||||
seba:minifiers-autoprefixer
|
||||
zer0th:meteor-vuetify-loader
|
||||
akryum:vue-component
|
||||
akryum:vue-sass
|
||||
akryum:vue-router2
|
||||
percolate:migrations
|
||||
meteortesting:mocha
|
||||
ostrio:files
|
||||
|
||||
@@ -8,7 +8,6 @@ akryum:vue-component@0.15.2
|
||||
akryum:vue-component-dev-client@0.4.7
|
||||
akryum:vue-component-dev-server@0.1.4
|
||||
akryum:vue-router2@0.2.3
|
||||
akryum:vue-sass@0.1.2
|
||||
aldeed:collection2@3.4.1
|
||||
aldeed:schema-index@3.0.0
|
||||
allow-deny@1.1.0
|
||||
@@ -24,17 +23,14 @@ caching-compiler@1.2.2
|
||||
caching-html-compiler@1.2.1
|
||||
callback-hook@1.3.0
|
||||
check@1.3.1
|
||||
chuangbo:marked@0.3.5_1
|
||||
coffeescript@2.4.1
|
||||
coffeescript-compiler@2.4.1
|
||||
dburles:collection-helpers@1.1.0
|
||||
dburles:mongo-collection-instances@0.3.5
|
||||
ddp@1.4.0
|
||||
ddp-client@2.4.1
|
||||
ddp-common@1.4.0
|
||||
ddp-rate-limiter@1.0.9
|
||||
ddp-server@2.3.3
|
||||
deps@1.0.12
|
||||
diff-sequence@1.1.1
|
||||
dynamic-import@0.6.0
|
||||
ecmascript@0.15.1
|
||||
@@ -61,7 +57,6 @@ logging@1.2.0
|
||||
mdg:validated-method@1.2.0
|
||||
meteor@1.9.3
|
||||
meteor-base@1.4.0
|
||||
meteorhacks:subs-manager@1.6.4
|
||||
meteortesting:browser-tests@1.3.4
|
||||
meteortesting:mocha@2.0.2
|
||||
meteortesting:mocha-core@8.0.1
|
||||
@@ -74,7 +69,6 @@ mobile-status-bar@1.1.0
|
||||
modern-browsers@0.1.5
|
||||
modules@0.16.0
|
||||
modules-runtime@0.12.0
|
||||
momentjs:moment@2.29.1
|
||||
mongo@1.11.1
|
||||
mongo-decimal@0.1.2
|
||||
mongo-dev-server@1.1.0
|
||||
@@ -83,7 +77,6 @@ npm-bcrypt@0.9.4
|
||||
npm-mongo@3.9.0
|
||||
oauth@1.3.2
|
||||
oauth2@1.3.0
|
||||
ongoworks:speakingurl@9.0.0
|
||||
ordered-dict@1.1.0
|
||||
ostrio:cookies@2.7.0
|
||||
ostrio:files@2.0.1
|
||||
@@ -123,7 +116,6 @@ spacebars-compiler@1.3.0
|
||||
srp@1.1.0
|
||||
standard-minifier-js@2.6.1
|
||||
static-html@1.3.2
|
||||
templates:array@1.0.3
|
||||
templating-tools@1.2.1
|
||||
tmeasday:check-npm-versions@1.0.2
|
||||
tracker@1.2.0
|
||||
@@ -132,4 +124,4 @@ underscore@1.0.10
|
||||
url@1.3.2
|
||||
webapp@1.10.1
|
||||
webapp-hashing@1.1.0
|
||||
zer0th:meteor-vuetify-loader@0.1.30
|
||||
zer0th:meteor-vuetify-loader@0.1.41
|
||||
|
||||
@@ -3,7 +3,7 @@ import { FilesCollection } from 'meteor/ostrio:files';
|
||||
const ArchiveCreatureFiles = new FilesCollection({
|
||||
collectionName: 'archiveCreatureFiles',
|
||||
allowClientCode: false, // Disallow remove files from Client
|
||||
storagePath: '/DiceCloud/uploads/',
|
||||
storagePath: '/DiceCloud/archiveCreatures/',
|
||||
onBeforeUpload(file) {
|
||||
// Allow upload files under 10MB, and only in json format
|
||||
if (file.size > 10485760) {
|
||||
|
||||
@@ -9,7 +9,10 @@ import Experiences from '/imports/api/creature/experience/Experiences.js';
|
||||
import { removeCreatureWork } from '/imports/api/creature/creatures/methods/removeCreature.js';
|
||||
import ArchiveCreatureFiles from '/imports/api/creature/archive/ArchiveCreatureFiles.js';
|
||||
import readFile from '/imports/api/creature/archive/methods/readFile.js';
|
||||
import migrateArchive from '/imports/migrations/server/migrateArchive.js';
|
||||
let migrateArchive;
|
||||
if (Meteor.isServerr){
|
||||
migrateArchive = require('/imports/migrations/server/migrateArchive.js').default;
|
||||
}
|
||||
|
||||
function restoreCreature(file, archive){
|
||||
if (SCHEMA_VERSION < archive.meta.schemaVersion){
|
||||
|
||||
3
app/imports/constants/MAINTENANCE_MODE.js
Normal file
3
app/imports/constants/MAINTENANCE_MODE.js
Normal file
@@ -0,0 +1,3 @@
|
||||
const MAINTENANCE_MODE = Meteor.settings?.public?.maintenanceMode || false;
|
||||
|
||||
export default MAINTENANCE_MODE;
|
||||
@@ -47,28 +47,28 @@
|
||||
class="creature-property-viewer"
|
||||
:model="model"
|
||||
/>
|
||||
<v-row
|
||||
v-show="!embedded && childrenLength"
|
||||
class="mt-1"
|
||||
dense
|
||||
>
|
||||
<property-field
|
||||
name="Child properties"
|
||||
:cols="{cols: 12}"
|
||||
>
|
||||
<creature-properties-tree
|
||||
style="width: 100%;"
|
||||
:root="{collection: 'creatureProperties', id: model._id}"
|
||||
@length="childrenLength = $event"
|
||||
@selected="selectSubProperty"
|
||||
/>
|
||||
</property-field>
|
||||
</v-row>
|
||||
</div>
|
||||
<p v-else>
|
||||
This property can't be viewed yet.
|
||||
</p>
|
||||
</v-fade-transition>
|
||||
<v-row
|
||||
v-show="!editing && !embedded && childrenLength"
|
||||
class="mt-1"
|
||||
dense
|
||||
>
|
||||
<property-field
|
||||
name="Child properties"
|
||||
:cols="{cols: 12}"
|
||||
>
|
||||
<creature-properties-tree
|
||||
style="width: 100%;"
|
||||
:root="{collection: 'creatureProperties', id: model._id}"
|
||||
@length="childrenLength = $event"
|
||||
@selected="selectSubProperty"
|
||||
/>
|
||||
</property-field>
|
||||
</v-row>
|
||||
</template>
|
||||
<div
|
||||
v-if="!embedded"
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
import AddCreaturePropertyDialog from '/imports/ui/creature/creatureProperties/AddCreaturePropertyDialog.vue';
|
||||
import ArchiveDialog from '/imports/ui/creature/archive/ArchiveDialog.vue';
|
||||
import CastSpellWithSlotDialog from '/imports/ui/properties/components/spells/CastSpellWithSlotDialog.vue';
|
||||
import CreatureFormDialog from '/imports/ui/creature/CreatureFormDialog.vue';
|
||||
import CreaturePropertyCreationDialog from '/imports/ui/creature/creatureProperties/CreaturePropertyCreationDialog.vue';
|
||||
import CreaturePropertyDialog from '/imports/ui/creature/creatureProperties/CreaturePropertyDialog.vue'
|
||||
import CreaturePropertyFromLibraryDialog from '/imports/ui/creature/creatureProperties/CreaturePropertyFromLibraryDialog.vue'
|
||||
import DeleteConfirmationDialog from '/imports/ui/dialogStack/DeleteConfirmationDialog.vue';
|
||||
import DeleteUserAccountDialog from '/imports/ui/user/DeleteUserAccountDialog.vue';
|
||||
import ExperienceInsertDialog from '/imports/ui/creature/experiences/ExperienceInsertDialog.vue';
|
||||
import ExperienceListDialog from '/imports/ui/creature/experiences/ExperienceListDialog.vue';
|
||||
import InviteDialog from '/imports/ui/user/InviteDialog.vue';
|
||||
import LibraryCreationDialog from '/imports/ui/library/LibraryCreationDialog.vue';
|
||||
import LibraryEditDialog from '/imports/ui/library/LibraryEditDialog.vue';
|
||||
import LibraryNodeCreationDialog from '/imports/ui/library/LibraryNodeCreationDialog.vue';
|
||||
import LibraryNodeDialog from '/imports/ui/library/LibraryNodeDialog.vue';
|
||||
import MoveLibraryNodeDialog from '/imports/ui/library/MoveLibraryNodeDialog.vue'
|
||||
import SelectCreaturesDialog from '/imports/ui/tabletop/SelectCreaturesDialog.vue';
|
||||
import SelectLibraryNodeDialog from '/imports/ui/library/SelectLibraryNodeDialog.vue';
|
||||
import ShareDialog from '/imports/ui/sharing/ShareDialog.vue';
|
||||
import SlotDetailsDialog from '/imports/ui/creature/slots/SlotDetailsDialog.vue';
|
||||
import SlotFillDialog from '/imports/ui/creature/slots/SlotFillDialog.vue';
|
||||
import TierTooLowDialog from '/imports/ui/user/TierTooLowDialog.vue';
|
||||
import TransferOwnershipDialog from '/imports/ui/sharing/TransferOwnershipDialog.vue';
|
||||
import UsernameDialog from '/imports/ui/user/UsernameDialog.vue';
|
||||
const AddCreaturePropertyDialog = () => import('/imports/ui/creature/creatureProperties/AddCreaturePropertyDialog.vue');
|
||||
const ArchiveDialog = () => import('/imports/ui/creature/archive/ArchiveDialog.vue');
|
||||
const CastSpellWithSlotDialog = () => import('/imports/ui/properties/components/spells/CastSpellWithSlotDialog.vue');
|
||||
const CreatureFormDialog = () => import('/imports/ui/creature/CreatureFormDialog.vue');
|
||||
const CreaturePropertyCreationDialog = () => import('/imports/ui/creature/creatureProperties/CreaturePropertyCreationDialog.vue');
|
||||
const CreaturePropertyDialog = () => import('/imports/ui/creature/creatureProperties/CreaturePropertyDialog.vue');
|
||||
const CreaturePropertyFromLibraryDialog = () => import('/imports/ui/creature/creatureProperties/CreaturePropertyFromLibraryDialog.vue');
|
||||
const DeleteConfirmationDialog = () => import('/imports/ui/dialogStack/DeleteConfirmationDialog.vue');
|
||||
const DeleteUserAccountDialog = () => import('/imports/ui/user/DeleteUserAccountDialog.vue');
|
||||
const ExperienceInsertDialog = () => import( '/imports/ui/creature/experiences/ExperienceInsertDialog.vue');
|
||||
const ExperienceListDialog = () => import( '/imports/ui/creature/experiences/ExperienceListDialog.vue');
|
||||
const InviteDialog = () => import('/imports/ui/user/InviteDialog.vue');
|
||||
const LibraryCreationDialog = () => import('/imports/ui/library/LibraryCreationDialog.vue');
|
||||
const LibraryEditDialog = () => import('/imports/ui/library/LibraryEditDialog.vue');
|
||||
const LibraryNodeCreationDialog = () => import('/imports/ui/library/LibraryNodeCreationDialog.vue');
|
||||
const LibraryNodeDialog = () => import('/imports/ui/library/LibraryNodeDialog.vue');
|
||||
const MoveLibraryNodeDialog = () => import('/imports/ui/library/MoveLibraryNodeDialog.vue');
|
||||
const SelectCreaturesDialog = () => import('/imports/ui/tabletop/SelectCreaturesDialog.vue');
|
||||
const SelectLibraryNodeDialog = () => import('/imports/ui/library/SelectLibraryNodeDialog.vue');
|
||||
const ShareDialog = () => import('/imports/ui/sharing/ShareDialog.vue');
|
||||
const SlotDetailsDialog = () => import('/imports/ui/creature/slots/SlotDetailsDialog.vue');
|
||||
const SlotFillDialog = () => import('/imports/ui/creature/slots/SlotFillDialog.vue');
|
||||
const TierTooLowDialog = () => import('/imports/ui/user/TierTooLowDialog.vue');
|
||||
const TransferOwnershipDialog = () => import('/imports/ui/sharing/TransferOwnershipDialog.vue');
|
||||
const UsernameDialog = () => import('/imports/ui/user/UsernameDialog.vue');
|
||||
|
||||
export default {
|
||||
AddCreaturePropertyDialog,
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
import ActionForm from '/imports/ui/properties/forms/ActionForm.vue';
|
||||
import AdjustmentForm from '/imports/ui/properties/forms/AdjustmentForm.vue';
|
||||
import AttackForm from '/imports/ui/properties/forms/AttackForm.vue';
|
||||
import AttributeForm from '/imports/ui/properties/forms/AttributeForm.vue';
|
||||
import BuffForm from '/imports/ui/properties/forms/BuffForm.vue';
|
||||
import ClassLevelForm from '/imports/ui/properties/forms/ClassLevelForm.vue';
|
||||
import ConstantForm from '/imports/ui/properties/forms/ConstantForm.vue';
|
||||
import ContainerForm from '/imports/ui/properties/forms/ContainerForm.vue';
|
||||
import DamageForm from '/imports/ui/properties/forms/DamageForm.vue';
|
||||
import DamageMultiplierForm from '/imports/ui/properties/forms/DamageMultiplierForm.vue';
|
||||
import EffectForm from '/imports/ui/properties/forms/EffectForm.vue';
|
||||
import FeatureForm from '/imports/ui/properties/forms/FeatureForm.vue';
|
||||
import FolderForm from '/imports/ui/properties/forms/FolderForm.vue';
|
||||
import ItemForm from '/imports/ui/properties/forms/ItemForm.vue';
|
||||
import NoteForm from '/imports/ui/properties/forms/NoteForm.vue';
|
||||
import ProficiencyForm from '/imports/ui/properties/forms/ProficiencyForm.vue';
|
||||
import ReferenceForm from '/imports/ui/properties/forms/ReferenceForm.vue';
|
||||
import RollForm from '/imports/ui/properties/forms/RollForm.vue';
|
||||
import SavingThrowForm from '/imports/ui/properties/forms/SavingThrowForm.vue';
|
||||
import SkillForm from '/imports/ui/properties/forms/SkillForm.vue';
|
||||
import SlotForm from '/imports/ui/properties/forms/SlotForm.vue';
|
||||
import SlotFillerForm from '/imports/ui/properties/forms/SlotFillerForm.vue';
|
||||
import SpellListForm from '/imports/ui/properties/forms/SpellListForm.vue';
|
||||
import SpellForm from '/imports/ui/properties/forms/SpellForm.vue';
|
||||
import ToggleForm from '/imports/ui/properties/forms/ToggleForm.vue';
|
||||
const ActionForm = () => import('/imports/ui/properties/forms/ActionForm.vue');
|
||||
const AdjustmentForm = () => import('/imports/ui/properties/forms/AdjustmentForm.vue');
|
||||
const AttackForm = () => import('/imports/ui/properties/forms/AttackForm.vue');
|
||||
const AttributeForm = () => import('/imports/ui/properties/forms/AttributeForm.vue');
|
||||
const BuffForm = () => import('/imports/ui/properties/forms/BuffForm.vue');
|
||||
const ClassLevelForm = () => import('/imports/ui/properties/forms/ClassLevelForm.vue');
|
||||
const ConstantForm = () => import('/imports/ui/properties/forms/ConstantForm.vue');
|
||||
const ContainerForm = () => import('/imports/ui/properties/forms/ContainerForm.vue');
|
||||
const DamageForm = () => import('/imports/ui/properties/forms/DamageForm.vue');
|
||||
const DamageMultiplierForm = () => import('/imports/ui/properties/forms/DamageMultiplierForm.vue');
|
||||
const EffectForm = () => import('/imports/ui/properties/forms/EffectForm.vue');
|
||||
const FeatureForm = () => import('/imports/ui/properties/forms/FeatureForm.vue');
|
||||
const FolderForm = () => import('/imports/ui/properties/forms/FolderForm.vue');
|
||||
const ItemForm = () => import('/imports/ui/properties/forms/ItemForm.vue');
|
||||
const NoteForm = () => import('/imports/ui/properties/forms/NoteForm.vue');
|
||||
const ProficiencyForm = () => import('/imports/ui/properties/forms/ProficiencyForm.vue');
|
||||
const ReferenceForm = () => import('/imports/ui/properties/forms/ReferenceForm.vue');
|
||||
const RollForm = () => import('/imports/ui/properties/forms/RollForm.vue');
|
||||
const SavingThrowForm = () => import('/imports/ui/properties/forms/SavingThrowForm.vue');
|
||||
const SkillForm = () => import('/imports/ui/properties/forms/SkillForm.vue');
|
||||
const SlotForm = () => import('/imports/ui/properties/forms/SlotForm.vue');
|
||||
const SlotFillerForm = () => import('/imports/ui/properties/forms/SlotFillerForm.vue');
|
||||
const SpellListForm = () => import('/imports/ui/properties/forms/SpellListForm.vue');
|
||||
const SpellForm = () => import('/imports/ui/properties/forms/SpellForm.vue');
|
||||
const ToggleForm = () => import('/imports/ui/properties/forms/ToggleForm.vue');
|
||||
|
||||
export default {
|
||||
action: ActionForm,
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
import ActionViewer from '/imports/ui/properties/viewers/ActionViewer.vue';
|
||||
import AdjustmentViewer from '/imports/ui/properties/viewers/AdjustmentViewer.vue';
|
||||
import AttributeViewer from '/imports/ui/properties/viewers/AttributeViewer.vue';
|
||||
import BuffViewer from '/imports/ui/properties/viewers/BuffViewer.vue';
|
||||
import ContainerViewer from '/imports/ui/properties/viewers/ContainerViewer.vue';
|
||||
import ClassLevelViewer from '/imports/ui/properties/viewers/ClassLevelViewer.vue';
|
||||
import ConstantViewer from '/imports/ui/properties/viewers/ConstantViewer.vue';
|
||||
import DamageViewer from '/imports/ui/properties/viewers/DamageViewer.vue';
|
||||
import DamageMultiplierViewer from '/imports/ui/properties/viewers/DamageMultiplierViewer.vue';
|
||||
import EffectViewer from '/imports/ui/properties/viewers/EffectViewer.vue';
|
||||
import FeatureViewer from '/imports/ui/properties/viewers/FeatureViewer.vue';
|
||||
import FolderViewer from '/imports/ui/properties/viewers/FolderViewer.vue';
|
||||
import ItemViewer from '/imports/ui/properties/viewers/ItemViewer.vue';
|
||||
import NoteViewer from '/imports/ui/properties/viewers/NoteViewer.vue';
|
||||
import ProficiencyViewer from '/imports/ui/properties/viewers/ProficiencyViewer.vue';
|
||||
import ReferenceViewer from '/imports/ui/properties/viewers/ReferenceViewer.vue';
|
||||
import RollViewer from '/imports/ui/properties/viewers/RollViewer.vue';
|
||||
import SkillViewer from '/imports/ui/properties/viewers/SkillViewer.vue';
|
||||
import SavingThrowViewer from '/imports/ui/properties/viewers/SavingThrowViewer.vue';
|
||||
import SlotViewer from '/imports/ui/properties/viewers/SlotViewer.vue';
|
||||
import SlotFillerViewer from '/imports/ui/properties/viewers/SlotFillerViewer.vue';
|
||||
import SpellListViewer from '/imports/ui/properties/viewers/SpellListViewer.vue';
|
||||
import SpellViewer from '/imports/ui/properties/viewers/SpellViewer.vue';
|
||||
import ToggleViewer from '/imports/ui/properties/viewers/ToggleViewer.vue';
|
||||
const ActionViewer = () => import ('/imports/ui/properties/viewers/ActionViewer.vue');
|
||||
const AdjustmentViewer = () => import ('/imports/ui/properties/viewers/AdjustmentViewer.vue');
|
||||
const AttributeViewer = () => import ('/imports/ui/properties/viewers/AttributeViewer.vue');
|
||||
const BuffViewer = () => import ('/imports/ui/properties/viewers/BuffViewer.vue');
|
||||
const ContainerViewer = () => import ('/imports/ui/properties/viewers/ContainerViewer.vue');
|
||||
const ClassLevelViewer = () => import ('/imports/ui/properties/viewers/ClassLevelViewer.vue');
|
||||
const ConstantViewer = () => import ('/imports/ui/properties/viewers/ConstantViewer.vue');
|
||||
const DamageViewer = () => import ('/imports/ui/properties/viewers/DamageViewer.vue');
|
||||
const DamageMultiplierViewer = () => import ('/imports/ui/properties/viewers/DamageMultiplierViewer.vue');
|
||||
const EffectViewer = () => import ('/imports/ui/properties/viewers/EffectViewer.vue');
|
||||
const FeatureViewer = () => import ('/imports/ui/properties/viewers/FeatureViewer.vue');
|
||||
const FolderViewer = () => import ('/imports/ui/properties/viewers/FolderViewer.vue');
|
||||
const ItemViewer = () => import ('/imports/ui/properties/viewers/ItemViewer.vue');
|
||||
const NoteViewer = () => import ('/imports/ui/properties/viewers/NoteViewer.vue');
|
||||
const ProficiencyViewer = () => import ('/imports/ui/properties/viewers/ProficiencyViewer.vue');
|
||||
const ReferenceViewer = () => import ('/imports/ui/properties/viewers/ReferenceViewer.vue');
|
||||
const RollViewer = () => import ('/imports/ui/properties/viewers/RollViewer.vue');
|
||||
const SkillViewer = () => import ('/imports/ui/properties/viewers/SkillViewer.vue');
|
||||
const SavingThrowViewer = () => import ('/imports/ui/properties/viewers/SavingThrowViewer.vue');
|
||||
const SlotViewer = () => import ('/imports/ui/properties/viewers/SlotViewer.vue');
|
||||
const SlotFillerViewer = () => import ('/imports/ui/properties/viewers/SlotFillerViewer.vue');
|
||||
const SpellListViewer = () => import ('/imports/ui/properties/viewers/SpellListViewer.vue');
|
||||
const SpellViewer = () => import ('/imports/ui/properties/viewers/SpellViewer.vue');
|
||||
const ToggleViewer = () => import ('/imports/ui/properties/viewers/ToggleViewer.vue');
|
||||
|
||||
export default {
|
||||
action: ActionViewer,
|
||||
|
||||
@@ -2,36 +2,35 @@ import { RouterFactory, nativeScrollBehavior } from 'meteor/akryum:vue-router2';
|
||||
import { acceptInviteToken } from '/imports/api/users/Invites.js';
|
||||
|
||||
// Components
|
||||
import Home from '/imports/ui/pages/Home.vue';
|
||||
import About from '/imports/ui/pages/About.vue';
|
||||
import CharacterList from '/imports/ui/pages/CharacterList.vue';
|
||||
import CharacterListToolbarItems from '/imports/ui/creature/creatureList/CharacterListToolbarItems.vue';
|
||||
import Library from '/imports/ui/pages/Library.vue';
|
||||
import SingleLibraryToolbar from '/imports/ui/library/SingleLibraryToolbar.vue';
|
||||
import CharacterSheetPage from '/imports/ui/pages/CharacterSheetPage.vue';
|
||||
import CharacterSheetToolbar from '/imports/ui/creature/character/CharacterSheetToolbar.vue';
|
||||
import CharacterSheetRightDrawer from '/imports/ui/creature/character/CharacterSheetRightDrawer.vue';
|
||||
import SignIn from '/imports/ui/pages/SignIn.vue' ;
|
||||
import Register from '/imports/ui/pages/Register.vue';
|
||||
import IconAdmin from '/imports/ui/icons/IconAdmin.vue';
|
||||
//import Friends from '/imports/ui/pages/Friends.vue' ;
|
||||
import Feedback from '/imports/ui/pages/Feedback.vue' ;
|
||||
import Account from '/imports/ui/pages/Account.vue' ;
|
||||
import InviteSuccess from '/imports/ui/pages/InviteSuccess.vue' ;
|
||||
import InviteError from '/imports/ui/pages/InviteError.vue' ;
|
||||
import NotImplemented from '/imports/ui/pages/NotImplemented.vue';
|
||||
import PatreonLevelTooLow from '/imports/ui/pages/PatreonLevelTooLow.vue';
|
||||
import Tabletops from '/imports/ui/pages/Tabletops.vue';
|
||||
import Tabletop from '/imports/ui/pages/Tabletop.vue';
|
||||
import TabletopToolbar from '/imports/ui/tabletop/TabletopToolbar.vue';
|
||||
import TabletopRightDrawer from '/imports/ui/tabletop/TabletopRightDrawer.vue';
|
||||
import Admin from '/imports/ui/pages/Admin.vue';
|
||||
const Home = () => import('/imports/ui/pages/Home.vue');
|
||||
const About = () => import('/imports/ui/pages/About.vue');
|
||||
const CharacterList = () => import('/imports/ui/pages/CharacterList.vue');
|
||||
const CharacterListToolbarItems = () => import('/imports/ui/creature/creatureList/CharacterListToolbarItems.vue');
|
||||
const Library = () => import('/imports/ui/pages/Library.vue');
|
||||
const SingleLibraryToolbar = () => import('/imports/ui/library/SingleLibraryToolbar.vue');
|
||||
const CharacterSheetPage = () => import('/imports/ui/pages/CharacterSheetPage.vue');
|
||||
const CharacterSheetToolbar = () => import('/imports/ui/creature/character/CharacterSheetToolbar.vue');
|
||||
const CharacterSheetRightDrawer = () => import('/imports/ui/creature/character/CharacterSheetRightDrawer.vue');
|
||||
const SignIn = () => import('/imports/ui/pages/SignIn.vue' );
|
||||
const Register = () => import('/imports/ui/pages/Register.vue');
|
||||
const IconAdmin = () => import('/imports/ui/icons/IconAdmin.vue');
|
||||
//const Friends = () => import('/imports/ui/pages/Friends.vue' );
|
||||
const Feedback = () => import('/imports/ui/pages/Feedback.vue' );
|
||||
const Account = () => import('/imports/ui/pages/Account.vue' );
|
||||
const InviteSuccess = () => import('/imports/ui/pages/InviteSuccess.vue' );
|
||||
const InviteError = () => import('/imports/ui/pages/InviteError.vue' );
|
||||
const NotImplemented = () => import('/imports/ui/pages/NotImplemented.vue');
|
||||
const PatreonLevelTooLow = () => import('/imports/ui/pages/PatreonLevelTooLow.vue');
|
||||
const Tabletops = () => import('/imports/ui/pages/Tabletops.vue');
|
||||
const Tabletop = () => import('/imports/ui/pages/Tabletop.vue');
|
||||
const TabletopToolbar = () => import('/imports/ui/tabletop/TabletopToolbar.vue');
|
||||
const TabletopRightDrawer = () => import('/imports/ui/tabletop/TabletopRightDrawer.vue');
|
||||
const Admin = () => import('/imports/ui/pages/Admin.vue');
|
||||
// Not found
|
||||
const NotFound = () => import('/imports/ui/pages/NotFound.vue');
|
||||
|
||||
let userSubscription = Meteor.subscribe('user');
|
||||
|
||||
// Not found
|
||||
import NotFound from '/imports/ui/pages/NotFound.vue';
|
||||
|
||||
// Create router instance
|
||||
const routerFactory = new RouterFactory({
|
||||
mode: 'history',
|
||||
|
||||
@@ -8,17 +8,10 @@ import router from '/imports/ui/router.js';
|
||||
import '/imports/ui/components/global/globalIndex.js';
|
||||
import '/imports/ui/markdownCofig.js';
|
||||
import vuetify from '/imports/ui/vuetify.js';
|
||||
import Vuetify from 'vuetify/lib';
|
||||
import { Scroll } from 'vuetify/lib/directives'
|
||||
|
||||
Vue.use(VueMeteorTracker);
|
||||
Vue.config.meteor.freeze = true;
|
||||
Vue.config.devtools = true;
|
||||
Vue.use(Vuetify, {
|
||||
directives: {
|
||||
Scroll,
|
||||
},
|
||||
});
|
||||
Vue.use(ReactiveProvide, {
|
||||
name: 'reactiveProvide', // default value
|
||||
});
|
||||
|
||||
@@ -1,7 +1,16 @@
|
||||
import Vue from 'vue';
|
||||
import Vuetify from 'vuetify/lib';
|
||||
import { Scroll } from 'vuetify/lib/directives';
|
||||
import SVG_ICONS from '/imports/constants/SVG_ICONS.js';
|
||||
import SvgIconByName from '/imports/ui/icons/SvgIconByName.vue';
|
||||
import themes from '/imports/ui/themes.js';
|
||||
import minifyTheme from 'minify-css-string';
|
||||
|
||||
Vue.use(Vuetify, {
|
||||
directives: {
|
||||
Scroll,
|
||||
},
|
||||
});
|
||||
|
||||
let icons = {};
|
||||
|
||||
@@ -18,7 +27,10 @@ for (const name in SVG_ICONS) {
|
||||
let vuetify = new Vuetify({
|
||||
theme: {
|
||||
themes,
|
||||
options: { variations: false },
|
||||
options: {
|
||||
variations: false,
|
||||
minifyTheme,
|
||||
},
|
||||
//options: { customProperties: true },
|
||||
},
|
||||
icons: {
|
||||
|
||||
639
app/package-lock.json
generated
639
app/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -17,7 +17,7 @@
|
||||
"npm": "6.13.x"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.14.8",
|
||||
"@babel/runtime": "^7.16.5",
|
||||
"@chenfengyuan/vue-countdown": "^1.1.5",
|
||||
"@tozd/vue-observer-utils": "^0.5.0",
|
||||
"animejs": "^2.2.0",
|
||||
@@ -27,38 +27,39 @@
|
||||
"date-fns": "^1.30.1",
|
||||
"ddp-rate-limiter-mixin": "^1.1.10",
|
||||
"discord.js": "^12.5.3",
|
||||
"dompurify": "^2.3.0",
|
||||
"ignore": "^5.1.8",
|
||||
"dompurify": "^2.3.4",
|
||||
"ignore": "^5.2.0",
|
||||
"ignore-styles": "^5.0.1",
|
||||
"lodash": "^4.17.20",
|
||||
"marked": "^0.8.2",
|
||||
"meteor-node-stubs": "^1.1.0",
|
||||
"minify-css-string": "^1.0.0",
|
||||
"moo": "^0.5.1",
|
||||
"nearley": "^2.19.1",
|
||||
"ngraph.graph": "^19.1.0",
|
||||
"qrcode": "^1.4.4",
|
||||
"qrcode": "^1.5.0",
|
||||
"request": "^2.88.2",
|
||||
"simpl-schema": "^1.12.0",
|
||||
"source-map-support": "^0.5.16",
|
||||
"source-map-support": "^0.5.21",
|
||||
"speakingurl": "^14.0.1",
|
||||
"styles": "^0.2.1",
|
||||
"underscore": "^1.13.1",
|
||||
"underscore": "^1.13.2",
|
||||
"vue": "2.6.10",
|
||||
"vue-meteor-tracker": "^2.0.0-beta.5",
|
||||
"vue-reactive-provide": "^0.3.0",
|
||||
"vue-router": "^3.5.2",
|
||||
"vue-router": "^3.5.3",
|
||||
"vuedraggable": "^2.23.2",
|
||||
"vuetify": "^2.5.7",
|
||||
"vuetify": "^2.6.1",
|
||||
"vuetify-upload-button": "^2.0.2",
|
||||
"vuex": "^3.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chai": "^4.3.4",
|
||||
"eslint": "^7.31.0",
|
||||
"eslint-plugin-vue": "^7.14.0",
|
||||
"eslint-plugin-vuetify": "^1.0.1",
|
||||
"eslint": "^7.32.0",
|
||||
"eslint-plugin-vue": "^7.20.0",
|
||||
"eslint-plugin-vuetify": "^1.1.0",
|
||||
"mem": "^6.1.1",
|
||||
"sass": "^1.35.2"
|
||||
"sass": "^1.45.1"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": [
|
||||
|
||||
Reference in New Issue
Block a user