forked from ppfun/pixelplanet
change webpack config variables from arguments to env
This commit is contained in:
parent
14762e302b
commit
c45a7bab7f
|
@ -255,6 +255,10 @@ Run `npm run lint:src` to check for code errors and warnings or `npm run lint --
|
|||
Please do not produce too many additional warnings.
|
||||
|
||||
[ttag](https://github.com/ttag-org/ttag/) is used for handling translations. For server-side rendering the `Accept-Language` header gets checked and the first locale used and on-the-fly translated (`src/core/ttag.js` provides the functions for it). On the client-side a seperate bundle for every language gets provided.
|
||||
To update the language definitions in `i18n/template.pot` and `i18n/template-ssr.pot` run
|
||||
```
|
||||
npm run extract
|
||||
```
|
||||
|
||||
You can use `npm run babel-node ./your/script.js` to execute a script with local babel.
|
||||
|
||||
|
|
140
i18n/dz.po
140
i18n/dz.po
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
"Project-Id-Version: \n"
|
||||
"PO-Revision-Date: 2021-01-31 11:31+0100\n"
|
||||
"PO-Revision-Date: 2021-02-01 20:15+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dzongkha\n"
|
||||
"Language: dz\n"
|
||||
|
@ -134,42 +134,41 @@ msgstr "གཟུགས་ཀྱི་ཡན་ལག ཁར་ཁིར།"
|
|||
msgid "Pixels placed"
|
||||
msgstr "གློག་རིག་ཡོངས་འབྲེལ། སྐུ་དང་མཆོད་རྟེན་གྱི་སྲོག་ཤིང༌།"
|
||||
|
||||
#: src/components/CanvasSelectModal.jsx:67
|
||||
#: src/components/CanvasSwitchButton.jsx:20
|
||||
#: src/components/CanvasSelectModal.jsx:67 src/components/CanvasSwitchButton.jsx:20
|
||||
msgid "Canvas Selection"
|
||||
msgstr ""
|
||||
msgstr "རྒྱ་ལས་ཐོན་པའི་ཁ་ཤ་དར་རས། ཟོགཔོ་ཕར་བསལ་ནི།"
|
||||
|
||||
#: src/components/DownloadButton.jsx:37
|
||||
msgid "Make Screenshot"
|
||||
msgstr ""
|
||||
msgstr "གསར་གཏོད་འབད་མི། གསལ་གཞི། ཀྲོབ་མདའི་མདེའུ། "
|
||||
|
||||
#: src/components/LogInButton.jsx:20 src/components/UserAreaModal.jsx:160
|
||||
msgid "User Area"
|
||||
msgstr ""
|
||||
msgstr "རྩེདམོ་རྩེ་མི། ལུང་ཕྱོགས། "
|
||||
|
||||
#: src/components/SettingsButton.jsx:20 src/components/SettingsModal.jsx:267
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
msgstr "ཟོགཔོ་ཕར་བསལ་ནི།"
|
||||
|
||||
#: src/components/HelpButton.jsx:20
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
msgstr "གྲོགས་རམ།"
|
||||
|
||||
#: src/components/Chat.jsx:143
|
||||
msgid "Channel settings"
|
||||
msgstr ""
|
||||
msgstr "ཕྱོགས་གཅིག་ཤུགས་བཏོན། ཟོགཔོ་ཕར་བསལ་ནི།"
|
||||
|
||||
#: src/components/Chat.jsx:152
|
||||
msgid "maximize"
|
||||
msgstr ""
|
||||
msgstr "ཡོངས་སྤྱོད།"
|
||||
|
||||
#: src/components/Chat.jsx:168
|
||||
msgid "Start chatting here"
|
||||
msgstr ""
|
||||
msgstr "གོ་སྐབས། ངག་གཤིས། ཚུར། "
|
||||
|
||||
#: src/components/Chat.jsx:200
|
||||
msgid "Chat here"
|
||||
msgstr ""
|
||||
msgstr "ངག་གཤིས། ཚུར།"
|
||||
|
||||
#: src/components/Chat.jsx:220
|
||||
msgid "You must be logged in to chat"
|
||||
|
@ -177,58 +176,59 @@ msgstr ""
|
|||
|
||||
#: src/components/PalselButton.jsx:25
|
||||
msgid "Close Palette"
|
||||
msgstr ""
|
||||
msgstr "ཁེ་བཙོང༌། རྩྭ་གདན། "
|
||||
|
||||
#: src/components/PalselButton.jsx:25
|
||||
msgid "Open Palette"
|
||||
msgstr ""
|
||||
msgstr "ཀུན་མཐོང་མཛད་རིམ། རྩྭ་གདན"
|
||||
|
||||
#: src/components/GlobeButton.jsx:31
|
||||
msgid "Globe View"
|
||||
msgstr ""
|
||||
msgstr "ཐད་རིལ་རི། གཟུགས་སྣང༌། "
|
||||
|
||||
#: src/components/UserContextMenu.jsx:72
|
||||
msgid "Ping"
|
||||
msgstr ""
|
||||
msgstr "གསལ་བསྒྲགས་འབད་བ།"
|
||||
|
||||
#: src/components/UserContextMenu.jsx:97
|
||||
msgid "DM"
|
||||
msgstr ""
|
||||
msgstr "གང་ཟག་གི་མིང་ཚབ། ཁ་འཐེན། "
|
||||
|
||||
#: src/components/UserContextMenu.jsx:107
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
msgstr "ཁང་སྡེ། "
|
||||
|
||||
#: src/components/HelpModal.jsx:34 src/components/HelpModal.jsx:35
|
||||
msgid "Privacy Policy"
|
||||
msgstr ""
|
||||
msgstr "རང་གསང༌། ཉེན་ལེན་གན་ཡིག "
|
||||
|
||||
#: src/components/HelpModal.jsx:36 src/components/HelpModal.jsx:37
|
||||
msgid "Terms of Service"
|
||||
msgstr ""
|
||||
msgstr "གནས་ཡུན་དང་ཆ་རྐྱེན། "
|
||||
|
||||
#: src/components/HelpModal.jsx:40
|
||||
msgid "your IP"
|
||||
msgstr ""
|
||||
msgstr "ཁྱོད་ར། གློག་རིག་ཡོངས་འབྲེལ། ཁ་གསལ་སྦེ་བྲི་ནི།"
|
||||
|
||||
#: src/components/HelpModal.jsx:46
|
||||
msgid "Place color pixels on a large canvas with other players online!"
|
||||
msgstr ""
|
||||
"གནས་གཟུང་བ། ཚིག་དོན་ཁ་གསལ་ཡོད་པ། གྲུ་བཞི། གཅིག ཁྱབ་ཆེ་ཏོག་ཏོ། རྒྱ་ལས་ཐོན་པའི་ཁ་ཤ་དར་རས། གཅིག་ཁར་ཟེར་བའི་དོན། "
|
||||
"རྩེདམོ་རྩེ་མི།"
|
||||
|
||||
#: src/components/HelpModal.jsx:47
|
||||
msgid ""
|
||||
"Our main canvas is a huge worldmap, you can place wherever you like, but you "
|
||||
"will have to wait a specific Cooldown between pixels. You can check out the "
|
||||
"cooldown and requiremnts on the Canvas Selection menu (globe button on top). "
|
||||
"Some canvases have a different cooldown for replacing a user-set pixels than "
|
||||
"placing on a unset pixel. i.e. 4s/7s means 4s on fresh pixels and 7s on "
|
||||
"already set pixels."
|
||||
"Our main canvas is a huge worldmap, you can place wherever you like, but you will have to "
|
||||
"wait a specific Cooldown between pixels. You can check out the cooldown and requiremnts on "
|
||||
"the Canvas Selection menu (globe button on top). Some canvases have a different cooldown "
|
||||
"for replacing a user-set pixels than placing on a unset pixel. i.e. 4s/7s means 4s on "
|
||||
"fresh pixels and 7s on already set pixels."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:51
|
||||
msgid ""
|
||||
"Higher zoomlevels take some time to update, the 3D globe gets updated at "
|
||||
"least once per day."
|
||||
"Higher zoomlevels take some time to update, the 3D globe gets updated at least once per "
|
||||
"day."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:52
|
||||
|
@ -249,8 +249,8 @@ msgstr ""
|
|||
|
||||
#: src/components/HelpModal.jsx:57
|
||||
msgid ""
|
||||
"The bare map data that we use, together with converted OpenStreetMap tiles "
|
||||
"for orientation, can be downloaded from mega.nz here: "
|
||||
"The bare map data that we use, together with converted OpenStreetMap tiles for "
|
||||
"orientation, can be downloaded from mega.nz here: "
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:59
|
||||
|
@ -260,9 +260,9 @@ msgstr ""
|
|||
#: src/components/HelpModal.jsx:61
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"If you got detected as proxy, but you are none, please go to our "
|
||||
"${ guildedLink } or send us an e-mail with ${ getIPLink } to ${ mailLink }. "
|
||||
"Do not post your IP anywhere else. We are sorry for the inconvenience."
|
||||
"If you got detected as proxy, but you are none, please go to our ${ guildedLink } or send "
|
||||
"us an e-mail with ${ getIPLink } to ${ mailLink }. Do not post your IP anywhere else. We "
|
||||
"are sorry for the inconvenience."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:63 src/components/HelpModal.jsx:80
|
||||
|
@ -303,8 +303,7 @@ msgstr ""
|
|||
|
||||
#: src/components/HelpModal.jsx:72 src/components/HelpModal.jsx:83
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Press ${ bindAUp }, ${ bindALeft }, ${ bindADown }, ${ bindARight } to move"
|
||||
msgid "Press ${ bindAUp }, ${ bindALeft }, ${ bindADown }, ${ bindARight } to move"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:73
|
||||
|
@ -322,9 +321,7 @@ msgstr ""
|
|||
|
||||
#: src/components/HelpModal.jsx:76
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Hold right ${ bindShift } for placing while moving mouse according to "
|
||||
"historical view"
|
||||
msgid "Hold right ${ bindShift } for placing while moving mouse according to historical view"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:77 src/components/HelpModal.jsx:88
|
||||
|
@ -334,8 +331,8 @@ msgstr ""
|
|||
|
||||
#: src/components/HelpModal.jsx:78 src/components/HelpModal.jsx:90
|
||||
msgid ""
|
||||
"Click ${ mouseSymbol } middle mouse button or ${ touchSymbol } long-tap to "
|
||||
"select current hovering color"
|
||||
"Click ${ mouseSymbol } middle mouse button or ${ touchSymbol } long-tap to select current "
|
||||
"hovering color"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:84
|
||||
|
@ -350,8 +347,8 @@ msgstr ""
|
|||
#: src/components/HelpModal.jsx:86
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"${ mouseSymbol } Scroll mouse wheel or hold ${ mouseSymbol } middle mouse "
|
||||
"button and drag to zoom"
|
||||
"${ mouseSymbol } Scroll mouse wheel or hold ${ mouseSymbol } middle mouse button and drag "
|
||||
"to zoom"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:87
|
||||
|
@ -360,8 +357,7 @@ msgstr ""
|
|||
|
||||
#: src/components/HelpModal.jsx:89
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"${ mouseSymbol } Right click or ${ touchSymbol } double-tap to remove a pixel"
|
||||
msgid "${ mouseSymbol } Right click or ${ touchSymbol } double-tap to remove a pixel"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:92
|
||||
|
@ -371,14 +367,13 @@ msgstr ""
|
|||
#: src/components/HelpModal.jsx:97
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"This site is protected by reCAPTCHA and the Google ${ reCaptchaPP } and "
|
||||
"${ reCaptchaTOS } apply."
|
||||
"This site is protected by reCAPTCHA and the Google ${ reCaptchaPP } and ${ reCaptchaTOS } "
|
||||
"apply."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:103
|
||||
msgid ""
|
||||
"This site is protected by hCAPTCHA and its ${ hCaptchaPP } and "
|
||||
"${ hCaptchaTOS } apply."
|
||||
"This site is protected by hCAPTCHA and its ${ hCaptchaPP } and ${ hCaptchaTOS } apply."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/HelpModal.jsx:113
|
||||
|
@ -426,9 +421,7 @@ msgid "Auto Zoom In"
|
|||
msgstr ""
|
||||
|
||||
#: src/components/SettingsModal.jsx:153
|
||||
msgid ""
|
||||
"Zoom in instead of placing a pixel when you tap the canvas and your zoom is "
|
||||
"small."
|
||||
msgid "Zoom in instead of placing a pixel when you tap the canvas and your zoom is small."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/SettingsModal.jsx:158
|
||||
|
@ -475,8 +468,8 @@ msgstr ""
|
|||
msgid "Register new account here"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ForgotPasswordModal.jsx:20
|
||||
#: src/components/RegisterModal.jsx:21 src/components/UserAreaModal.jsx:130
|
||||
#: src/components/ForgotPasswordModal.jsx:20 src/components/RegisterModal.jsx:21
|
||||
#: src/components/UserAreaModal.jsx:130
|
||||
msgid "Consider joining us on Guilded:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -534,16 +527,16 @@ msgstr ""
|
|||
|
||||
#: src/components/ArchiveModal.jsx:20
|
||||
msgid ""
|
||||
"While we tend to not delete canvases, some canvases are started for fun or "
|
||||
"as a request by users who currently like a meme. Those canvases can get "
|
||||
"boring after a while and after weeks of no major change and if they really "
|
||||
"aren't worth being kept active, we decide to remove them."
|
||||
"While we tend to not delete canvases, some canvases are started for fun or as a request by "
|
||||
"users who currently like a meme. Those canvases can get boring after a while and after "
|
||||
"weeks of no major change and if they really aren't worth being kept active, we decide "
|
||||
"to remove them."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ArchiveModal.jsx:22
|
||||
msgid ""
|
||||
"Here we collect those canvases to archive them in a proper way (which is "
|
||||
"currently just one)."
|
||||
"Here we collect those canvases to archive them in a proper way (which is currently just "
|
||||
"one)."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ArchiveModal.jsx:24
|
||||
|
@ -552,17 +545,17 @@ msgstr ""
|
|||
|
||||
#: src/components/ArchiveModal.jsx:31
|
||||
msgid ""
|
||||
"This canvas got requested during a time of political conflicts on the main "
|
||||
"Earth canvas. It was a 1024x1024 representation of the political compass "
|
||||
"with a 5s coolodwn and 60s stacking. It got launched on May 11th and "
|
||||
"remained active for months till it got shut down on November 30th."
|
||||
"This canvas got requested during a time of political conflicts on the main Earth canvas. "
|
||||
"It was a 1024x1024 representation of the political compass with a 5s coolodwn and 60s "
|
||||
"stacking. It got launched on May 11th and remained active for months till it got shut down "
|
||||
"on November 30th."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ArchiveModal.jsx:32
|
||||
msgid ""
|
||||
"We decided to archive it as a timelapse with lossless encoded webm. Taking a "
|
||||
"screenshot from the timelapse results in a perfect 1:1 representation of how "
|
||||
"the canvas was at that time."
|
||||
"We decided to archive it as a timelapse with lossless encoded webm. Taking a screenshot "
|
||||
"from the timelapse results in a perfect 1:1 representation of how the canvas was at that "
|
||||
"time."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ArchiveModal.jsx:50
|
||||
|
@ -571,9 +564,8 @@ msgstr ""
|
|||
|
||||
#: src/components/CanvasSelectModal.jsx:29
|
||||
msgid ""
|
||||
"Select the canvas you want to use. Every canvas is unique and has different "
|
||||
"palettes, cooldown and requirements. Archive of closed canvases can be "
|
||||
"accessed here:"
|
||||
"Select the canvas you want to use. Every canvas is unique and has different palettes, "
|
||||
"cooldown and requirements. Archive of closed canvases can be accessed here:"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/CanvasSelectModal.jsx:37
|
||||
|
@ -761,8 +753,8 @@ msgstr ""
|
|||
|
||||
#: src/components/Admintools.jsx:313
|
||||
msgid ""
|
||||
"Set protection of areas (if you need finer grained control, "
|
||||
"use protect with image upload and alpha layers)"
|
||||
"Set protection of areas (if you need finer grained control, use protect "
|
||||
"with image upload and alpha layers)"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/Admintools.jsx:392
|
||||
|
@ -945,8 +937,8 @@ msgstr ""
|
|||
|
||||
#: src/components/ChangeMail.jsx:89
|
||||
msgid ""
|
||||
"Changed Mail successfully. We sent you a verification mail, "
|
||||
"please verify your new mail adress."
|
||||
"Changed Mail successfully. We sent you a verification mail, please verify "
|
||||
"your new mail adress."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ChangeMail.jsx:119
|
||||
|
|
|
@ -422,7 +422,7 @@ msgid ""
|
|||
"This site is protected by hCAPTCHA and its ${ hCaptchaPP } and "
|
||||
"${ hCaptchaTOS } apply."
|
||||
msgstr ""
|
||||
"Ce site est protégé par hCAPTCHA et son ${ hCaptchaPP } et ${ hCaptcha TOS } "
|
||||
"Ce site est protégé par hCAPTCHA et son ${ hCaptchaPP } et ${ hCaptchaTOS } "
|
||||
"s'appliquent."
|
||||
|
||||
#: src/components/HelpModal.jsx:113
|
||||
|
|
1016
i18n/template.pot
1016
i18n/template.pot
File diff suppressed because it is too large
Load Diff
|
@ -1,677 +0,0 @@
|
|||
"Copied!"
|
||||
|
||||
"Error :("
|
||||
|
||||
"Didn't get an answer from pixelplanet. Maybe try to refresh?"
|
||||
|
||||
"OK"
|
||||
|
||||
"Invalid Canvas"
|
||||
|
||||
"This canvas doesn't exist"
|
||||
|
||||
"Invalid Coordinates"
|
||||
|
||||
"x out of bounds"
|
||||
|
||||
"y out of bounds"
|
||||
|
||||
"z out of bounds"
|
||||
|
||||
"Wrong Color"
|
||||
|
||||
"Invalid color selected"
|
||||
|
||||
"Just for registered Users"
|
||||
|
||||
"You have to be logged in to place on this canvas"
|
||||
|
||||
"Place more :)"
|
||||
|
||||
"You can not access this canvas yet. You need to place more pixels"
|
||||
|
||||
"Pixel protected!"
|
||||
|
||||
"No Proxies Allowed :("
|
||||
|
||||
"You are using a Proxy."
|
||||
|
||||
"Weird"
|
||||
|
||||
"Couldn't set Pixel"
|
||||
|
||||
"Error ${ retCode }"
|
||||
|
||||
"Close"
|
||||
|
||||
"Close Menu"
|
||||
|
||||
"Open Menu"
|
||||
|
||||
"Close Chat"
|
||||
|
||||
"Open Chat"
|
||||
|
||||
"Copy to Clipboard"
|
||||
|
||||
"User online"
|
||||
|
||||
"Pixels placed"
|
||||
|
||||
"Canvas Selection"
|
||||
|
||||
"Make Screenshot"
|
||||
|
||||
"User Area"
|
||||
|
||||
"Settings"
|
||||
|
||||
"Help"
|
||||
|
||||
"Channel settings"
|
||||
|
||||
"maximize"
|
||||
|
||||
"Start chatting here"
|
||||
|
||||
"Chat here"
|
||||
|
||||
"You must be logged in to chat"
|
||||
|
||||
"Close Palette"
|
||||
|
||||
"Open Palette"
|
||||
|
||||
"Globe View"
|
||||
|
||||
"Ping"
|
||||
|
||||
"DM"
|
||||
|
||||
"Block"
|
||||
|
||||
"Privacy Policy"
|
||||
|
||||
"Terms of Service"
|
||||
|
||||
"your IP"
|
||||
|
||||
"Place color pixels on a large canvas with other players online!"
|
||||
|
||||
""
|
||||
"Our main canvas is a huge worldmap, you can place wherever you like, but "
|
||||
"you will have to wait a specific Cooldown between pixels. You can check out "
|
||||
"the cooldown and requiremnts on the Canvas Selection menu (globe button on "
|
||||
"top). Some canvases have a different cooldown for replacing a user-set "
|
||||
"pixels than placing on a unset pixel. i.e. 4s/7s means 4s on fresh pixels "
|
||||
"and 7s on already set pixels."
|
||||
|
||||
""
|
||||
"Higher zoomlevels take some time to update, the 3D globe gets updated at "
|
||||
"least once per day."
|
||||
|
||||
"Have fun!"
|
||||
|
||||
"recommended"
|
||||
|
||||
"Source on "
|
||||
|
||||
"Map Data"
|
||||
|
||||
""
|
||||
"The bare map data that we use, together with converted OpenStreetMap tiles "
|
||||
"for orientation, can be downloaded from mega.nz here: "
|
||||
|
||||
"Detected as Proxy?"
|
||||
|
||||
""
|
||||
"If you got detected as proxy, but you are none, please go to our ${ "
|
||||
"guildedLink } or send us an e-mail with ${ getIPLink } to ${ mailLink }. Do "
|
||||
"not post your IP anywhere else. We are sorry for the inconvenience."
|
||||
|
||||
"Controls"
|
||||
|
||||
"Click a color in palette to select it"
|
||||
|
||||
"Press ${ bindG } to toggle grid"
|
||||
|
||||
"Press ${ bindX } to toggle showing of pixel activity"
|
||||
|
||||
"Press ${ bindH } to toggle historical view"
|
||||
|
||||
"Press ${ bindR } to copy coordinates"
|
||||
|
||||
"Press ${ bindQ } or ${ bindE } to zoom"
|
||||
|
||||
"Press ${ bindW }, ${ bindA }, ${ bindS }, ${ bindD } to move"
|
||||
|
||||
"Press ${ bindAUp }, ${ bindALeft }, ${ bindADown }, ${ bindARight } to move"
|
||||
|
||||
"Drag ${ mouseSymbol } mouse or ${ touchSymbol } pan to move"
|
||||
|
||||
"Scroll ${ mouseSymbol } mouse wheel or ${ touchSymbol } pinch to zoom"
|
||||
|
||||
"Hold left ${ bindShift } for placing while moving mouse"
|
||||
|
||||
""
|
||||
"Hold right ${ bindShift } for placing while moving mouse according to "
|
||||
"historical view"
|
||||
|
||||
"${ mouseSymbol } Left click or ${ touchSymbol } tap to place a pixel"
|
||||
|
||||
""
|
||||
"Click ${ mouseSymbol } middle mouse button or ${ touchSymbol } long-tap to "
|
||||
"select current hovering color"
|
||||
|
||||
"Press ${ bindE } and ${ bindC } to fly up and down"
|
||||
|
||||
"${ mouseSymbol } Hold left mouse button and drag mouse to rotate"
|
||||
|
||||
""
|
||||
"${ mouseSymbol } Scroll mouse wheel or hold ${ mouseSymbol } middle mouse "
|
||||
"button and drag to zoom"
|
||||
|
||||
"${ mouseSymbol } Right click and drag mouse to pan"
|
||||
|
||||
""
|
||||
"${ mouseSymbol } Right click or ${ touchSymbol } double-tap to remove a "
|
||||
"pixel"
|
||||
|
||||
"Partners:"
|
||||
|
||||
""
|
||||
"This site is protected by reCAPTCHA and the Google ${ reCaptchaPP } and ${ "
|
||||
"reCaptchaTOS } apply."
|
||||
|
||||
""
|
||||
"This site is protected by hCAPTCHA and its ${ hCaptchaPP } and ${ "
|
||||
"hCaptchaTOS } apply."
|
||||
|
||||
"Welcome to PixelPlanet.fun"
|
||||
|
||||
"Mute"
|
||||
|
||||
"Show Grid"
|
||||
|
||||
"Turn on grid to highlight pixel borders."
|
||||
|
||||
"Show Pixel Activity"
|
||||
|
||||
"Show circles where pixels are placed."
|
||||
|
||||
"Disable Game Sounds"
|
||||
|
||||
"All sound effects will be disabled."
|
||||
|
||||
"Enable chat notifications"
|
||||
|
||||
"Play a sound when new chat messages arrive"
|
||||
|
||||
"Auto Zoom In"
|
||||
|
||||
""
|
||||
"Zoom in instead of placing a pixel when you tap the canvas and your zoom is "
|
||||
"small."
|
||||
|
||||
"Compact Palette"
|
||||
|
||||
"Display Palette in a compact form that takes less screen space."
|
||||
|
||||
"Potato Mode"
|
||||
|
||||
"For when you are playing on a potato."
|
||||
|
||||
"Light Grid"
|
||||
|
||||
"Show Grid in white instead of black."
|
||||
|
||||
"Historical View"
|
||||
|
||||
"Check out past versions of the canvas."
|
||||
|
||||
"Themes"
|
||||
|
||||
"How pixelplanet should look like."
|
||||
|
||||
"Register new account here"
|
||||
|
||||
"Consider joining us on Guilded:"
|
||||
|
||||
"Register New Account"
|
||||
|
||||
"Login to access more features and stats."
|
||||
|
||||
"Login with Name or Mail:"
|
||||
|
||||
"I forgot my Password."
|
||||
|
||||
"or login with:"
|
||||
|
||||
"or register here:"
|
||||
|
||||
"Register"
|
||||
|
||||
"Profile"
|
||||
|
||||
"Ranking"
|
||||
|
||||
"Converter"
|
||||
|
||||
"Admintools"
|
||||
|
||||
"Modtools"
|
||||
|
||||
"Loading..."
|
||||
|
||||
""
|
||||
"While we tend to not delete canvases, some canvases are started for fun or "
|
||||
"as a request by users who currently like a meme. Those canvases can get "
|
||||
"boring after a while and after weeks of no major change and if they really "
|
||||
"aren't worth being kept active, we decide to remove them."
|
||||
|
||||
""
|
||||
"Here we collect those canvases to archive them in a proper way (which is "
|
||||
"currently just one)."
|
||||
|
||||
"Political Compass Canvas"
|
||||
|
||||
""
|
||||
"This canvas got requested during a time of political conflicts on the main "
|
||||
"Earth canvas. It was a 1024x1024 representation of the political compass "
|
||||
"with a 5s coolodwn and 60s stacking. It got launched on May 11th and "
|
||||
"remained active for months till it got shut down on November 30th."
|
||||
|
||||
""
|
||||
"We decided to archive it as a timelapse with lossless encoded webm. Taking "
|
||||
"a screenshot from the timelapse results in a perfect 1:1 representation of "
|
||||
"how the canvas was at that time."
|
||||
|
||||
"Canvas Archive"
|
||||
|
||||
""
|
||||
"Select the canvas you want to use. Every canvas is unique and has different "
|
||||
"palettes, cooldown and requirements. Archive of closed canvases can be "
|
||||
"accessed here:"
|
||||
|
||||
"Archive"
|
||||
|
||||
"Enter your mail adress and we will send you a new password:"
|
||||
|
||||
"Restore my Password"
|
||||
|
||||
"Chat"
|
||||
|
||||
"Error"
|
||||
|
||||
"Name or Email"
|
||||
|
||||
"Password"
|
||||
|
||||
"LogIn"
|
||||
|
||||
"Todays Placed Pixels"
|
||||
|
||||
"Daily Rank"
|
||||
|
||||
"Placed Pixels"
|
||||
|
||||
"Total Rank"
|
||||
|
||||
"Your name is: ${ name }"
|
||||
|
||||
"Log out"
|
||||
|
||||
"Change Username"
|
||||
|
||||
"Change Mail"
|
||||
|
||||
"Change Password"
|
||||
|
||||
"Delete Account"
|
||||
|
||||
"Social Settings"
|
||||
|
||||
"Total"
|
||||
|
||||
"Daily"
|
||||
|
||||
"Ranking updates every 5 min. Daily rankings get reset at midnight UTC."
|
||||
|
||||
"Cooldown"
|
||||
|
||||
"Stacking till"
|
||||
|
||||
"Ranked"
|
||||
|
||||
"Requirements"
|
||||
|
||||
"User Account"
|
||||
|
||||
"and ${ canvas.req } Pixels set"
|
||||
|
||||
"Dimensions"
|
||||
|
||||
"Sent you a mail with instructions to reset your password."
|
||||
|
||||
"Email"
|
||||
|
||||
"Submit"
|
||||
|
||||
"Cancel"
|
||||
|
||||
"Name"
|
||||
|
||||
"Confirm Password"
|
||||
|
||||
"Build image on canvas."
|
||||
|
||||
"Build image and set it to protected."
|
||||
|
||||
"Build image, but reset cooldown to unset-pixel cd."
|
||||
|
||||
"Image Upload"
|
||||
|
||||
"Upload images to canvas"
|
||||
|
||||
"File"
|
||||
|
||||
"Coordinates in X_Y format:"
|
||||
|
||||
"Pixel Protection"
|
||||
|
||||
""
|
||||
"Set protection of areas (if you need finer grained control, "
|
||||
"use protect with image upload and alpha layers)"
|
||||
|
||||
"Rollback to Date"
|
||||
|
||||
"Rollback an area of the canvas to a set date (00:00 UTC)"
|
||||
|
||||
"IP Actions"
|
||||
|
||||
"Do stuff with IPs (one IP per line)"
|
||||
|
||||
"Manage Moderators"
|
||||
|
||||
"Remove Moderator"
|
||||
|
||||
"There are no mods"
|
||||
|
||||
"Assign new Mod"
|
||||
|
||||
"Enter UserName of new Mod"
|
||||
|
||||
"User Name"
|
||||
|
||||
"Choose Canvas"
|
||||
|
||||
"Palette Download"
|
||||
|
||||
"Palette for ${ gimpLink }"
|
||||
|
||||
"Credit for the Palette of the Moon goes to ${ starhouseLink }."
|
||||
|
||||
"Image Converter"
|
||||
|
||||
"Convert an image to canvas colors"
|
||||
|
||||
"Choose Strategy"
|
||||
|
||||
"Choose Color Mode"
|
||||
|
||||
"Add Grid (uncheck if you need a 1:1 template)"
|
||||
|
||||
"Offset"
|
||||
|
||||
"Scale Image"
|
||||
|
||||
"Width"
|
||||
|
||||
"Height"
|
||||
|
||||
"Keep Ratio"
|
||||
|
||||
"Anti Aliasing"
|
||||
|
||||
"Reset"
|
||||
|
||||
"Download Template"
|
||||
|
||||
"Email can't be empty."
|
||||
|
||||
"Email should be at least 5 characters long."
|
||||
|
||||
"Email can't be longer than 40 characters."
|
||||
|
||||
"Email should at least contain a dot"
|
||||
|
||||
"Email should contain a @"
|
||||
|
||||
"Name can't be empty."
|
||||
|
||||
"Name must be at least 4 characters long"
|
||||
|
||||
"Name must be shorter than 26 characters"
|
||||
|
||||
"Name contains invalid character like @, /, \\ or #"
|
||||
|
||||
"No password given."
|
||||
|
||||
"Password must be at least 6 characters long."
|
||||
|
||||
"Password must be shorter than 60 characters."
|
||||
|
||||
"Could not connect to server, please try again later :("
|
||||
|
||||
"I think we experienced some error :("
|
||||
|
||||
"Block all Private Messages"
|
||||
|
||||
"Unblock Users"
|
||||
|
||||
"You have no users blocked"
|
||||
|
||||
""
|
||||
"Changed Mail successfully. We sent you a verification mail, "
|
||||
"please verify your new mail adress."
|
||||
|
||||
"New Mail"
|
||||
|
||||
"Save"
|
||||
|
||||
"Passwords do not match."
|
||||
|
||||
"Changed Password successfully."
|
||||
|
||||
"Old Password"
|
||||
|
||||
"New Password"
|
||||
|
||||
"Confirm New Password"
|
||||
|
||||
"Yes, Delete My Account!"
|
||||
|
||||
"A new verification mail is getting sent to you."
|
||||
|
||||
"You successfully linked your mc account."
|
||||
|
||||
"You denied."
|
||||
|
||||
""
|
||||
"Please verify your mail address \n"
|
||||
"or your account could get deleted after a few days."
|
||||
|
||||
"Click here to request a new verification mail."
|
||||
|
||||
"You requested to link your mc account ${ minecraftname }."
|
||||
|
||||
"Accept"
|
||||
|
||||
"Deny"
|
||||
|
||||
"New Username"
|
||||
|
||||
"Place color pixels on an map styled canvas with other players online"
|
||||
|
||||
"Double click on globe to go back."
|
||||
|
||||
"Loading..."
|
||||
|
||||
"PixelPlanet.Fun 3DGlobe"
|
||||
|
||||
"A 3D globe of our whole map"
|
||||
|
||||
"You sent an empty password or invalid data :("
|
||||
|
||||
"This password-reset link isn't valid anymore :("
|
||||
|
||||
"Your passwords do not match :("
|
||||
|
||||
"User doesn't exist in our database :("
|
||||
|
||||
"Passowrd successfully changed."
|
||||
|
||||
"Invalid url :( Please check your mail again."
|
||||
|
||||
"This passwort reset link is wrong or already expired, please request a new "
|
||||
"one (Note: you can use those links just once)"
|
||||
|
||||
""
|
||||
"We already sent you a verification mail, you can request another one in ${ "
|
||||
"minLeft } minutes."
|
||||
|
||||
"Welcome ${ name } to PixelPlanet, plese verify your mail"
|
||||
|
||||
"Hello ${ name }"
|
||||
|
||||
""
|
||||
"welcome to our little community of pixelplacers, to use your account, you "
|
||||
"have to verify your mail. You can do that here: "
|
||||
|
||||
"Click to Verify"
|
||||
|
||||
"Or by copying following url:"
|
||||
|
||||
"Have fun and don't hesitate to contact us if you encouter any problems :)"
|
||||
|
||||
"Thanks"
|
||||
|
||||
""
|
||||
"We already sent you a mail with instructions. Please wait before requesting "
|
||||
"another mail."
|
||||
|
||||
"Couldn't find this mail in our database"
|
||||
|
||||
"You forgot your password for PixelPlanet? Get a new one here"
|
||||
|
||||
"Hello"
|
||||
|
||||
""
|
||||
"You requested to get a new password. You can change your password within "
|
||||
"the next 30min here: "
|
||||
|
||||
"Reset Password"
|
||||
|
||||
""
|
||||
"If you did not request this mail, please just ignore it (the ip that "
|
||||
"requested this mail was ${ ip })."
|
||||
|
||||
"Click here"
|
||||
|
||||
"to go back to pixelplanet"
|
||||
|
||||
"Hello ${ name }, you can set your new password here:"
|
||||
|
||||
"New Password"
|
||||
|
||||
"Confirm New Password"
|
||||
|
||||
"Submit"
|
||||
|
||||
"PixelPlanet.fun Password Reset"
|
||||
|
||||
"Reset your password here"
|
||||
|
||||
"Email can't be empty."
|
||||
|
||||
"Email should be at least 5 characters long."
|
||||
|
||||
"Email can't be longer than 40 characters."
|
||||
|
||||
"Email should at least contain a dot"
|
||||
|
||||
"Email should contain a @"
|
||||
|
||||
"Name can't be empty."
|
||||
|
||||
"Name must be at least 4 characters long"
|
||||
|
||||
"Name must be shorter than 26 characters"
|
||||
|
||||
"Name contains invalid character like @, /, \\ or #"
|
||||
|
||||
"No password given."
|
||||
|
||||
"Password must be at least 6 characters long."
|
||||
|
||||
"Password must be shorter than 60 characters."
|
||||
|
||||
"Could not connect to server, please try again later :("
|
||||
|
||||
"I think we experienced some error :("
|
||||
|
||||
"You are not authenticated."
|
||||
|
||||
"Incorrect password!"
|
||||
|
||||
"You are not even logged in."
|
||||
|
||||
"Mail verification"
|
||||
|
||||
"You are now verified :)"
|
||||
|
||||
""
|
||||
"Your mail verification code is invalid or already expired :(, please "
|
||||
"request a new one."
|
||||
|
||||
"E-Mail already in use."
|
||||
|
||||
"Username already in use."
|
||||
|
||||
"Failed to create new user :("
|
||||
|
||||
"Failed to establish session after register :("
|
||||
|
||||
"You will be automatically redirected after 15s"
|
||||
|
||||
"Or ${ clickHere } to go back to pixelplanet"
|
||||
|
||||
"PixelPlanet.fun Accounts"
|
||||
|
||||
"Earth"
|
||||
|
||||
"Moon"
|
||||
|
||||
"3D Canvas"
|
||||
|
||||
"Coronavirus"
|
||||
|
||||
"PixelZone"
|
||||
|
||||
"PixelCanvas"
|
||||
|
||||
"1bit"
|
||||
|
||||
"Our main canvas, a huge map of the world. Place everywhere you like"
|
||||
|
||||
"Moon canvas. Safe space for art. No flags or large text (unless part of art)"
|
||||
|
||||
"Place Voxels on a 3D canvas with others"
|
||||
|
||||
"Special canvas to spread awareness of SARS-CoV2"
|
||||
|
||||
"Mirror of PixelZone"
|
||||
|
||||
"Mirror of PixelCanvas"
|
||||
|
||||
"Black and White canvas"
|
|
@ -12,6 +12,7 @@
|
|||
"build": "babel-node scripts/run prebuild && npm run webpack",
|
||||
"clean": "babel-node scripts/run clean",
|
||||
"webpack": "webpack --config ./webpack.config.web.babel.js && parallel-webpack --config ./webpack.config.client.babel.js",
|
||||
"extract": "webpack --env extract --config ./webpack.config.web.babel.js && webpack --env extract --config ./webpack.config.client.babel.js",
|
||||
"babel-node": "cd $INIT_CWD && babel-node",
|
||||
"lint": "cd $INIT_CWD && eslint --ext .jsx --ext .js",
|
||||
"lint:src": "eslint --ext .jsx --ext .js src",
|
||||
|
|
|
@ -87,8 +87,6 @@ export const CHAT_CHANNELS = [
|
|||
name: 'en',
|
||||
}, {
|
||||
name: 'int',
|
||||
}, {
|
||||
name: 'pol',
|
||||
}, {
|
||||
name: 'art',
|
||||
},
|
||||
|
|
|
@ -21,7 +21,12 @@ const assetPlugin = new AssetsPlugin({
|
|||
});
|
||||
|
||||
|
||||
export function buildWebpackClientConfig(development, analyze, locale) {
|
||||
export function buildWebpackClientConfig(
|
||||
development,
|
||||
analyze,
|
||||
locale,
|
||||
extract,
|
||||
) {
|
||||
const ttag = {
|
||||
resolve: {
|
||||
translations: (locale !== 'default')
|
||||
|
@ -30,10 +35,10 @@ export function buildWebpackClientConfig(development, analyze, locale) {
|
|||
},
|
||||
};
|
||||
|
||||
if (locale === 'default') {
|
||||
if (extract) {
|
||||
ttag.extract = {
|
||||
output: path.resolve(__dirname, 'i18n', 'template.pot'),
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const babelPlugins = [
|
||||
|
@ -117,7 +122,7 @@ export function buildWebpackClientConfig(development, analyze, locale) {
|
|||
path.resolve(__dirname, 'src'),
|
||||
],
|
||||
options: {
|
||||
cacheDirectory: true,
|
||||
cacheDirectory: !extract,
|
||||
babelrc: false,
|
||||
presets: [
|
||||
['@babel/preset-env', {
|
||||
|
@ -199,7 +204,10 @@ export function buildWebpackClientConfig(development, analyze, locale) {
|
|||
},
|
||||
|
||||
/*
|
||||
* this does not much tbqh
|
||||
* maybe some day in the future it might be
|
||||
* better than babel-loader cacheDirectory,
|
||||
* but right now it isn't
|
||||
*
|
||||
cache: {
|
||||
type: 'filesystem',
|
||||
cacheDirectory: path.resolve(
|
||||
|
@ -218,7 +226,7 @@ export function buildWebpackClientConfig(development, analyze, locale) {
|
|||
*/
|
||||
function buildWebpackClientConfigAllLangs(development, analyze) {
|
||||
let webpackConfigClient = [
|
||||
buildWebpackClientConfig(development, analyze, 'default'),
|
||||
buildWebpackClientConfig(development, analyze, 'default', false),
|
||||
];
|
||||
/*
|
||||
* get available translations
|
||||
|
@ -234,7 +242,13 @@ function buildWebpackClientConfigAllLangs(development, analyze) {
|
|||
return webpackConfigClient;
|
||||
}
|
||||
|
||||
export default buildWebpackClientConfigAllLangs(
|
||||
process.argv.includes('--debug'),
|
||||
process.argv.includes('--analyse') || process.argv.includes('--analyze'),
|
||||
);
|
||||
export default ({
|
||||
debug, analyze, extract, locale,
|
||||
}) => {
|
||||
if (extract || locale) {
|
||||
return buildWebpackClientConfig(
|
||||
debug, analyze, locale || 'default', extract,
|
||||
);
|
||||
}
|
||||
return buildWebpackClientConfigAllLangs(debug, analyze);
|
||||
};
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
*/
|
||||
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import webpack from 'webpack';
|
||||
import nodeExternals from 'webpack-node-externals';
|
||||
import GeneratePackageJsonPlugin from 'generate-package-json-webpack-plugin';
|
||||
|
@ -10,18 +9,6 @@ import GeneratePackageJsonPlugin from 'generate-package-json-webpack-plugin';
|
|||
import patch from './scripts/patch';
|
||||
import pkg from './package.json';
|
||||
|
||||
const isDebug = process.argv.includes('--debug');
|
||||
|
||||
/*
|
||||
* check which ssr translations are available
|
||||
* Maybe we will use thi later to auto-populat src/core/ttag.js
|
||||
*
|
||||
const langDir = path.resolve(__dirname, 'i18n');
|
||||
const langs = fs.readdirSync(langDir)
|
||||
.filter((e) => (e.endsWith('.po') && e.startsWith('ssr')));
|
||||
fs.writeFileSync(path.resolve(langDir, 'ssr-list.json'), JSON.stringify(langs));
|
||||
*/
|
||||
|
||||
patch();
|
||||
|
||||
const basePackageValues = {
|
||||
|
@ -37,6 +24,8 @@ const basePackageValues = {
|
|||
},
|
||||
};
|
||||
|
||||
const ttag = {};
|
||||
|
||||
const babelPlugins = [
|
||||
'@babel/transform-flow-strip-types',
|
||||
['@babel/plugin-proposal-decorators', { legacy: true }],
|
||||
|
@ -51,116 +40,122 @@ const babelPlugins = [
|
|||
'@babel/transform-react-inline-elements',
|
||||
'transform-react-remove-prop-types',
|
||||
'transform-react-pure-class-to-function',
|
||||
['ttag', {
|
||||
extract: {
|
||||
output: path.resolve(__dirname, 'i18n', 'template-ssr.pot'),
|
||||
},
|
||||
discover: ['t', 'jt'],
|
||||
}],
|
||||
['ttag', ttag],
|
||||
];
|
||||
|
||||
|
||||
export default {
|
||||
name: 'web',
|
||||
target: 'node',
|
||||
export default ({
|
||||
debug, extract,
|
||||
}) => {
|
||||
if (extract) {
|
||||
ttag.extract = {
|
||||
output: path.resolve(__dirname, 'i18n', 'template-ssr.pot'),
|
||||
};
|
||||
ttag.discover = ['t', 'jt'];
|
||||
}
|
||||
|
||||
context: __dirname,
|
||||
mode: (isDebug) ? 'development' : 'production',
|
||||
return {
|
||||
name: 'web',
|
||||
target: 'node',
|
||||
|
||||
entry: {
|
||||
web: [path.resolve(__dirname, 'src', 'web.js')],
|
||||
backup: [path.resolve(__dirname, 'src', 'backup.js')],
|
||||
},
|
||||
context: __dirname,
|
||||
mode: (debug) ? 'development' : 'production',
|
||||
|
||||
output: {
|
||||
path: path.resolve(__dirname, 'build'),
|
||||
libraryTarget: 'commonjs2',
|
||||
},
|
||||
entry: {
|
||||
web: [path.resolve(__dirname, 'src', 'web.js')],
|
||||
backup: [path.resolve(__dirname, 'src', 'backup.js')],
|
||||
},
|
||||
|
||||
resolve: {
|
||||
extensions: ['.js', '.jsx', '.json', '.ts', '.tsx'],
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, 'build'),
|
||||
libraryTarget: 'commonjs2',
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.(js|jsx|ts|tsx)$/,
|
||||
loader: 'babel-loader',
|
||||
include: [
|
||||
path.resolve(__dirname, 'src'),
|
||||
],
|
||||
options: {
|
||||
cacheDirectory: isDebug,
|
||||
resolve: {
|
||||
extensions: ['.js', '.jsx', '.json', '.ts', '.tsx'],
|
||||
},
|
||||
|
||||
babelrc: false,
|
||||
presets: [
|
||||
['@babel/preset-env', {
|
||||
targets: {
|
||||
node: pkg.engines.node.replace(/^\D+/g, ''),
|
||||
},
|
||||
modules: false,
|
||||
useBuiltIns: false,
|
||||
debug: false,
|
||||
}],
|
||||
'@babel/typescript',
|
||||
'@babel/react',
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.(js|jsx|ts|tsx)$/,
|
||||
loader: 'babel-loader',
|
||||
include: [
|
||||
path.resolve(__dirname, 'src'),
|
||||
],
|
||||
plugins: babelPlugins,
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /\.css/,
|
||||
use: [
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
importLoaders: 1,
|
||||
sourceMap: false,
|
||||
modules: false,
|
||||
},
|
||||
options: {
|
||||
cacheDirectory: false,
|
||||
|
||||
babelrc: false,
|
||||
presets: [
|
||||
['@babel/preset-env', {
|
||||
targets: {
|
||||
node: pkg.engines.node.replace(/^\D+/g, ''),
|
||||
},
|
||||
modules: false,
|
||||
useBuiltIns: false,
|
||||
debug: false,
|
||||
}],
|
||||
'@babel/typescript',
|
||||
'@babel/react',
|
||||
],
|
||||
plugins: babelPlugins,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
test: [/\.po$/],
|
||||
loader: 'ttag-po-loader',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
externals: [
|
||||
/\/proxies\.json$/,
|
||||
/\/canvases\.json$/,
|
||||
/^\.\/styleassets\.json$/,
|
||||
/^\.\/assets\.json$/,
|
||||
nodeExternals(),
|
||||
],
|
||||
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.NODE_ENV': isDebug ? '"development"' : '"production"',
|
||||
'process.env.BROWSER': false,
|
||||
}),
|
||||
// create package.json for deployment
|
||||
new GeneratePackageJsonPlugin(basePackageValues, {
|
||||
sourcePackageFilenames: [
|
||||
path.resolve(__dirname, 'package.json'),
|
||||
},
|
||||
{
|
||||
test: /\.css/,
|
||||
use: [
|
||||
{
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
importLoaders: 1,
|
||||
sourceMap: false,
|
||||
modules: false,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
test: [/\.po$/],
|
||||
loader: 'ttag-po-loader',
|
||||
},
|
||||
],
|
||||
}),
|
||||
],
|
||||
},
|
||||
|
||||
stats: {
|
||||
colors: true,
|
||||
reasons: false,
|
||||
hash: false,
|
||||
version: false,
|
||||
timings: true,
|
||||
chunkModules: false,
|
||||
},
|
||||
externals: [
|
||||
/\/proxies\.json$/,
|
||||
/\/canvases\.json$/,
|
||||
/^\.\/styleassets\.json$/,
|
||||
/^\.\/assets\.json$/,
|
||||
nodeExternals(),
|
||||
],
|
||||
|
||||
node: {
|
||||
global: false,
|
||||
__filename: false,
|
||||
__dirname: false,
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.NODE_ENV': debug ? '"development"' : '"production"',
|
||||
'process.env.BROWSER': false,
|
||||
}),
|
||||
// create package.json for deployment
|
||||
new GeneratePackageJsonPlugin(basePackageValues, {
|
||||
sourcePackageFilenames: [
|
||||
path.resolve(__dirname, 'package.json'),
|
||||
],
|
||||
}),
|
||||
],
|
||||
|
||||
stats: {
|
||||
colors: true,
|
||||
reasons: false,
|
||||
hash: false,
|
||||
version: false,
|
||||
timings: true,
|
||||
chunkModules: false,
|
||||
},
|
||||
|
||||
node: {
|
||||
global: false,
|
||||
__filename: false,
|
||||
__dirname: false,
|
||||
},
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user