GithubHelp home page GithubHelp logo

teamdeeson / d8-quickstart Goto Github PK

View Code? Open in Web Editor NEW
17.0 17.0 16.0 3.02 MB

This repository provides a quick-start wrapper around Drupal Composer and includes common configuration and recommended modules for Deeson Drupal 8 projects.

Makefile 7.30% PHP 77.53% Gherkin 0.67% Shell 4.06% HTML 1.91% JavaScript 8.50% CSS 0.03%

d8-quickstart's People

Contributors

angry-dan avatar ben-tpximpact avatar johnennewdeeson avatar jordanclaguedeeson avatar kristiaanvandeneynde avatar legolasbo avatar markpdeeson avatar martindeeson avatar mikeddeeson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

d8-quickstart's Issues

Update nginx images to latest

We need to periodically update the image references to the latest Wobdy ones. The nginx ones in the docker-compose.yml file are presently out of date and have an issue where you can't write to the file system with it.

Add redirects settings include

Description

Modifications to the .htaccess file should be minimised as much as possible, and nginx-based hosting does not support it.

This would provide a default settings include for defining site / domain redirects.

Restructure settings.php

Restructure settings.php so that it does not need to be edited, to avoid Drupal permissions issues.

Move domain and environment configuration to a separate, included environment.inc

some drush commands don't work with docker

Current approach of using the 'php' option in the drush alias file to specify a passthrough script isn't working for all commands.

e.g. drush @docker status works whereas drush @docker uli does not work

It seems that local drush is making decisions about wether the command can be run and trying to access the db before its passed over to the passthrough script.

Not sure what the best solution is. I've created a script at ./scripts/drush which means locally I can run all drush commands on docker like this

$> ../scripts/drush @docker uli

which works for me. This script looks like this:

#!/bin/bash
docker-compose exec --user 82 php ./vendor/bin/drush --root=./docroot "${@:1}"

Proposal: provide a default test-suite

Description

This is a proposal to provide a test-suite with the quickstart project which validates the expected functionality provided by this project.

Proposal: restructure project root

Description

This is a proposal to restructure some of the folders in the project root to make the codebase clearer and easier to work with.

Suggested new directory structure:

-src/
|--- modules/
|--- settings/
|--- themes/

There is also a question of whether the services directory should be moved, and if so into the src directory, or config (or elsewhere.)

Docker

Wouldn't everything be better if Docker was in here?

Populate the contents of .env automatically during site setup

Remove a step from the initial setup by populating the contents of .env file based on what the user typed in for the project name.

I think that any punctuation needs to be stripped from the project name before its inserted into the .env file as this needs to match what docker decides to call the project (which it gets from the name of the folder its installed into.)

make install fails due to missing default.settings.php file

Hi,

Having created a new project and run make followed by make install I get the following error when trying to install Drupal:

exception 'Drupal\Core\Installer\Exception\InstallerException' with message 'Default settings file: The default settings file does not exist.                           [error]

The Drupal installer requires that the <em class="placeholder">./sites/default/default.settings.php</em> file not be modified in any way from the original download.' in
/var/www/vhosts/d8-t1.dev/web/core/includes/install.core.inc:2168
Stack trace:
#0 /var/www/vhosts/d8-t1.dev/web/core/includes/install.core.inc(1026): install_display_requirements(Array, Array)
#1 /var/www/vhosts/d8-t1.dev/web/core/includes/install.core.inc(660): install_verify_requirements(Array)
#2 /var/www/vhosts/d8-t1.dev/web/core/includes/install.core.inc(538): install_run_task(Array, Array)
#3 /var/www/vhosts/d8-t1.dev/web/core/includes/install.core.inc(115): install_run_tasks(Array)
#4 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/includes/drush.inc(726): install_drupal(Object(Composer\Autoload\ClassLoader), Array)
#5 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/includes/drush.inc(711): drush_call_user_func_array('install_drupal', Array)
#6 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/commands/core/drupal/site_install.inc(80): drush_op('install_drupal', Object(Composer\Autoload\ClassLoader), Array)
#7 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/commands/core/site_install.drush.inc(249): drush_core_site_install_version(NULL, Array)
#8 [internal function]: drush_core_site_install()
#9 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/includes/command.inc(422): call_user_func_array('drush_core_site...', Array)
#10 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/includes/command.inc(231): _drush_invoke_hooks(Array, Array)
#11 [internal function]: drush_command()
#12 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/includes/command.inc(199): call_user_func_array('drush_command', Array)
#13 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array)
#14 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#15 /var/www/vhosts/d8-t1.dev/vendor/drush/drush/drush.php(12): drush_main()
#16 {main}

Having had a look it seems that having the line "omit-defaults": true in the composer.json file means that this default file doesn't get downloaded.

Thanks
Mike

The composer install method points to commit which errors on Make

The composer install method grabs commit 3d0b21f from the repo, but errors during make

Done in 178.81s.
./scripts/make/build.sh
yarn run v1.6.0
warning package.json: No license field
$ ./node_modules/.bin/webpack -p
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration has an unknown property 'mode'. These properties are valid:
   object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry, externals?, loader?, module?, name?, node?, output?, parallelism?, performance?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
   For typos: please correct them.
   For loader options: webpack 2 no longer allows custom properties in configuration.
     Loaders should be updated to allow passing options via loader options in module.rules.
     Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:
     plugins: [
       new webpack.LoaderOptionsPlugin({
         // test: /\.xxx$/, // may apply this only for some modules
         options: {
           mode: ...
         }
       })
     ]
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
make: *** [build] Error 1

This is probably due to the upgrade to teamdeeson/deeson-webpack-config to webpack 4.

Suggest updating the composer install method to a later commit.

Phase out VDD configuration

As part of the install process could the DeesonScriptHandler ask for the 'project name' and then automatically replace 'PROJECT' with that name in the relevant files (e.g. src/settings/settings.php)?

Also could it create the correct drush alias file (drush/sites.aliases.drushrc.php) from the example one?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.